首页 > 代码库 > 5.Struts2框架中的ServletAPI如何获取
5.Struts2框架中的ServletAPI如何获取
1.完全解耦合的方式
如果使用该种方式,Struts2框架中提供了一个类,ActionContext类,该类中提供一些方法,通过方法获取Servlet的API
一些常用的方法如下
* static ActionContext getContext() -- 获取ActionContext对象实例 * java.util.Map<java.lang.String,java.lang.Object> getParameters() -- 获取请求参数,相当于request.getParameterMap(); * java.util.Map<java.lang.String,java.lang.Object> getSession() -- 获取的代表session域的Map集合,就相当于操作session域。 * java.util.Map<java.lang.String,java.lang.Object> getApplication() -- 获取代表application域的Map集合 * void put(java.lang.String key, java.lang.Object value) -- 注意:向request域中存入值。
/** * 完全解耦合的方式,使用Servlet的API * @author Administrator */ public class Demo1Action extends ActionSupport{ private static final long serialVersionUID = -7255855724015241518L; public String execute() throws Exception { // 完全接耦合的方式 ActionContext context = ActionContext.getContext(); // 获取到请求的参数,封装所有请求的参数 Map<String, Object> map = context.getParameters(); // 遍历获取数据 Set<String> keys = map.keySet(); for (String key : keys) { // 通过key,来获取到值 String [] vals = (String[]) map.get(key); System.out.println(key+" : "+Arrays.toString(vals)); } // 如果向request对象中存入值 context.put("msg", "小东东"); // 获取其他map集合 context.getSession().put("msg", "小苍"); context.getApplication().put("msg", "小泽"); return SUCCESS; } }
2.使用原生Servlet的API的方式--简单方便
* Struts2框架提供了一个类,ServletActionContext,该类中提供了一些静态的方法
* 具体的方法如下
* getPageContext()
* getRequest()
* getResponse()
* getServletContext()
/** * 原生的API * @author Administrator * */ public class Demo2Action extends ActionSupport{ private static final long serialVersionUID = -864657857993072618L; public String execute() throws Exception { // 获取到request对象 HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("msg", "小东东"); request.getSession().setAttribute("msg", "美美"); ServletActionContext.getServletContext().setAttribute("msg", "小凤"); HttpServletResponse response = ServletActionContext.getResponse(); // 使用输出流,输出内容 return SUCCESS; } }
5.Struts2框架中的ServletAPI如何获取
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。