Struts2入门

一、Struts2简介

           a)Struts —>(英文)支架—>框架

b)Jakarta项目—>Apache软件基金会(包含HTTP服务器 Tomcat  Lucene Struts)

c)Struts是流行和成熟的基于MVC设计模式的Web应用程序框架

d)使用Struts目的:帮助我们减少在运用MVC设计模型来开发Web应用的时间

二、编写web.xml,配置Struts2过滤器

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>

  <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>/*</url-pattern>
  </filter-mapping>

</web-app>

三、编写Struts2配置文件struts.xml

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">

    <struts>
        <package name="default" namespace="/" extends="struts-default">
            <!--2.5版本必须加,安全性考虑-->
            <!--<global-allowed-methods>regex:.*</global-allowed-methods>-->
            <action name="user_*" class="com.test.controller.UserAction"  method="{1}" >
                <result name="index">{1}.jsp</result>
                <result name="add">{1}.jsp</result>
                <result name="edit">{1}.jsp</result>
            </action>
        </package>
    </struts>

四、 struts.xml文件配置介绍

 1.package配置

a)name属性: 作用:定义一个包的名称,它必须唯一.

b)Namespace属性 :作用:主要是与action标签中的name属性联合使用来确定一个action的访问路径

c)extends属性: 作用:主要是制定继承自哪个包,一般值为struts-default

      Struts-default包是在struts-default.xml文件中声明的(位置:struts2-core.jar包中)

d)abstract属性:它代表当前包是一个抽象的,主要用于被继承

 2.action配置

           a)name属性 :作用:主要是与package标签中的namespace属性联合使用来确定一个action的访问路径

b)class属性 :作用:主要是用来指示当前的action类的全路径类名

           c)method属性: 作用:用于指示当前action类中的那个方法去执行

3.result配置

      它主要是用于指示结果视图,包含再action标签中

a)name属性 作用:是与action类中的method方法的返回值进行匹配,来确定跳转路径

b)type属性      作用是用于指定跳转方式(在struts2-core.jar/struts-default.xml中可以找到)

 四、Struts2的Action创建方式

Action编写的三种方式

       (1)直接创建一个pojo类

                优点:无耦合

                缺点:无论什么功能,都需要自己来完成

      (2)创建一个类,让它实现action接口,可以有五个常量值,还有一个execute方法

               优点:耦合度低,在action接口中定义了struts2的五种逻辑视图名称,它们可以被框架识别

               缺点:大部分功能还是需要我们自己来完成

     (3)创建一个类让它继承actionSupport类,因为actionSupport类实现了action接口,所以第二种方案具有的特点,我们也有

              优点:具有了丰富的功能,表单校验,错误信息设置,国际化的功能.

              缺点:耦合度高

    我们在开发中使用继承actionSupport这种方案会比较多

五、Struts2的Action的访问方法

Action的三种访问方法

    (1)使用Action标签中的method属性实现

    (2)使用通配符方式实现

              在Action标签里面的name属性,使用"*"表示匹配任意内容

              <action name="book_*" class="" method="{1}"> //取到第一个*

   (3)动态访问实现

六、Action三种接收参数的方式

a)action属性接收参数

b)用DomainModel(实体模型)接收参数(VO DTO)

c)用ModelDriven接收参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值