struts2

struct2

mystruct

struts就是基于MVC模式的框架,并封装了servlet从而提高了开发效率。

1、  引入struts包,8个

2、  在web.xml中进行配置

<filter>

       <filter-name>struts2</filter-name>

       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>//这个class根据版本不同也不一样。

  </filter>

  <filter-mapping>

       <filter-name>struts2</filter-name>

       <url-pattern>/*</url-pattern>

  </filter-mapping>

3、  开发action

这个类要继承ActionSupport类,然后写方法。记得要有String返回值,不能传参。ps:这个类就是替换之前的servlet的

4、  配置src/struts.xml

<struts>//根节点不解释

       //package就是包

       //extends 就是拓展要继承的名称,一般都是默认的

       //abstract 是否为抽象,就是上边说得继承,如果为true肯定要被继承的 

       //namespace /abc/def  那么在访问的时候就必须加上/abc/def/名称

<package name="xxxx" extends="struts-default">

       //action就是继承actionsupport的类

       //name就是访问的时候输入的名称

       //class 就是类喽

       //method就是方法名称

           <action name="hello" class="cn.qidi.Demo1.Demo1" method="execute">

                     //result就是返回结果

                     //name就是返回来的值,如果一样有什么用呢……

                     //中间的就是转发的地址了,默认是转发

                  <result name="success">/index.jsp</result>

           </action>

    </package>

</struts>

执行过程:

1、  启动tomcat,加载项目web.xml

2、  加载struts核心类

3、  访问:

a)         拦截所有action请求,并在struts.xml中寻找这个类

b)        找到后生成action对象

c)         执行默认的18个拦截器(一共有32个拦截器)

d)        执行action中的方法

拦截器与过滤器:

    共同点:

           都是截获资源的

    区别

     过滤器:拦截全部      是servlet概念

     拦截器:只拦截action   是struts概念

原文地址:https://www.cnblogs.com/core404/p/5824229.html