Java自学笔记之struts访问ServletAPI
来源:互联网 发布:ubuntu安装grub2 编辑:程序博客网 时间:2024/06/05 09:06
1、Action对ServletAPI的访问有两种方式,分别是间接访问和直接访问。
2、使用ServletActionContext访问Servlet API
HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); ServletContext application = ServletActionContext.getServletContext(); PageContext pageContext = ServletActionContext.getPageContext(); Map<String, Object> session = ServletActionContext.getContext().getSession();
3、Action直接访问Servlet API,也就是注入方式
Struts2提供了如下几个接口使Action可以直接访问到Servlet API:
3.1:ServletContextAware:实现该接口的Action可以直接访问Web应用的ServletContext实例
3.2:ServletRequestAware:实现该接口的Action可以直接访问Web应用的ServletRequest实例.
3.3:ServletResponseAware:实现该接口的Action可以直接访问Web应用的ServletRsponse实例.
3.4:SessionAware实现该接口的Action可以直接访问Web应用的Map Session实例.
public class ContextAction02 extends ActionSupport implements ServletRequestAware, ServletResponseAware, ServletContextAware, SessionAware{ HttpServletRequest request; HttpServletResponse response; Map sessionMap; ServletContext sc; public String test(){ System.out.println("ContextAction *********** test()"); request.setAttribute("username", "username_request"); sessionMap.put("username", "username_session"); sc.setAttribute("username", "username_application"); return "attr"; } public void setSession(Map<String, Object> session) { this.sessionMap = session; } public void setServletContext(ServletContext context) { this.sc = context; } public void setServletResponse(HttpServletResponse response) { this.response = response; } public void setServletRequest(HttpServletRequest request) { this.request = request; }}
4、通过ActionContext 访问
ActionContext有以下方法,将ServletAPI封装成Map集合了
// 创建一个ActionContextduixangActionContext context=ActionContext.getContext();通过context对象获取Servlet API// ActionContext有以下方法Map<String,Object> getApplication()// 获取applicationMap<String,Object> getParameters() //相当于 request.getParameterMap();Map<String,Object> getSession(); //获取sessionput(String key,Object value); //相当于request.setAttribute();Object get(String key) //相当于request.getAttribute();
public class UserAddAction extends ActionSupport { private String userName; private String password; @Override public String execte() throws Exception { ActionContext ac = ActionContext.getContext(); ac.getApplication.put("uname", userName); ac.getApplication.put("upwd", password); return SUCCESS; } }
阅读全文
0 0
- Java自学笔记之struts访问ServletAPI
- Struts2之访问ServletAPI
- Java自学笔记之struts获取前台参数的方法
- Struts-servletapi
- Java WebSocket基于注解配置访问ServletAPI
- Java自学笔记之深入理解struts.xml和常用配置
- Java自学笔记之标识符
- Java自学笔记之数组
- 自学笔记之java基础
- java自学笔记之static
- java自学笔记之GUI
- servlet(4) - servletAPI - 小易Java笔记
- Struts获取ServletAPI
- Struts框架--获取servletApi
- java自学笔记之java高新技术
- Action访问servletAPI方式
- Struts2 访问servletAPI
- Struts2获取/访问ServletAPI
- 求数组中的最值问题
- function-like classes 仿函数笔记----C++学习之路
- OpenStack----使用devstack 安装openstack(All in one)
- 模拟实现memcpy函数
- [3]43. Multiply Strings(Java)
- Java自学笔记之struts访问ServletAPI
- linux下面安装nginx
- [Unity 优化]渲染优化
- http协议
- 电梯算法
- 大数据(三十二)HBASE【Hbase JavaAPI访问HBase】
- 通过 sysprocesses 解决Sql死锁问题
- 自学列式List/Map/Collections
- 模拟实现memmove函数