zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    入门activiti-------1简单运行
    JS对象、构造器函数和原型对象之间的关系
    myeclipse配背景色
    maven的pom.xml文件错误
    oracleXE简易版---使用基础
    ognl表达式注意事项
    Executors、ExecutorService、ThreadPoolExecutor
    ThreadPoolExecutor
    Phaser相位(工具的实战案例使用)
    ForkJoin
  • 原文地址:https://www.cnblogs.com/gaofz/p/7160827.html
Copyright © 2011-2022 走看看