您的位置:首页 > 编程语言 > Java开发

在eclipse中开发struts2应用

2008-02-29 13:56 225 查看
转自李刚的<struts2权威指南>



下面开始在Eclipse中整合Tomcat服务器,实际上,如果我们安装了MyEclipse插件,我们可以在Eclipse中整合大部分的Java EE服务器(包括Web服务器)。但如果我们不安装任何插件,Eclipse则很难与任何Java EE服务器整合。


提示:Eclipse必须安装了相应插件后才具有丰富的功能。为了开发Java EE应用,通常都推荐安装MyEclipse插件,该插件是一个商业产品,必须支付相应费用才可使用。
为了在Eclipse中整合Tomcat服务器,请按如下步骤进行。
(1)单击Eclipse窗口里的“Window”菜单,出现“Window”菜单里包含的系列菜单项,单击该菜单里的“Preferences”菜单项,将弹出如图3.7所示的界面。

图3.7 Eclipse的Preferences设置窗口
该Preferences设置窗口是Eclipse大部分参数的设置窗口,该窗口还可设置Eclipse插件的相关属性。MyEclipse插件的相关属性就是在该窗口里设置的,而整合Java EE服务器只是MyEclipse插件的相关属性。
(2)单击图3.7所示窗口左边导航树的MyEclipse节点,然后单击MyEclipse节点下的Application Servers子节点,看到如图3.8所示的界面。

图3.8 在Eclipse中整合应用服务器
(3)拖动图3.8所示的窗口左边的垂直滚动条,我们可以发现大部分应用服务器的名字,例如JBoss,Jetty,Resin等,当然也可以发现我们需要使用的Tomcat节点,然后我们单击Tomcat5节点,见出现如图3.9所示的界面。

图3.9 整合Tomcat5
(4)在图3.9右上方看到两个单选框:Enable和Disable,为了整合Tomcat,显然应该选中Enable单选框。选中该单选框后,还应该在下面的三个文本输入框内输入相应的地址:例如Tomcat Home Directory里应该输入Tomcat的安装路径,笔者的Tomcat安装在D盘的tomcat5520路径下,故在该文本框内输入了D:/tomcat5520的内容。通常,一旦我们输入了正确的Tomcat安装路径,下面的两个文本框会自动输入,无需用户干预。
(5)单击图3.9所示窗口右下方的“OK”按钮,返回Eclipse主界面,Eclipse和Tomcat的整合成功。
下面介绍如何在Eclipse中建立一个Web应用,在Eclipse中建立一个Web应用也可借助于MyEclipse的帮助。借助于MyEclipse建立Web应用按如下步骤进行。
(1)单击Eclipse主界面的“File”菜单,在出现的菜单中单击“New”菜单项,该New菜单还有二级菜单,在New 菜单项的二级菜单中单击“Other...”菜单项,将弹出一个如图3.10所示的对话框。

图3.10 新建Web应用的对话框
(2)在如图3.10所示的对话框中,选中“Web Project”节点,表明将要创建一个Web应用,然后单击“Next”按钮,看到如图3.11所示的对话框。

图3.11 新建Web应用
(3)在如图3.11所示对话框的Project Name文本框中输入应用的名字,本应用使用Struts2Demo作为应用的名字,输入完成后可看到如图3.11所示的对话框。单击“Finish”按钮,新建Web应用成功。

3.3.2 增加Struts2支持

为了让Web应用增加Struts2支持,必须将Struts2框架的核心类库增加到Web应用中。将Struts2框架下lib路径下的struts2-core-2.0.6.jar、xwork-2.0.1.jar等Struts2框架的核心类库复制到Web应用的lib路径下,也就是%workspace%Struts2Demo/WebRoot/WEB-INF/lib路径下。
返回Eclipse的主界面,在Eclipse主界面的左上角资源导航中看到了Struts2Demo节点,选中该节点,并单击键盘上的F5键,将看到Eclipse主界面左上角资源导航中出现如图3.12所示的界面。

图3.12 添加了Struts2类库
看到如图3.12所示的界面,表明该Web应用已经加入了Struts2的核心类库,但还需要修改web.xml文件,让该文件负责加载Struts2框架。
在如图3.12所示的导航树中,单击“WEB-INF”节点前的加号,展开该节点,看到该节点下包含的web.xml文件子节点。
单击web.xml文件节点,编辑该文件,编辑该文件没有丝毫特殊之处,同样是在web.xml文件中定义Struts2的核心Filter,并定义该Filter所拦截的URL 模式。至此,该Web应用完全具备了Struts2框架的支持。

3.3.3 部署Struts2应用

本应用的功能将非常类似于第二章所介绍的Struts2应用,因此本节所使用的JSP页面与第二章所使用的JSP页面也非常类似,故此处不再给出这些JSP页面的代码。
在Eclipse中添加JSP页面也是很简单的,此处不再赘述。
建立了这些JSP页面后,单击Eclipse主界面上部署Web应用的工具按钮,部署Web应用的运行应用服务器的两个按钮如图3.13所示。

图3.13 Eclipse中部署Web应用和启动服务器的按钮
在Eclipse中部署Web应用请按如下步骤进行。
(1)单击部署Web应用的按钮将看到弹出如图3.14所示的对话框。

图3.14 部署Web应用的对话框
(2)在如图3.14所示的对话框的上面看到选择项目的下拉列表,选中需要部署的Web应用,例如本示例就是Struts2Demo。单击右边的“Add”按钮,该按钮用于添加想要部署到的Web服务器,单击“Add”按钮后看到如图3.15所示的对话框。

图3.15 部署到应用服务器
(3)在如图3.15的对话框上面的Server下拉列表中选中Tomcat5选项,即对应于如图3.15所示界面。选中后单击“Finish”按钮,返回如图3.14所示的对话框,单击如图3.14所示对话框中的“OK”按钮,Web应用部署成功。
(4)Web应用部署成功后,单击如图3.13所示工具条中的“启动服务器”按钮旁的小三角,出现下拉菜单,将光标移动到下拉菜单中的Tomcat5菜单项,将出现该菜单项下的二级菜单。即看到如图3.16所示的界面。

图3.16 启动服务器
(5)单击如图3.16所示的菜单的Start菜单项,启动Tomcat服务器。然后在浏览器中访问刚才的Struts2Demo应用,将可看到本应用登陆页面。以Tomcat的端口为8888为例,应该在浏览器中访问如下地址:http://localhost:8888/Struts2Demo/login.jsp,将看到如图3.17所示的界面。

图3.17 部署成功后的登陆界面
在图3.17 中看到该登陆页面的文本框没有任何提示信息,按钮上也没有文本,这是因为本应用缺少国际化资源文件。增加该应用所需的国际化资源文件,该资源文件与前面应用的资源文件相同,此处不再给出。
为了让Struts2应用加载该国际化资源文件,还应该使用struts.properties文件,该文件内指定一行如下代码:
#指定Struts2的国际化资源文件的baseName为messageResource。
struts.custom.i18n.resources=messageResource
至此,Struts2应用已经获得了国际化支持。如果在浏览器中再次浏览该页面,将看到如图3.18所示的界面。

图3.18 增加了国际化资源文件后的登陆页面

3.3.4 增加应用的Action

在Eclipse工具中新建一个Java类,该Java类的类名为LoginAction,其代码与第二章的所使用的LoginAction类代码相同,将该类文件保存在Struts2Demo应用的src路径下lee目录下。
新建一个Java文件的方法非常简单,此处不再赘述。本应用的Action类的代码与第二章的Action类完全一样,此处也不再给出。
增加了Struts2的Action类后,还需要增加对应的配置文件,增加配置文件也是通过单击Eclipse的“File”菜单,然后单击该菜单里的“New”菜单项,再单击“New”菜单的二级菜单下包含的“File”菜单项。
提示:因为Eclipse暂时还没有专门的Struts2插件,因此只能用最原始的方式来建立一个Struts2的配置文件。等到专门的Struts2插件被开发出来后,应该可以有更简单的方法来建立Struts2的配置文件。
建立该文件后,为该文件增加Struts2的Action定义,定义该Action与前面介绍的基本一致,需要定义Action的name属性,class等属性。增加Action定义后的struts.xml文件代码如下:
<?xml version="1.0" encoding="GBK"?>
<!-- 指定Struts2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<!-- 指定Struts2配置文件的根元素 -->
<struts>
<!-- 所有的Action定义都应该放在package下 -->
<package name="lee" extends="struts-default">
<!-- 定义Action -->
<action name="Login" class="lee.LoginAction">
<!-- 定义三个逻辑视图和物理资源之间的映射 -->
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
至此,整个Struts2应用完全建立成功,如果读者还需要增加数据校验,则可增加对应的校验文件,并将该文件放在与对应Action源文件的同一路径下即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: