17xie > Struts 2权威指南 > 3.3 在Eclipse中开发Struts 2
背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-100726.html    注册17xie 一起来写书 实现您的出书梦想!

3.3  在Eclipse中开发Struts 2

前面已经详细介绍了如何开发一个Struts 2应用,但没有使用任何IDE工具,那种开发方式虽然能让读者更清楚开发的细节,但对于开发效率却不如使用IDE工具的开发效率高。本节将以Eclipse为例,介绍如何在IDE工具中开发Struts 2应用。

3.3.1  创建Web应用

笔者所使用的Eclipse已经安装了MyEclipse插件,因此可以很方便地建立一个Web应用,并将其部署在Web服务器中。

下面以Tomcat 5520为例,介绍如何在Eclipse中整合Tomcat服务器,新建一个Web应用,并将该应用部署到Tomcat服务器中。

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

 提示  Eclipse必须安装了相应插件后才具有丰富的功能。为了开发Java EE应用,通常都推荐安装MyEclipse插件,该插件是一个商业产品,必须支付相应费用才可使用。

为了在Eclipse中整合Tomcat服务器,请按如下步骤进行。

* 单击Eclipse窗口里的“Window”菜单,在出现的“Window”的系列菜单项中选择“Preferences”菜单项,将弹出如图3.7所示的界面。

该Preferences设置窗口是Eclipse大部分参数的设置窗口,该窗口还可设置Eclipse插件的相关属性。MyEclipse插件的相关属性就是在该窗口里设置的,而整合Java EE服务器只是MyEclipse插件的相关属性。

 单击图3.7所示窗口左边导航树中的“MyEclipse”节点,然后单击“MyEclipse”节点下的“Application Servers”子节点,将看到如图3.8所示的界面。

图3.7  Eclipse的Preferences设置窗口

图3.8  在Eclipse中整合应用服务器

 拖动图3.8所示窗口左边的垂直滚动条,我们可以发现大部分应用服务器的名字,例如Jboss、Jetty、Resin等,当然也可以发现我们需要使用的Tomcat节点,然后单击Tomcat 5节点,出现如图3.9所示的界面。

图3.9  整合Tomcat5

 在图3.9右上方看到两个单选框:Enable和Disable,为了整合Tomcat,显然应该选中Enable单选框。选中该单选框后,还应该在下面的三个文本输入框内输入相应的地址,例如,Tomcat Home Directory里应该输入Tomcat的安装路径,笔者的Tomcat安装在D盘的tomcat5520路径下,故在该文本框内输入了D:\tomcat5520的内容。通常,一旦我们输入了正确的Tomcat安装路径,下面的两个文本框会自动输入,无需用户干预。

 单击图3.9所示窗口右下方的“OK”按钮,返回Eclipse主界面,Eclipse和Tomcat的整合成功。

下面介绍如何在Eclipse中建立一个Web应用,在Eclipse中建立一个Web应用也可借助于MyEclipse的帮助。借助于MyEclipse建立Web应用按如下步骤进行。

* 单击Eclipse主界面中的“File”菜单,在出现的菜单中单击“New”下的“Other...”菜单项,将弹出一个如图3.10所示的对话框。

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

    

图3.10  新建Web应用的对话框                      图3.11  新建Web应用

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

3.3.2  增加Struts 2支持

为了让Web应用具有Struts 2支持功能,必须将Struts 2框架的核心类库增加到Web应用中。将Struts 2框架下lib路径下的struts2-core-2.0.6.jar、xwork-2.0.1.jar等Struts 2框架的核心类库复制到Web应用的lib路径下,也就是“%workspace%Struts2Demo\WebRoot\ WEB-INF\lib”路径下。

返回Eclipse的主界面,在Eclipse主界面的左上角资源导航中看到了struts2Demo节点,选中该节点,然后按F5键,将看到Eclipse主界面左上角资源导航中出现如图3.12所示的界面。

看到如图3.12所示的界面,表明该Web应用已经加入了Struts 2的核心类库,但还需要修改web.xml文件,让该文件负责加载Struts 2框架。

文本框:  
图3.12  添加了Struts 2类库

在如图3.12所示的导航树中,单击“WEB-INF”节点前的加号,展开该节点,看到该节点下包含的web.xml文件子节点。

单击web.xml文件节点,编辑该文件,编辑该文件没有丝毫特殊之处,同样是在web.xml文件中定义Struts 2的核心Filter,并定义该Filter所拦截的URL 模式。至此,该Web应用完全具备了Struts 2框架的支持。

3.3.3  部署Struts 2应用

本应用的功能非常类似于第2章所介绍的Struts 2应用,因此本节所使用的JSP页面与第2章所使用的JSP页面也非常类似,故此处不再给出这些JSP页面的代码。

在Eclipse中添加JSP页面也是很简单的,此处不再赘述。

建立了这些JSP页面后,单击Eclipse主界面上部署Web应用的工具按钮,部署Web应用和启动服务器的两个按钮如图3.13所示。

图3.13  在Eclipse中部署Web应用和启动服务器的按钮

在Eclipse中部署Web应用请按如下步骤进行。

* 单击部署Web应用的按钮,弹出如图3.14所示的对话框。

图3.14  部署Web应用的对话框

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

图3.15  部署到应用服务器

 在图3.15所示对话框上面的Server下拉列表中选中“Tomcat 5”选项,其他选项设置参照图3.15,然后单击“Finish”按钮,返回图3.14所示对话框,单击“OK”按钮,Web应用部署成功。

 Web应用部署成功后,单击如图3.13所示工具条中的“启动服务器”按钮旁的小三角,出现下拉菜单,选择“Tomcat 5”下的“Start”菜单项,如图3.16所示,启动Tomcat服务器。

* 在浏览器中访问刚才的Struts2Demo应用,将可看到本应用登录页面。以Tomcat的端口为8888为例,应该在浏览器中访问如下地址:http://localhost:8888/Struts2Demo/ login.jsp,将看到如图3.17所示的界面。

       

图3.16  启动服务器                         图3.17  部署成功后的登录界面

在图3.17中看到该登录页面的文本框没有任何提示信息,按钮上也没有文本,这是因为本应用缺少国际化资源文件。增加该应用所需的国际化资源文件,该资源文件与前面应用的资源文件相同,此处不再给出。

为了让Struts 2应用加载该国际化资源文件,还应该使用struts.properties文件,该文件内指定如下一行代码:

#指定Struts 2的国际化资源文件的baseName为messageResource

struts.custom.i18n.resources=messageResource

至此,Struts 2应用已经获得了国际化支持。如果在浏览器中再次浏览该页面,将看到如图3.18所示的界面。

3.3.4  增加应用的Action

在Eclipse工具中新建一个Java类,该Java类的类名为“LoginAction”,其代码与第2章所使用的LoginAction类代码相同,将该类文件保存在Struts2Demo应用的src路径下的lee目录下。

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

新建一个Java文件的方法非常简单,此处不再赘述。本应用的Action类的代码与第2章的Action类完全一样,此处也不再给出。

增加了Struts 2的Action类后,还需要增加对应的配置文件,也是通过单击Eclipse的“File”菜单,然后单击“New”下的“File”菜单项来操作的。

 提示  因为Eclipse暂时还没有专门的Struts 2插件,因此只能用最原始的方式来建立一个Struts 2的配置文件。等到专门的Struts 2插件被开发出来后,应该可以有更简单的方法来建立Struts 2的配置文件。

建立该文件后,为该文件增加Struts 2的Action定义,定义该Action与前面介绍的基本一致,需要定义Action的name属性、class属性等。增加Action定义后的struts.xml文件代码如下:

<?xml version="1.0" encoding="GBK"?>

<!-- 指定Struts 2配置文件的DTD信息 -->

<!DOCTYPE struts PUBLIC

        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

        "http://struts.apache.org/dtds/struts-2.0.dtd">

<!-- 指定Struts 2配置文件的根元素 -->

<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>

至此,整个Struts 2应用完全建立成功,如果读者还需要增加数据校验,则可增加对应的校验文件,并将该文件放在与对应Action源文件的同一路径下即可。


字数:7353    最后更新:7个月以前 [04-22 11:14]happyskynet 修改
本页编辑者:happyskynet  
[前一页]:3.2 WebWork的MVC实现  [后一页]:3.4 Struts 2的基本流…
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号