Struts2总结1

来源:互联网 发布:爱情自有天意网络剧 编辑:程序博客网 时间:2024/06/06 02:30

使用struts2有很长时间了,一直处于只会用,不太了解底层和自己完全独立配置一个项目的能力,最近趁着还比较空闲来总结下

首先高屋建瓴,struts2的原理概括

1.struts2是基于拦截器实现的,对每一次请求会实行拦截,处理请求的通用代码是交给核心控制器完成,实际的业务代码是交个特定的Action来完成。使用struts2我们需要在web.xml里面配置过滤器(对什么类型的请求拦截):

  <filter>

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

      <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

  </filter>

  <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
  </filter-mapping>

在struts.xml还需要配置Action处理的拦截格式,如:

<constant name="struts.action.extension" value="htm,html"></constant>(以htm.html结尾的请求交给Action处理)

2.在struts2中,Action可以是个很普通的javaBean,只要我们在配置文件里面配置了,它就能充当处理请求的Action。

3.目前我们使用struts2还是基于很多的配置,如

  在struts.xml里面配置一个Action

  <action name="sayHello" method="say" class="com.hello.SayHello">
            <result name="success">page/hello.jsp</result>
   </action>

现在很流行的约定优于配置的插件Convention来完成几乎是零配置的,具体详见http://blog.csdn.net/huangfan322/article/details/50483046

 其次,再看看struts2的使用流程配置

1.在web.xml里面配置一个过滤器

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>
                struts-default.xml,struts-plugin.xml,struts/struts.xml
            </param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

2.定义一个Jsp页面提交表单数据( 也可以不建,直接使用url带参数的形式提交)

3.在struts.xml里面创建action,如

 <action name="global" method="global" class="com.alibaba.TestAction">
            <result name="success">/page/global.jsp</result>
  </action>

4.就是编写TestAction代码

下一节讲解Ation中访问Servlet的API


0 0
原创粉丝点击