zoukankan      html  css  js  c++  java
  • Struts2的Action中访问servletAPI方式

    struts2的数据存放中心为ActionContext,其是每次请求来时都会创建一个ActionContext,访问结束销毁,其绑定在ThreadLocal上,由于每次访问web容器都会为每次请求创建一个独立的线程ThreadLocal,而ActionContext绑定在ThreadLocal上,所以各个ActionContext是相互独立和安全的,在ActionContext中还持有其他的域对象引用,如application,session等,ActionContext销毁时只销毁自己内部创建的如值栈,request等数据,而持有的引用主体并不会销毁,其持有其他域引用,主要是方便用户操作其他域API,其核心原理如下图所示,只是为了方便用户操作API,还据此提供了3种不同访问API的方式

    1、通过ActionContext对象获取

     

    页面获取还是和以前一样,直接在jsp页面通过EL表达式获取各个域中的值

     2、通过ServletActionContext获取,这个其实就是struts2封装的一个工具类,为了更便捷的操作原生servletAPI,不过struts不推荐使用耦合的原生API,希望使用解耦的struts2的方式,不过内部都一样,只要喜欢用哪种都无所谓

    下图为原生servletAPI获取方式:

     3、实现接口的方式,这种方式最不推荐,其需要自己来实现这种常用接口,那还用框架干嘛,了解即可,如ServletRequestAware,后缀都是以Aware结尾的

  • 相关阅读:
    洛谷P1199三国游戏
    Cracking the Coding Interview 6.2
    Cracking the Coding Interview 5.2
    Cracking the Coding Interview 5.7
    洗牌算法
    字符串排列组合问题
    指针作为形参
    KMP算法代码
    搜索二叉树
    面试题集锦
  • 原文地址:https://www.cnblogs.com/javabg/p/7293982.html
Copyright © 2011-2022 走看看