Struts2入门步骤

  1. 导入jar包                                                                                      
  2. 第二步,创建action                                                                                                                                   

第三步,配置action类 访问路径 

 (1) 创建Struts2核心配置文件

   --核心配置文件名称和位置是固定的     

   --位置必须在src下面,名称:struts.xml      

  (2) 引入dtd约束                                                                                                                                                     

  1.   <!DOCTYPE struts PUBLIC
    	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    	"http://struts.apache.org/dtds/struts-2.3.dtd">
    (3)action 基本配置                                                                                                                                                     

  2. 第四步,配置Struts2过滤器                                                                                                                                        
      <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>
  3. 运行测试                                                                                                                                                                  

  4. Struts2执行过程的原理                                                                                                                                          

  5. 查看源代码                                                                                                                                                              

  6.   1.过滤器在服务器启动的时候创建,创建过滤器时候执行init方法     

  7.   (1)在init方法中主要加载配置文件包含自己创建的配置文件Struts2自带配置文件  

  8.   *** struts.xml   

  9. *** web.xml

  10.  Struts2配置    

  11.  1.struts2的核心配置文件                                                                                                                                                  

  12.  2、名称和位置是固定的       

  13. 3、在配置文件中主要的三个标签package/、action /result/标签里的属性

  14. 标签 package  

  15.   1.类似与代码包,区别不同的action,要配置action,必须首先写package标签,在package里面才能配置action    

  16.  2.package标签属性   

  17.   (1) name属性   

  18.   -name属性跟功能本身没有关系的                                                                                                                            -在一个配置文件中可以写多个package标签,name属性值就不能相同   

  19. (2) extends属性   

  20. extends="struts-defaut"   属性值是固定的,struts-default   extends 继承  

  21.  写了这个属性之后,在package里面配置的类具有action功能  

  22.  (3)namespace属性      

  23.   namespace属性值和action标签里面的name属性值构造成访问路径

  24. 标签 action

        1. action标签配置 action访问路径

        2. action标签属性

          (1)name 属性      

           *  namespace属性值和action标签里面的name属性值构成访问路径

           *  在package标签里面可以写多个action标签,但是action的name属性值不能相同

         (2) class属性

          -action 全路径

         (3) method属性

            -比如在action里面默认执行的方法execute方法,但是在action里面写其他的方法

            -让action里面多个方法执行,使用method进行配置

  12. 标签 result

        1.根据action的方法的返回值,配置到不同的路径里面

        2.result 标签属性

          (1) name 属性

 <!-- 配置方法的返回值到页面 -->
             <result name="ok"> /hello.jsp</result>

          (2) type 属性

              -配置如何到路径中(转向或重定向)

              -type 属性默认值 * 做转发操作

        3. 修改struts2 默认常量

          (1)常用的方式

            在 struts.xml 中进行配置         

            <constant name="struts.i18n.encoding" value="UTF-8"> </constant>

          (2) 还有两种方式(了解)

              在src下面创建struts.properties ,进行修改

              在web.xml进行配置

  13. 介绍最常用的常量  

         struts.i18n.encoding=UTF-8

       解析:(1)表单提交数据到action里面,在action可以获取表单提交的数据

                (2)表单提交数据有中文,有乱码问题,解决

                 - post 提交直接设置编码

                 - get 提交做编码转换

                (3) 如果在action 获取表单时通过post 方式提交中文,中文乱码问题解决帮忙解决了,不需要自己处理问题


  14 分模块开发

      单独写配置文件,把配置文件引入到核心配置文件中           

    <!-- 引入hello.xml文件 -->

    <include file="cn/itcast/action/hello.xml"></include>

 15 Action 编写方式

    1.  action 编写三种方式

    第一种 创建普通类,这个类不继承任何类,不实现任何接口

         public class HelloAction {  

   第二种 创建类,实现接口action  //不是常用

   public class UserAction implements Action  {

@Override

public String execute() throws Exception {

return null;

    }

}

public class UserAction implements Action  {

@Override

public String execute() throws Exception {

//return null;

 return Action.SUCCESS;  //实现接口的所有的类

   }

}

   第三种 创建类,继承类 ActionSupport

public class PersonAction extends ActionSupport {

}

public class ActionSupport implements Action,

public class PersonAction extends ActionSupport {      

           @Override                                                      

    public String execute() throws Exception {                                                         

       return SUCCESS          }  

   }

 16 访问 Action 的方法 (重点)

     1.有三种方式实现  

        第一种 使用action标签的method 属性,在这个属性里面写执行的action 方法

        第二种 使用通配符方式实现

        第三种 动态访问实现(不用)

     2. 演示错误

       (1) 如果action的方法里有返回值,在配置文件中没有配置或返回值不相同,会出错

       (2)在action里面的方法有返回值,如果有返回值时候类型必须是String

       (3)在action里面的方法可以没有返回值,没有返回值的时候,在result 标签不需要配置

           - 把方法写成void

           - 让返回值,返回“none”         

public String execute(){

    return NONE ;

   }

  17. 使用 action 标签 method 属性

      1. 创建action,创建多个方法

          

      2. 使用method 配置

         

        缺陷:action 每个方法都需要配置,如果action里面有多个方法,配置很多的action

  18. 使用通配符实现(重点)

      1、在action 标签里面name 属性,name 属性值里面写符号 * 星号

         (1) * 理解:表示匹配任意内容

             -比如访问hello, * 可以匹配到

            -比如访问 add,* 可以匹配到

       

       

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值