Struts2学习

1Struts2框架介绍

  Struts2框架是MVC流程框架,适合分层开发。框架应用实现不依赖于Servlet,使用大量的拦截器来处理用户请求,属于无侵入式的设计。

2、简述 Struts2 的工作流程:

①. 请求发送给 StrutsPrepareAndExecuteFilter

②. StrutsPrepareAndExecuteFilter 判定该请求是否是一个 Struts2 请 求

③. 若该请求是一个 Struts2 请求,则 StrutsPrepareAndExecuteFilter 把请求的处理交给 ActionProxy

④. ActionProxy 创建一个 ActionInvocation 的实例,并进行初始化

⑤. ActionInvocation 实例在调用 Action 的过程前后,涉及到相关拦截 器(Intercepter)的调用。

⑥. Action 执行完毕,ActionInvocation 负责根据 struts.xml 中的配置 找到对应的返回结果。调用结果的 execute 方法,渲染结果。

⑦. 执行各个拦截器 invocation.invoke() 之后的代码

⑧. 把结果发送到客户端

3、框架的使用

框架为我们做好了封装,使用起来就按照步骤,配置几个xml文件就行拉。

1)导入jar包

  

2)拷贝struts.xml文件

  将拷贝的配置文件放在根目录src下。struts.xml文件主要是配置请求路径对应action类的,以及结果跳转路劲。

  <?xml version="1.0" encoding="UTF-8" ?>  

  <!DOCTYPE struts PUBLIC  

        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  

        "http://struts.apache.org/dtds/struts-2.0.dtd">  

  <struts>  

    <package name="example" namespace="/example" extends="struts-default">  

      <action name="HelloWorld" class="struts2.action.HelloWorldAction">  

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

      </action>

     </package>      

  </struts>  

  代码说明:访问/example/HelloWorld.action对应执行struts2.action包下面的HelloWorldAction类;默认情况下执行类中的execute方法,如果想指定方法,需要在<action>标签中添加method属性;<result>标签配置结果跳转路径。根据Action类中方法返回的String字符串,去匹配result标签中的name值,进行跳转。

 

   

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

  </filter-mapping

posted @ 2017-07-13 15:35  被爱的都有恃无恐  阅读(192)  评论(0编辑  收藏  举报