zoukankan      html  css  js  c++  java
  • STRUTS2获得session和request

    在struts1中,获得到系统的request或者session对象非常方便,都是按照形参传递的,但是在struts2中,request和session都被隐藏了 struts提供两种方式访问session和request,其中比较常用的是利用SPRING里面所说的IOC即控制反转 IOC方式: action类实现ServletRequestAware接口,并新建一个HttpServletRequest request public class UserLoginAction extends ActionSupport implements ServletRequestAware{    public void setServletRequest(HttpServletRequest request) {      this.request=request;   } 然后可以生成的request得到对象,如request.getRemoteAddr() action类实现SessionAware接口,并创建一个MAP对象session public class UserLoginAction extends ActionSupport implements ServletRequestAware,SessionAware{    public void setServletRequest(HttpServletRequest request) {      this.request=request;   } public void setSession(Map session) {   this.session=session;  } 非IOC方式 非Ioc方式

    这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类,具体的方法如下所示。
    获得request对象:
    A HttpServletRequest request = ServletActionContext.getRequest ();
    B.ActionContext ct= ActionContext.getContext()
       HttpServletRequest request=
    (HttpServletRequest)ct.get(ServletActionContext. HTTP_REQUEST );
    获得session对象:
    在Struts2中底层的session都被封装成了Map类型,我们称之为SessionMap,而平常我们所说的session则是指HttpSession对象,具体的获得方法如下所示。
    A.Map session=ActionContext.getSession();
    B.Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);
    得到这个SessionMap之后我们就可以对session进行读写了,如果我们想得到原始的HttpSession可以首先得到HttpServletRequest对象,然后通过request.getSession()来取得原始的HttpSession对象。一般情况下SessionMap已经可以完成所有的工作,我们不必再去碰底层的session了。

     

    宝贝网址:

  • 相关阅读:
    Maven--setting详解
    OAuth 2.0 的四种方式
    C#站点检测
    SonarQube--项目工程代码质量检测神奇
    在外租房子,切记九点
    在线关系图工具
    ppt thinkcell-Thinkcell: 一款强大的专业图表制作工具
    在线数据库关系图工具
    tsql获取sqlserver某个库下所有表
    windows10 iis浏览wcf报404.3错误
  • 原文地址:https://www.cnblogs.com/W203654/p/2228621.html
Copyright © 2011-2022 走看看