文档章节

ServletContext,ActionContext,ServletActionContext

c
 caesarlv
发布于 2015/09/10 15:57
字数 383
阅读 8
收藏 0

ServletContext              ------ javax.servlet.ServletContext

    ServletContext从他的package信息可以看出,它是标准的JavaEE WebApplication类库

    

    ServletContext提供了标准的Servlet运行环境,其实就是一些servlet和web container进行通信的方法

*****************************************************************************************************************

    ActionContext

    源于struts2与struts1的本质不同

    struts1时,由一个servlet (servlet org.apache.struts.action.ActionServlet)处理所有的*.do
    struts2时,由一个filter(org.apache.struts2.dispatcher.FilterDispatcher)处理所有的请求
    struts1 仍旧属于servlet范畴,struts1 action 其本质仍是servlet.
    struts2 action 已经是普通的java bean了,已经跳出了servlet 框架

    ActionContext就是为了弥补strtus2 action跳出标准servlet框架而造成的和WEB环境失去联系的缺陷


    ActionContext的主要作用:

  • 提供Web环境Context

  • 解决线程安全问题

  • 解决一些和其他框架或容器(siteMesh,webLogic)的兼容问题

    如果看过源码就会明白ActionContext其实是个ThreadLocal,亦即用来解决并发问题的存储

*************************************************************************************************************************

  ServletActionContext


  在实际应用开发中,根据功能需要,在Action中必须要能获取到Servlet相关的API,比如要操作Cookie。这个时候,就需要用ServletActionContext了。

 

  这个类直接继承了ActionContext,当然也继承了它父类的很多功能,比如:对OgnlValueStack、Action名字等的访问。更重要的是,它还提供了直接访问Servlet的相关对象的功能,它可以取得的对象有:

  • HttpServletRequest:请求对象

  • HttpServletResponse:响应对象

  • ServletContext:Servlet上下文信息

  • PageContext:Http页面上下文

    里面方法都是静态的,可以直接使用


© 著作权归作者所有

上一篇: ThreadLocal
c
粉丝 0
博文 12
码字总数 22790
作品 0
海淀
程序员
私信 提问
Struts2源码阅读之ActionContext

上一篇文章概述了Struts2的一些流程。这次说下ActionContext,直接进入正题。 static ThreadLocal actionContext = new ThreadLocal();//ActionContext public static ActionContext getCont......

空谷幽兰_
2012/11/17
526
0
ServletContext,ActionContext,ServletActionContext

ServletContext ServletContext从他的package信息可以看出,它是标准的JavaEE WebApplication类库 javax.servlet.ServletContext ServletContext提供了标准的Servlet运行环境,其实就是一些ser...

zdatbit
2016/04/18
25
0
08 Struts2 访问Servlet API

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxdeng/article/details/81710008 Struts2 提供了三种方式访问本地Servlet API 1. ActionContext【推荐、非耦...

降龙十八腿
2018/08/15
0
0
Struts中ActionContext和ServletActionContext的比较

一、ActionContext 在Struts2开发中除了将请求参数自动设置到Action的字段中,往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(...

ke_ry
2016/12/17
0
0
ActionContext和ServletActionContext小结(转)

ActionContext和ServletActionContext小结 1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些...

teacheryang
2015/01/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
787
11
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
15
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部