Struts2_008_Servlet API耦合的访问方式值之ServletActionContext
2017-10-29 09:29
477 查看
概述
直接访问 Servlet API 将使 Action 与 Servlet 环境耦合在一起, 测试时需要有 Servlet 容器, 不便于对 Action 的单元测试.直接获取 HttpServletRequest 对象:
ServletActionContext.getRequest()
直接获取 HttpSession 对象
ServletActionContext.getRequest().getSession()
直接获取 ServletContext 对象
ServletActionContext.getServletContext()
步骤:
1.获得HttpServletRequest对象:ServletActionContext.getRequest()
2.通过request对象获得session、application、参数(只要是通过这几个对象可以获得的,那就都可以获得)
测试代码
通过ServletActionContext类访问package top.itcourse.coupling; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; /* * 耦合方式访问web资源之ServletActionContext: * 1.获得HttpServletRequest对象:ServletActionContext.getRequest() * 2.通过request对象获得session、application、Parameter(只要是通过这几个对象可以获得的,那就都可以获得) */ public class TestCoupling { // action方法 public String execute() { // ①.获取HttpServletRequest对象 HttpServletRequest request = ServletActionContext.getRequest(); // ②.获取HttpSession对象 HttpSession session = request.getSession(); // ③.获得ServletContext对象(这个也可以通过ServletActionContext.getServletContext()获取到) ServletContext application = request.getServletContext(); // ④.获得访问参数值 reques 4000 t.getParameterValues("name"); System.out.println("request: " + request + "\nsession: " + session + "\napplication: " + application); return "success"; } }
效果
其它
- 源码下载关注下方公众号,回复:耦合的访问方式值之ServletActionContext.code
欢迎加入交流群:451826376
更多信息:www.itcourse.top
相关文章推荐
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
- Struts2中访问Servlet中的API(ActionContext,ServletActionContext)两种方式
- Struts2_009_Servlet API耦合的访问方式值之ServletXxxAware
- Struts2 Action与ServletAPI的解耦、耦合
- Struts2中 Action获得servletAPI的三种方式
- struts2中Action访问servlet的两种方式
- struts2学习笔记之六(Action访问servlet的API以及复制项目小技巧)
- struts2的Action访问Servlet的几种方式和全局result
- Struts2 访问 Servlet API 的四种方式
- struts2中耦合访问servlet- API
- Struts2中解耦的方式访问appliactionContext对象
- Struts2(6):使用ServletActionContext访问Servlet API
- struts2 中属性驱动(其实就是struts2 action 中处理 request 的参数【old 方式servlet api 封装数据到javabean中(or beanutils)】),这里属性驱动是新方式
- Struts2 Action与ServletAPI的解耦、耦合
- 【struts2】ActionContext与ServletActionContext
- struts2的ServletActionContext.getRequest()总是报错
- struts 和servlet APi的耦合方式
- 传智播客-struts2(3)-Servlet API访问、拦截器以及struts2的小bug
- Struts2 ServletActionContext和ActionContext联系相关问题探讨
- Struts2 ServletActionContext和ActionContext联系相关问题探讨