概述
2012-10-31
Struts 2访问Servlet API
有以下两种方式:
与Servlet API解耦的访问方式(建议大家用这种方式)
与Servlet API耦合的访问方式
第一种方式:
与Servlet API解耦的访问方式
Struts 2对Servlet API进行封装,提供了三个Map对象代替request、session、application
通过ActionContext类获取这三个Map对象
Object get("request")
Map getSession()
Map getApplication()
得到request对象(第一种写法)
//保存在request范围内 ActionContext ac = ActionContext.getContext(); Map request = (Map) ac.get("request"); request.put("name", userName);
|
得到request对象(第二种写法)
ActionContext ac = ActionContext.getContext(); ac.put("name", userName); |
得到request对象(第三种写法)
ActionContext.getContext().put("a", "request中国");//存 //ActionContext.getContext().get("request");//取 |
得到session对象(第一种写法)
//保存在session范围内 ActionContext ac = ActionContext.getContext(); Map session = ac.getSession(); session.put("name", userName); |
得到session对象(第二种写法)
//保存在session范围内 ActionContext ac = ActionContext.getContext(); ac.getSession().put("name", userName); |
得到session对象(第三种写法)
ActionContext.getContext().getSession().put("a", "session美国"); //ActionContext.getContext().getSession().get("session"); |
得到application对象(第一种写法)
//保存在application范围内 ActionContext ac = ActionContext.getContext(); Map application = ac.getApplication(); application.put("name", userName); |
得到application对象(第二种写法)
//保存在application范围内 ActionContext ac = ActionContext.getContext(); ac.getApplication().put("name", userName); |
第二种方式:
与Servlet API耦合的访问方式
通过ServletActionContext类获取Servlet API对象
ServletContext getServletContext()
HttpServletResponse getResponse()
HttpServletRequest getRequest()
通过request.getSession()获取session对象
通过xxx.setAttribute()和xxx.getAttribute() 功能,在不同的页面或Action中传递数据
如果我们出于业务需要非要拿到HttpServletRequest、HttpSession、HttpServletResponse对象,下面可以这样实现:
HttpServletRequest request = ServletActionContext.getRequest();//得到servlet API中的request request.setAttribute("req", "servlet API中的request范围");
HttpSession session = request.getSession();//得到servlet API中的session session.setAttribute("ses", "servlet API中的session会话范围");
HttpServletResponse response = ServletActionContext.getResponse();//得到servlet API中的response
ServletContext servletContext = ServletActionContext.getServletContext();//得到servlet API中的Application servletContext.setAttribute("app", "servlet API中的Application全局范围"); |
转载于:https://www.cnblogs.com/prado/archive/2012/10/31/2748620.html
最后
以上就是称心树叶为你收集整理的Struts 2访问Servlet API 使用request,session,application的全部内容,希望文章能够帮你解决Struts 2访问Servlet API 使用request,session,application所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复