您的位置:首页 > 编程语言 > Java开发

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐