Struts开发环境搭建
软件151 秦康维
关于JDK和eclipse的安装不再敖述,访问Apache Struts官网:http://struts.apache.org/download.cgi,选择下载Struts 2.5.X版本。这里有如下下载选项:
建议选择Full Distribution
选项,它包含struts2的核心库、源代码、文档和实例等。
下载完成后,将压缩包解压到任意目录下,打开struts-2.5.X文件,它有一个lib
子目录,里面的文件就是我们进行Web应用开发所需的struts2核心jar包和struts插件jar包。
如果不清楚哪些jar包是struts的核心jar包的话,可以在下载struts2时选择Essential Dependencies Only
选项,它就是struts2的核心jar包的压缩包。
struts-2.5.8的核心jar包有如下几个:
使用struts
在eclipse里创建一个动态Web项目,将struts2的核心jar包(如果需要其它struts2插件的支持,可以另外导入插件的jar包)拷贝到Web项目的WebContent\WEB-INF\lib
目录下,此时的项目结构如下:
现在就可以在eclipse中使用struts2的API了。
第一个基于struts2的Web应用
下面编写一个基于struts2的Web应用。
在web.xml里配置Filter
第一步,需要在web.xml文件里配置struts2的Filter,如下所示:
<!-- web.xml -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
StrutsPrepareAndExecuteFilter的配置和普通的Filter一样,只是<filter-class>
需要使用struts2的Filter类。
这里需要注意,由于struts2的版本更新,有些包名有所改变,StrutsPrepareAndExecuteFilter所在的包也发生了变化,如下图:
详细情况可以在Apache Struts的官网上找到:http://struts.apache.org/docs/version-notes-25.html
在eclipse中创建stru.xml配置文件
eclipse里默认是不会自动生成struts.xml文件的,这个文件主要是用来配置struts的,包括常量配置、action配置等,它非常重要。
在eclipse中,想要创建struts.xml,只能先创建一个XML格式的文件,然后在里面配置struts,这样非常不方便而且容易出错,下面提供了一个更好的方法:
1. 点击菜单栏的Window
选项,依次选择Preferences
、XML
、XMLCatalog
,在弹出的窗口中点击右侧的Add
;
2. 在Location
处填写%STRUTS_HOME%/src/core/src/main/resources/struts-2.X.dtd
,在Key type
处选择Public ID
,在Key
处填写-//Apache Software Foundation//DTD Struts Configuration 2.X//EN
,在Alternative web address
处填写http://struts.apache.org/dtds/struts-2.X.dtd,
,点击OK
,如下图:
3. 点击OK
完成DTD的添加,下面就可以在eclipse中创建struts.xml文件了;
4. 右击项目(或项目的子目录,一般将struts.xml文件放在src目录下),选择New
-Other
-XML
-XML File
,输入文件名(我们输入struts.xml),Next
,选择Creat XML file from a DTD file
,Next
,选择Select XML Catalog entry
,在出现的XML文本选择下拉框中选择-//Apache Software Foundation//DTD Struts Configuration 2.X//EN
,Next
,Finish
,如下图:
5. struts.xml文件就新建好了,现在的项目结构如下: