提起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试试看

 

注:这个是基础的能让跑起来,更详细的内容慢慢的去学习和积累

posted on 2012-05-03 15:37  文超^-^  阅读(252)  评论(0)    收藏  举报