Struts2中的session、request、respsonse获取方法
来源:互联网 发布:做淘宝必须有团队 编辑:程序博客网 时间:2024/06/06 05:34
Struts2中的action跟struts1中的action不一样,struts1中的request、response对象都是通过参数引入的。而struts2对这些对象跟业务逻辑进行了真正的分离,struts对session、request、response等对象进行了封装,获取这些对象也有了不同的方法,下面为两种获取这些对象的方法:
1、通过ServletActionContext.getRequest(),ServletActionContext.getResponse()方法获取request、response对象,然后可以进行操作,session用 request.getSession()获取。
2、action实现org.apache.struts2.interceptor.SessionAware接口,在实现了该接口之后,session、request、response对象都通过IOC的方式进行注入。
所以根据这两种方式的不同,我们又称第一种方式为非IOC方式,第二种方式为IOC方式。
下面的分别举例来说明:
1、首先我们看一下传统的方式(非IOC方式):
1 import javax.servlet.http.HttpServletRequest; 2 import javax.servlet.http.HttpServletResponse; 3 import javax.servlet.http.HttpSession; 4 5 import org.apache.struts2.ServletActionContext; 6 import com.opensymphony.xwork2.ActionContext; 7 import com.opensymphony.xwork2.ActionSupport; 8 9 public class NonIoCServlet extends ActionSupport {10 11 @Override12 public String execute() {13 14 //获取Session对象15 ActionContext.getContext().getSession().put("msg", "Hello World from Session!");16 //获取request对象17 HttpServletRequest request = ServletActionContext.getRequest();18 19 //获取response 对象20 HttpServletResponse response = ServletActionContext.getResponse(); 21 22 //获取session的另外一种方式23 HttpSession session = request.getSession();24 25 //对这些对象的使用26 ......27 return SUCCESS;28 }29 }
2、接下来看IOC方式:
1 import java.util.Map; 2 import javax.servlet.http.HttpServletRequest; 3 import javax.servlet.http.HttpServletResponse; 4 import javax.servlet.http.HttpSession; 5 6 import org.apache.struts2.interceptor.ServletRequestAware; 7 import org.apache.struts2.interceptor.ServletResponseAware; 8 import org.apache.struts2.interceptor.SessionAware; 9 import com.opensymphony.xwork2.ActionContext;10 import com.opensymphony.xwork2.ActionSupport;11 12 publicclass IoCServlet extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {13 14 private Map session;15 private HttpServletRequest request;16 private HttpServletResponse response; 17 18 //set注入Session,struts2把session封装成了一个Map19 publicvoid setSession(Map att) {20 this.att = att;21 }22 //set注入request对象23 publicvoid setServletRequest(HttpServletRequest request) {24 this.request = request;25 }26 //set注入response对象27 publicvoid setServletResponse(HttpServletResponse response) {28 this.response = response;29 }30 31 @Override32 public String execute() { 33 //方法中可以对session、request、response进行操作 34 35 ......36 37 return SUCCESS;38 }39 }
阅读全文
0 0
- Struts2中的session、request、respsonse获取方法
- Struts2中的session、request、respsonse获取方法
- Struts2中获取session、request、respsonse的两种方法
- struts2 获取request session方法
- 四种方法获取Struts2 action中的request,session,application
- Struts2获取request、session的方法
- struts2 获取request、session的方法
- struts2 获取request、session的方法
- struts2 获取 request session application的方法
- Struts2中获取request、session等方法
- struts2标签获取parameter,request,session,application中的值方法 value="#request.yearEnd"
- struts2 中的 Session & Request
- struts2标签获取parameter,request,session,application中的值
- struts2标签获取parameter,request,session,application中的值
- struts2标签获取parameter,request,session,application中的值
- 获取struts2中的对象 方式request、session、application、 resp
- struts2标签获取parameter,request,session,application中的值
- struts2标签获取parameter,request,session,application中的值
- 【进阶】从linux到android,进程的方方面面
- 关于 Android 进程保活,你所需要知道的一切
- jvm 有 Daemon,non-daemon 两种线程
- Android开发架构规范
- Android系统中的进程管理:进程的优先级
- Struts2中的session、request、respsonse获取方法
- Android系统中的进程管理:进程的创建
- Android系统中的进程管理:内存的回收
- [Unity&GameSparks]注册玩家信息分类无法添加
- 模拟摄像机和网络监控摄像机画面嵌入网页直播
- Codeforces514
- Java模板方法设计模式
- Java并发编程之线程(一)
- GPS和RTK的基本知识