Struts2访问ServletAPI(Request, Session, ServletContext,Application,response)
来源:互联网 发布:第十届华人网络春晚 编辑:程序博客网 时间:2024/06/06 02:05
访问Servlet API
有时我们需要用到Request, Response, Session,Page, ServletContext这些我们以前常用的对象,那么在Struts2中怎么样使用到这些对象呢,通常有三种方式.
间接访问1
//向Session中放
ActionContext.getContext().getSession().put("wdpc", "Session中的WDPC");
//向request中放
ActionContext.getContext().put("wdpc","request中的WDPC");
//向application中放
ActionContext.getContext().getApplication().put("wdpc", "Application中的WDPC");
取值方式:
ActionContext.getContext().getSession().get("wdpc");
间接访问2
Struts2中提供了一个静态类,他里面的方法可以获取到我们的HttpServletResponse, HttpServletRequest, 然后呢就可以还原到我们以前的使用方式了.
直接访问
虽然Struts2提供了ActionContext来访问Servlet API,但是这种方式毕竟不能直接获取Servelt API实例,为了在Action中直接访问Servlet API,Struts2还提供了一系列接口
ServletContextAware 实现此接口后,可以取得ServletContext
ServletRequestAware 实现此接口后,可以取得HttpServletRequest
ServletResponseAware 实现此接口后,可以取得HttpServletResponse
SessionAware 实现此接口后,可以取得HttpSession,注意,这里有点特殊,取得的是一个Map<String,Object> session,拦截器负责将session中存储的键值进行解析,并一一对应.
所以我们通常的做法是:
public class BaseAction implements ServletResponseAware, ServletRequestAware,
SessionAware {
protected HttpServletResponse response;
protected HttpServletRequest request;
protected Map<String, Object> session;
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public Map<String, Object> getSession() {
return session;
}
}
为了让BaseAction能有验证的功能,并且不能被实例化,开发中我们会这样做:
public abstract class BaseAction extends ActionSupport implements
ServletResponseAware, ServletRequestAware, SessionAware
然后让我们每个模块的Action来继承这个BaseAction类,然后我们就可以在Action中直接使用Servelt的API了.
- Struts2访问ServletAPI(Request, Session, ServletContext,Application,response)
- Struts2中request、response、session、application对象的访问方法
- struts2如何获取Request-Session-ServletContext-Response
- struts2如何获取Request-Session-ServletContext-Response
- Struts2访问ServletAPI(向JSP内置对象request,session,Application传值)
- struts2访问request、session、servletContext属性
- 在Struts2中访问Web页面元素request、response、session、application的四种方法
- struts2--获取request、session、application、HttpRequest、HttpSession、ServletContext
- Struts2 访问request、session和application对象
- Struts2 访问request、session和application对象
- [Struts2]访问request,session和application对象
- Struts2初级教程03 访问request session application
- Struts2访问request、session、application对象
- Struts2 访问request session application对象
- Struts2 访问request session application对象 。
- request ,session ,servletContext(application)
- request、session、application(ServletContext)
- struts2 session、request、response
- usb学习笔记5
- onTouchEvent, onClick及onLongClick的调用机制(转载)
- 不是所有的功能都必须自动化
- windows下java环境变量设置 tomcat环境变量设置
- wince 常见问题 1
- Struts2访问ServletAPI(Request, Session, ServletContext,Application,response)
- Bluetooth协议栈学习之SDP
- 直接拿来用!最火的Android开源项目
- 从服务器暴露数据
- jsp代码没有错,但是总是有红叉的解决方法
- PtStore学习注意事项
- How to programmatically click a WPF button
- The import java.util cannot be resolved
- hdu 1794