1.3 在Eclipse中开发Struts 1
Eclipse提供了开发Struts 1应用的插件,通过Eclipse的插件功能能够非常容易地给项目添加Struts 1支持。Eclipse还为Struts 1的开发提供了非常好的可视化编辑环境,使得开发者能够更加容易和简单地开发Struts 1应用。
1.3.1 新建Web项目
下面介绍如何在Eclipse中开发Struts 1应用。首先在Eclipse下新建一个Web项目。
步骤如下。
(1)运行Eclipse开发环境,这里使用的Eclipse已经安装了MyEclipse插件。在Package视图窗口(如图1.15所示)中单击鼠标右键,选择“New”→“Project”选项,打开“New Project”对话框。
(2)在“New Project”对话框中选择“Web Project”选项来新建一个Web项目,如图1.16所示。
图1.15 Package视图窗口
图1.16 “New Project”对话框
(3)单击“Next”按钮,打开“New Web Project”对话框,如图1.17所示,在“Project Name”文本框中输入Web项目的名称。“Source folder”文本框用来输入项目源文件的储存文件夹,一般采用默认文件夹,也就是“src”。“Web root folder”文本框用来输入Web项目文件存放的文件夹,一般也采用默认文件夹,也就是“WebRoot”。“Context root URL”文本框用来输入访问该站点的根路径,在默认情况下为“/”加上项目名称。“J2EE Specification Level”用来选择J2EE规范版本,这里要视实际情况来选择。
注意
本书中全部Web应用都是基于Java EE5 .0来开发。
(4)完成项目配置后,单击“Finish”按钮,完成Web项目的创建。在Package视图窗口中将能看到该项目名,单击该项目名即可展开该项目,并能看到项目中的所有文件以及类库等信息,如图1.18所示。
Web项目就这样创建完成了,有很多地方需要注意,如J2EE规范版本。下面再在Eclipse中整合Tomcat服务器。
图1.17 “New Web Project”对话框
图1.18 Package视图窗口
1.3.2 整合Tomcat服务器
这里所指的Eclipse已经安装好了MyEclipse 6.0插件,所以可以整合大部分的Java EE服务器,而如果没有安装任何插件,单纯的Eclipse是很难与Java EE服务器进行整合的。
整合步骤如下。
(1)选择“Window”菜单,如图1.19所示。在弹出的菜单中选择“Preferences”选项,系统将弹出如图1.20所示的窗口。
图1.19 Window菜单
(2)在“Preferences”窗口中展开左边导航树中的“MyEclipse”选项,再展开“Application Servers”子选项,选择其中的“Tomcat”选项,如图1.21所示。
(3)在右边的窗口中选择Tomcat的版本,这里单击“Configure Tomcat 6.x”链接来配置Tomca 6.x版本的服务器。配置窗口如图1.22所示。
图1.20 Preferences窗口界面
图1.21 Tomcat选项界面
(4)要整合Tomcat,显然应该选中“Enable”单选项,表示该Tomcat服务器为可用。在“Tomcat base directory”文本框中输入Tomcat的安装目录,或者单击“Browse”按钮来在本地磁盘中选择Tomcat的安装目录。指定正确的Tomcat安装目录后,下面的两个文本框会自动进行输入,无需再设置,如图1.23所示。
图1.22 整合Tomcat 6.x版本
图1.23 设置Tomcat安装目录
(5)单击右边的“Apply”按钮提交,单击“OK”按钮完成配置。
通过上面的步骤就可将Tomcat服务器成功地整合到Eclipse上了,从而可以很方便地通过它来部署项目和运行Tomcat服务器。
1.3.3 为项目添加Struts 1支持
MyEclipse插件提供了许多的框架支持,只需要在项目中增加这些框架的支持就能很方便地使用这些框架来开发。下面来介绍如何为项目添加Struts 1支持。
步骤如下。
(1)在项目名上单击鼠标右键,选择“MyEclipse”→“Add Struts Capabilities”选项。为Web项目添加Struts支持,如图1.24所示。
(2)选择“Add Struts Capabilities”选项后,将出现Struts配置窗口,如图1.25所示。
在“Struts config path”文本框中输入Struts配置文件的路径,采用默认路径即可。在“Struts specification”选项组中选择Struts的版本规范,这里选择Struts的版本为1.2。“URL pattern”选项组用来设置ActionServlet接受哪类请求,这里选择“*.do”,表示ActionServlet接受所有以“.do”结尾的请求。“Base package for new classes”文本框用来输入以后新建的Action和ActionForm的根包名。“Default application resources”文本框用来输入Struts 1的默认的资源文件名。最底下的两个复选项用来选择是否安装Struts的JAR文件(类库)以及是否安装Struts的TLD文件。配置完成后,如图1.26所示。
(3)单击“Finish”按钮完成配置。在Package视图窗口可以看到Struts 1的JAR文件和TLD文件以及Struts 1的配置文件“struts-config.xml”已经被导入,如图1.27所示。
图1.24 选择增加框架支持
图1.25 Struts配置窗口
图1.26 Struts配置窗口
图1.27 Package视图窗口
项目成功地添加上了Struts 1支持,使用MyEclipse来添加Struts 1支持比手动添加要方便许多。不过建议在学习阶段还是尽量多使用手动添加,这样才能做到知其然和知其所以然。
1.3.4 添加ActionForm
通过Eclipse来添加ActionForm和Action是非常方便的,只需简单的几个配置即可。Eclipse帮忙自动添加ActionForm和Action,而且会自动生成许多代码,方便开发使用。下面介绍如何添加ActionForm。
步骤如下。
(1)在Package视图窗口双击打开配置文件“struts-config.xml”, Eclipse给配置文件提供两种视图,一种是“Design”视图,如图1.28所示,在该视图中可以通过图形化的方式来添加ActionForm、Action、ActionForward等。另一种是“Source”视图,如图1.29所示,用来显示“struts-config.xml”的源代码。
图1.28 Design视图
图1.29 Source视图
(2)在“Design”视图中选择“New”→“Form”选项,将打开ActionForm配置窗口,如图1.30所示。
(3)在ActionForm配置窗口中,有许多的选项需要配置,下面将分别介绍这些选项的作用以及配置。
❑ “Config/Module”文本框用来设置配置文件“struts-config.xml”的路径,Eclipse会自动生成该路径,所以可以采用默认配置。
❑ “Use case”文本框用来设置用例。“Name”文本框用来设置该ActionForm的名称。如果在“Use case”文本框中输入用例为“login”,那么ActionForm的类名会自动赋值为“login Form”。
❑ 在“Form Impl”选项组中选择“New FormBean”单选项表示新建一个ActionForm。
❑ “Superclass”下拉列表中选择ActionForm的父类,这里选择第一项“org.apache. struts.action. ActionForm”。
❑ “Form type”文本框用来输入ActionForm的类名,当配置好用例后,Eclipse会自动添加,格式为添加Struts 1支持时设置根包名加上“form”再加上用例名(首字母将大写)。
❑ 在“Form Properties”选项卡下单击“Add”按钮可以为ActionForm添加属性,Eclipse会自动为属性添加setter和getter方法。
❑ “Methods”选项卡中选择为ActionForm添加的方法。
❑ 在“JSP”选项卡中有一个“Create JSP form? ”复选项,选择该复选项将为该ActionForm添加相应的用户提交页面。
以前面的登录案例为例,添加LoginForm,设置配置页面如图1.31所示。
ActionForm成功地添加完成,在Package视图窗口可以看到新添加的类LoginForm,而且在“struts-config.xml”配置文件中也添加了对LoginForm的配置。
图1.30 ActionForm配置窗口
图1.31 ActionForm配置窗口
1.3.5 添加Action
添加Action和添加ActionForm是类似的,都是在配置文件“struts-config.xml”中进行的。
步骤如下。
(1)打开“struts-config.xml”配置文件,在“Design”视图中选择“New”→“Action”选项,将打开Action配置窗口,如图1.32所示。
(2)在Action配置窗口中,有许多的选项需要配置,下面将分别介绍这些选项的作用以及配置。
❑ “Config/Module”文本框用来设置配置文件“struts-config.xml”的路径,Eclipse会自动生成该路径,所以可以采用默认配置。
❑ “Use case”文本框用来设置用例。
❑ “Path”文本框中用来设置该Action接受的用户提交的路径地址。如果填写了用户名,那么Eclipse会自动设置“Path”为“/”加上用例名。
图1.32 Action配置窗口
❑ “Action Type”选项组用来设置Action的类型,如果该Action只用来做跳转用,那么可以选择“Forward”单选项,同样如果该Action只用来包含其他文件,则可以选择“Include”单选项。
❑ 在“Action Impl”选项组中选择“Create new Action class”表示新建一个Action。
❑ 在“Superclass”下拉列表中选择Action的父类,这里选择第一项“org.apache. struts. action. Action”。
❑ “Type”文本框用来输入Action的类名,当配置好用例后,Eclipse会自动添加,格式为添加Struts 1支持时设置根包名加上“action”再加上用例名(首字母将大写)。
❑ 在“Form”选项卡下单击“Browse”按钮可以为Action添加对应的Form。
❑ 在“Forwards”选项卡下可以为该Action添加Forward,用来配置逻辑视图和视图资源之间的关系。
❑ 在“Methods”选项卡中选择为Action添加的方法。
以前面的登录案例为例,添加Login,设置配置页面如图1.33和图1.34所示。
图1.33 配置对应的Form
图1.34 配置对应的Forward
(3)Action配置完成,在Package视图窗口可以看到新添加的类LoginAction。打开“struts-config.xml”配置文件,在“Design”视图中可以清楚地看到Form、Action、Forward之间的关系,如图1.35所示。
图1.35 struts-config.xml配置文件Design视图
同样,Eclipse会自动在“struts-config.xml”配置文件中增加对Form、Action、Forward的配置。“struts-config.xml”配置文件代码如下。
<? xml version="1.0" encoding="UTF-8"? > <! DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources /> <form-beans > <form-bean name="loginForm" type="net.hncu.struts.form.LoginForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action attribute="loginForm" name="loginForm" path="/login" scope="request" type="net.hncu.struts.action.LoginAction"> <forward name="success" path="/login_success.jsp" /> <forward name="failure" path="/login_failure.jsp" /> </action> </action-mappings> <message-resources parameter="net.hncu.struts.ApplicationResources" /> </struts-config>
使用这种图形化的配置来添加ActionForm、Action、Forward非常简单。不用编写那么多的代码,只需要简单配置就行了。
1.3.6 部署Struts 1项目
首先将前面手动编写的登录案例中的Action、业务逻辑组件LoginCheck、login. jsp和login_success.jsp以及login_failure.jsp页面复制到这个项目中。下面来看在Eclipse中如何自动部署这个登录案例。
步骤如下。
(1)在Eclipse主界面中单击部署Web应用的工具按钮系统, 弹出如图1.36所示的对话框。
(2)在该对话框的“Project”下拉列表中选择需要部署的Web应用。单击对话框右部的“Add”按钮,打开用来选择Web服务器的对话框,如图1.37所示。
(3)在“Server”下拉列表中选择开始配置好的“Tomcat 6.x”服务器,其他选项采用默认配置。单击“Finish”按钮,完成服务器的配置,页面回到Web应用部署对话框,单击“OK”按钮完成Web应用部署。
(4)Web应用部署完成后,单击Eclipse主界面工具栏中的 按钮旁的小三角,弹出下拉菜单。选择“Tomcat 6.x”→“Start”选项,如图1.38所示。启动Tomcat服务器。
(5)打开浏览器,访问登录页地址“http://localhost:8080/StrutsDemo/login.jsp”,页面显示效果如图1.39所示。
登录案例部署完成,代码也正确执行。并使用Eclipse基于Struts 1框架完成了该登录案例。
图1.36 Web应用部署对话框
图1.37 选择部署的Web服务器
图1.38 启动Tomcat服务器
图1.39 用户登录页