Struts2初学 Struts2在Action获取内置对象request,session,application(即ServletContext)
truts2在Action中如何访问request,session,application(即ServletContext)对象????
方式一:与Servlet API解耦的方式
可以使用struts2中提供的Map对象来访问HttpRequest,HttpSession和ServletContext对象,要获取这三个Map对象,可以使用com.opensymphony.xwork2.ActionContext类提供的静态方法
ActionContext ctx=ActionContext.getContext();
ctx.getApplication().put(“app”,”Application应用对
象”);//ServletContext放入app
ctx.getSession().put(“ses”,”session应用对象”);
ctx.put(“req”,”request对象”);
######:
上面的三个方法,仅相当与request,session,applicationsetAttribute(string,object)方法。
struts2中提供的Map对象来提供类似request,session,application内置对象的功能,这些内置对象只有内置对象的一小部分功能,它不依赖于servlet,所以是解耦合的!!!
方式二:与Servlet
API耦合的访问方式
也可以直接访问Servlet环境中的HttpRequest,HttpSession和ServletContext对象。通过ServletActionContext.类提供的静态方法直接获取:
HttpServletRequest request=ServletActionContext.getRequest();
ServletContext
context=ServletActionContext.getServletContext();
HttpSession session=request.getSession();
HttpServletResponse
response=ServletActionContext.getResponse();
方式三、实现相关接口
- public class BaseAction extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {
- private static final long serialVersionUID = 7620009925942346125L;
- ActionContext context = ActionContext.getContext();
- HttpServletRequest request;
- HttpServletResponse response;
- SessionMap session;
- //获取request,response,session方式一,非IoC方式,不用实现SessionAware, ServletRequestAware, ServletResponseAware
- //ActionContext context = ActionContext.getContext();
- //HttpServletRequest request = (HttpServletRequest) context.get(ServletActionContext.HTTP_REQUEST);
- //HttpServletResponse response = (HttpServletResponse) context.get(ServletActionContext.HTTP_RESPONSE);
- //Map session = context.getSession();
- //SessionMap session = (SessionMap) context.get(ActionContext.SESSION);
- //获取request,response,session方式一,IoC方式,必须实现SessionAware, ServletRequestAware, ServletResponseAware
- public void setSession(Map map) {
- this.session = (SessionMap) map;
- }
- public void setServletRequest(HttpServletRequest request) {
- this.request = request;
- }
- public void setServletResponse(HttpServletResponse response) {
- this.response = response;
- }
- }
Struts2初学 Struts2在Action获取内置对象request,session,application(即ServletContext)的更多相关文章
- ASP内置对象—Request、Response 、Server、Application 、ObjectContent (二)
Response (应答)对象 Request 对象.用于在HTTP请求期间,訪问不论什么client浏览器传递给server的信息,包含通过URL传递的參数信息.使用GET方法或POST方法传递的H ...
- JavaWeb——JSP内置对象request,response,重定向与转发 学习总结
什么是JSP内置对象 九大内置对象 requestJSP内置对象 request对象常用方法 request练习 responseJSP内置对象 response练习 response与request ...
- JSP内置对象---request对象(用户登录页面(返回值和数组:gerParameter,getParameterValues))
创建两个jsp页面:reg.jsp 和 request.jsp reg.jsp: <%@ page language="java" import="java.uti ...
- JSP学习笔记 - 内置对象 Request
1.主要掌握以下5个内置对象及其所属类,必须学会在java docs里根据类名查找相应的方法 request javax.servlet.http.HttpServletRequest res ...
- Webform(七)——内置对象(Session、Application)和Repeater的Command操作
内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. 一.内置对象 (一)Session 跟Cookies一样用来存储用户数据 1.Session.Cookies对比 ...
- JSP内置对象---request 对象
request.jsp: <%@ page language="java" import="java.util.*" contentType=" ...
- 内置对象(Session、Application、ViewState)
内置对象:为了跨页面传值和状态保持.→HTTP的无状态性 [4.]Session:每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 以上所有内容,都跟cook ...
- JSP的内置对象 request和response
文章目录 1.request对象 2.response响应对象 3.out输出对象 4.session会话对象 5.application应用对象 概述 在使用JSP内置对象的时候.不需要先定义这些对 ...
- JSP内置对象-request
JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...
随机推荐
- hello-循环神经网络(RNN)原理
主要的应用:机器翻译,自然语言处理,文本处理,语音识别, 图像描述生成 (Generating Image Descriptions), 图像问答QA.... 循环神经网络(RNN)原理通俗解释 1. ...
- Linux 查看当前时间和修改系统时间
一.查看和修改Linux的时区 1. 查看当前时区 命令: date -R 2. 修改设置Linux服务器时区 方法 A 命令 : tzselect 方法 B 仅限于RedHat Linux 和 Ce ...
- 【python】如何安装requests
在cmd窗口输入pip install requests 即可,如下 C:\Users\horn1\Desktop\python\4>pip install requestsCollecting ...
- Pureftp SSL/TLS配置
一.准备 & 安装 启用 Pure-FTPd SSL/TLS 连接方式在安装时需要检查以下两项: 1.系统中是否已经安装了 openssl 和 openssl-devel 包? 2.在编译 P ...
- SQL语句中拆分字段
SELECT PARSENAME(replace(MONITOR_ROOM_ID,'^' , '.'), 1) AS RoomID FROM ZY_MONITOR_ROOM 遇到以前系统高人设计的表, ...
- cscope无法索引代码树之外的软链接
http://blog.csdn.net/sudolee/article/details/9052291 背景:为什么非要使用cscope?不用ctags? 尽管ctags可以索引软链接,但是,cta ...
- MQTT---HiveMQ源代码具体解释(十八)Cluster-kryo与Serializer
源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150 既然是Cluster,node之间肯定是须要交互的,那么肯定是须要序列化和反序列化.Hi ...
- Java Callable 与 Future
- 【linux】Linux查看各类日志
Log位置: /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/ma ...
- Directshow开发播放器相关介绍
原文地址:http://www.cnblogs.com/qiufa/archive/2006/12/19/596949.html DirectShow技术是DirectX推出的建立在DirectDra ...