Struts2操作Request、Session和App…
来源:互联网 发布:崔万志淘宝店 编辑:程序博客网 时间:2024/06/06 16:39
Strtus2通常情况下使用以下两种方式来访问上述三种对象,即Servlet API解藕和耦合的访问方式。
1.Servlet API解藕方式:
Struts2分别对Request、Session和Application三个对象封装成了三个Map对象,直接使用封装好的Map对象来读取和保存数据。可以通过com.opensymphony.xwork2.ActionContext类来得到这三个对象。ActionContext是Action执行的上下文,保存了很多对象如parameters、request、session、application和locale等。通过ActionContext类获取Map对象的方法为:
ActionContextcontext=ActionContext.getContext();
Maprequest=(Map)context.get("request");--得到HttpServletRequest的Map对象
Map session=context.getSession();--得到HttpSession的Map对象
Mapapplication=context.getApplication();--得到ServletContext的Map对象
除了利用ActionContext来获取request、session和application对象这种方式外,Action类还可以实现某些特定的接口,让Struts2框架在运行时向Action实例注入request、session和application对象。这种方式也就是IOC方式,与之对应的三个接口和它们的方法如下所示:
public class SampleAction implements Action,
RequestAware, SessionAware, ApplicationAware
{
private Map request;
private Map session;
private Map application;
@Override
public void setRequest(Map request)
{this.request = request;}
@Override
public void setSession(Map session)
{this.session = session;}
@Override
public void setApplication(Map application)
{this.application = application;}
}
2.Servlet API耦合方式:
直接访问ServletAPI将使你的Action与Servlet环境耦合在一起,要直接获取HttpServletRequest和ServletContext对象,可以使用org.apache.struts2.ServletActionContext类,该类是ActionContext的子类。通过ServletActionContext类获取三个对象的方法为:
HttpServletRequest request =ServletActionContext.getRequest();--得到HttpServletRequest对象
HttpSession session =request.getSession();--得到HttpSession对象
ServletContext context =ServletActionContext.getServletContext();--得到ServletContext对象
除了上述的方法调用得到HttpServletRequest和ServletContext对象外,还可以调用ActionContext对象的get()方法,传递ServletActionContext.HTTP_REQUEST和ServletActionContext.SERVLET_CONTEXT键值来得到HttpServletRequest和ServletContext对象,如下所示:
ActionContext
HttpServletRequest request =(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
ServletContext context =(ServletContext)ctx.get(ServletActionContext.SERVLET_CONTEXT);
- Struts2操作Request、Session和App…
- Struts2操作request、session和application对象
- Struts2操作Request、Session和Application对象
- struts2 request和session
- struts2操作request session response
- struts2中request,session和application的操作
- Struts2如何操作Request、Session和Application对象
- struts2获得session和request
- STRUTS2获得session和request
- STRUTS2获得session和request
- STRUTS2获得session和request
- STRUTS2获得session和request
- Struts2得到Request和Session
- STRUTS2获得session和request
- Struts2得到Request和Session
- struts2获得request和session
- Struts2得到Request和Session
- STRUTS2获得session和request
- 关于桌面任务栏没有返回桌面的图标
- java学习心得
- Dreamweaver8简体中文版注册码
- j2ee三大框架个人理解
- 求出1+2+3+...n<8888 中的最大的n…
- Struts2操作Request、Session和App…
- Struts2中iterator标签遍历m…
- struts2中struts.xml什么时候加载…
- struts拦截器的功能详解
- 拦截器与过滤器的区别
- struts2 服务器转发与客户端跳转写…
- js分页{此贴转载的地方忘啦。不好…
- 分页算法求总页数
- Struts2token防止重复提交引用csdn…