zoukankan      html  css  js  c++  java
  • 详谈Struts2

    介绍struts2:

      struts2是一个基于mvc设计模式的web层框架。

    详谈struts2的执行流程:

     

    struts2的执行流程:用户发送请求---->首先经过Struts2的核心过滤器---->然后经过Struts2的一组拦截器并完成部分功能(如接受数据并封装数据)---->自定义action类---->跳转页面result。
    struts2的拦截器:
      什么是拦截器?拦截器实质上是struts2的核心,拦截器拦截的是对action的访问。
    拦截器和过滤器的区别?

    过滤器:过滤的是从客户端向服务器发送的任何请求。

    拦截器:只能拦截对Action的访问,可以拦截到Action中的具体的方法。

    struts2框架接受和封装jsp页面传递过来的参数:

    • 1.(属性驱动)在自定义Action类中提供相应属性的set方法,记住只提供set方法。
    • 2.(属性驱动)在页面表单中提供OGNL表达式。
    • 3.(模型驱动)在自定义Action类中实现ModelDriven<T>接口,然后手动创建一个实例【记住:模型驱动必须手动new一个对象出来】。

    struts2访问servlet的api三种方式:

    • 完全解耦合的方式,通过ActionContext对象获取。
    • 实现一些特定接口的方式,通过实现如ServletRequestAware、ServletResponseAware、ServletContextAware等接口来获取。
    • 通过ServletActionContext对象中的一些静态方法来获取。

    struts2的valueStack(值栈):

    什么是值栈?

    值栈的内部结构:

    【ActionContext是action的上下文,通过它可以获得值栈对象】

    获得值栈对象的方式:

    注意点:

  • 相关阅读:
    case when in sql server's stored procedure
    Hadoop-2.2.0中国文献—— MapReduce 下一代 -- 公平调度
    cocos2d-x游戏循环和日程安排
    归并+高速分拣
    【Nginx】启动过程
    IOS线程操作(3)
    Android最方便的数据库--LitePal
    Android采用Application总结一下
    POJ 2151 Check the difficulty of problems (动态规划-可能DP)
    乞讨N!到底有多少0
  • 原文地址:https://www.cnblogs.com/wangchaoyuana/p/7545271.html
Copyright © 2011-2022 走看看