提起struts大家都应该知道。struts有struts1与struts2版本之分,我觉得和struts1相比,struts2在开发相比确实有很好的改进,更方便、更容易开发。
struts1与struts2有本质的区分。虽然都叫struts,但struts2血统来源webwork,对于使用webwork的童靴更容易接收struts2。
struts2有很多优点,暂列出一二来:
(1)、拦截器很好使,很方便;
(2)、容易扩展;
(3)、容易测试
(4)、OGNL表达式;
( 5)、漂亮的MVC模式
当然还有很多优点,请自行查询。
现在咱们从最基础的说说struts2的环境搭建。
1、需要的jar包,每个版本所需要的jar都有些不同,需要注意。当然如果jar不足时会报错,根据提示增加相应的jar包即可
我使用的struts2.2.3,相应需要的jar包截图如下

2、配置struts.xml文件。struts.xml是框架必须配置的一个核心配置文件,文件位置必须放在/src下(编译后/WEB-INF/classes)路径。
例子:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="/" extends="struts-default">
<action name="testAction" class="com.main.web.action.TestAction">
<result>/index.jsp</result>
</action>
</package>
</struts>
详细解释
a、<package>
1)、包属性介绍
在Struts2框架中是通过包来管理action、result、interceptor、interceptor-stack等配置信息的。包属性如下:
|
属性 |
是否必需 |
描述 |
| name | 是 | 包名,作为其它包应用本包的标记 |
| extends | 否 | 设置本包继承其它包 |
| namespace | 否 | 设置包的命名空间 |
| abstact | 否 | 设置为抽象包 |
(2)、extends属性的详解
-
-
-
- 当一个包通过配置extends属性继承了另一个包的时候,该包将会继承父包中所有的配置,包括action、result、interceptor等。
- 由于包信息的获取是按照配置文件的先后顺序进行的,所以父包必须在子包之前被定义。
- 通常我们配置struts.xml的时候,都继承一个名为“struts-default.xml”的包,这是struts2中内置的包。
-
-
(3)、namespace的详解
namespace主要是针对大型项目中Action的管理,更重要的是解决Action重名问题,因为不在同一个命名空间的Action可以使用相同的Action名的。
b、<action>与<result>
(1)、<action>属性介绍
|
属性名称 |
是否必须 |
功能描述 |
| name | 是 | 请求的Action名称 |
| class | 否 | Action处理类对应具体路径 |
| method | 否 | 指定Action中的方法名 |
| converter | 否 | 指定Action使用的类型转换器 |
如果没有指定method则默认执行Action中的execute方法。
(2)、<result>属性介绍
|
属性名称 |
是否必须 |
功能描述 |
| name | 否 | 对应Action返回逻辑视图名称,默认为success |
| type | 否 | 返回结果类型,默认为dispatcher |
(3)、通配符的使用
随着result的增加,struts.xml文件也会随之变得越来越复杂。那么就可以使用通配符来简化配置,具体以后在详解:
3、项目的web.xml配置
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
4、运行Tomcat试试看
注:这个是基础的能让跑起来,更详细的内容慢慢的去学习和积累
浙公网安备 33010602011771号