在struts2中访问servletAPI
来源:互联网 发布:php 父类获取子类属性 编辑:程序博客网 时间:2024/05/16 06:27
在struts2中访问servletAPI,通俗点也就是使用servlet中的两个对象request对象和response对象。
前几天看到一个CRM项目的源码,里面使用request对象和response对象方式和我以前使用的方式有点不同,于是便上网查询一些相关资料。特此记录于此,有兴趣的也可以参考参考。
- 以往使用struts2往网页填充数据通常采用往值栈存放数据,也就是ActionContext.getContext().****();后面的方法类似与request对象和response对象的方法。
- 这几天看到的是实现接口ServletRequestAware,ServletResponseAware。通过这两个接口实现两个方法setServletResponse(HttpServletResponse response)与setServletRequest(HttpServletRequest request)。然后访问用户请求的HttpServletRequest实例与服务器响应的HttpServletResponse实例。
- 进过上网查找还有一种ServletActionContext,这个类直接继承了ActionContext。
- ActionContext:
- Object get(Object key):该方法类似于调用HttpServletRequest的getAttribute(String name)方法;
- Map getApplication():返回一个Map对象,该对象模拟了该应用的ServletContext实例;
- static ActionContext getContext():静态方法,获取系统的ActionContext实例;
- Map getParameters():获取所有的请求参数。类似于调用HttpServletRequest对象的getParameterMap方法;
- Map getSession():返回一个Map对象,该Map对象模拟了HttpSession实例;
- void setApplication(Map application):直接传入一个Map实例,将该Map实例里的key-value对转换成application的属性名,属性值;
- void setSession(Map session):直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名,属性值
- ServletActionContext
- static PageContext getPageContext():取得Web应用的PageContext对象;
- static HttpServletRequest getRequest():取得web应用的HttpServletRequest对象;
- static HttpServletResponse getResponse():取得web应用的HttpServletResponse对象;
- static ServletContext getServletContext():取得web应用的ServletContext对象;
我贴上代码来看看吧。
ServletRequestAware,ServletResponseAware
package cn.crm.web.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.interceptor.ServletRequestAware;import org.apache.struts2.interceptor.ServletResponseAware;import com.opensymphony.xwork2.ActionSupport;public class BaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware{protected HttpServletRequest request;protected HttpServletResponse response;@Overridepublic void setServletResponse(HttpServletResponse response) {// TODO Auto-generated method stubthis.response=response;}@Overridepublic void setServletRequest(HttpServletRequest request) {// TODO Auto-generated method stubthis.request=request;}}ActionContext
ActionContext context = ActionContext.getContext(); Map params = context.getParameters(); String username = (String) params.get("username");
HttpServletRequest request = ServletActionContext. getRequest();HttpSession session = ServletActionContext. getRequest().getSession();
1 0
- 在struts2中访问servletAPI
- Struts2中访问ServletAPI
- Struts2中Action访问ServletAPI
- Struts2中Action访问ServletAPI
- Struts2 访问servletAPI
- Struts2获取/访问ServletAPI
- Struts2之访问ServletAPI
- Struts2访问ServletAPI方法
- Struts2中访问ServletAPI的四种方式
- Struts2访问ServletAPI的两种途径
- Struts2框架2.访问ServletAPI对象
- Struts2的Action访问ServletAPI的方式
- Struts2学习(五)【访问servletAPI方式】
- struts2访问servletAPI的几种方式
- struts2学习笔记(2)---Action中访问ServletAPI获取Map类型的Servlet元素
- struts2学习笔记(3)---Action中访问ServletAPI获取真实类型的Servlet元素
- Struts2(二)使用Struts2访问ServletAPI对象
- Struts2(二)使用Struts2访问ServletAPI对象
- C和C++中struct的区别是什么以及C++中struct和class的区别是什么
- ios开发入门- NavigationController导航控制使用
- NYOJ252---01串
- 8个常见排序算法
- java中的异常The given object has a null identifier
- 在struts2中访问servletAPI
- DLX精确覆盖poj1086
- hdu 5045 费用流
- 【Manacher】 HDOJ 3068 最长回文
- JavaSE线程复习之路
- 输出一个集合的所有子集(算法)
- Storm基础知识
- [欧拉回路] poj 1386 Play on Words
- 靠谱的同步工具,记同步短信经历