`
pavel
  • 浏览: 915787 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

STRUTS2获得内置对象

阅读更多

在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方式:

这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类,具体的方法如下所示。

获得request对象:

A HttpServletRequest request = ServletActionContext.getRequest(); 

  ServletContext application = ServletActionContext.getServletContext();

B.ActionContext ct= ActionContext.getContext()

   HttpServletRequest request= (HttpServletRequest)ct.get(ServletActionContext. HTTP_REQUEST); 

   或

    ct.put("req","request范围");

    ct.getSession().put("session","session范围");

    ct.getApplication().put("application","application范围");

显示

   ${applicationScope.req}


获得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了。

分享到:
评论

相关推荐

    Struts2_入门篇_基本配置_通配符_参数注入_内置对象获取等。。。

    此文件可直接导入测试使用,供初学struts2的朋友借鉴,包含struts2类中获得内置对象,注入form表单参数,struts2的基本XML配置等等...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

    第2章 Java对象持久化技术概述  2.1 直接通过JDBC API来持久化实体域对象  2.2 ORM简介  2.2.1 对象-关系映射的概念  2.2.2 ORM中间件的基本使用方法  2.2.3 常用的ORM中间件  2.3 实体域对象的其他持久化模式...

    java web技术开发大全(最全最新)

    提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例和4...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

    第2章 Java对象持久化技术概述  2.1 直接通过JDBC API来持久化实体域对象  2.2 ORM简介  2.2.1 对象-关系映射的概念  2.2.2 ORM中间件的基本使用方法  2.2.3 常用的ORM中间件  2.3 实体域对象的其他持久化模式...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

    第2章 Java对象持久化技术概述  2.1 直接通过JDBC API来持久化实体域对象  2.2 ORM简介  2.2.1 对象-关系映射的概念  2.2.2 ORM中间件的基本使用方法  2.2.3 常用的ORM中间件  2.3 实体域对象的其他持久化模式...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

    第2章 Java对象持久化技术概述  2.1 直接通过JDBC API来持久化实体域对象  2.2 ORM简介  2.2.1 对象-关系映射的概念  2.2.2 ORM中间件的基本使用方法  2.2.3 常用的ORM中间件  2.3 实体域对象的其他持久化模式...

    java web开发技术大全

    提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例...

    java面试题自己总结的ssh较多

    3.Servlet中没有内置对象,jsp中的内置对象都是必须通过HttpServletRequest对象。HttpServletretSponse对象以及HttpServlet对象得到。 4.Jsp是servlet的一种简化,使用jsp只需要完成程序员需要输出到客户端的内容,...

    J2EE应用开发详解

    149 9.4 JSF的组成 152 9.4.1 UI组件 152 9.4.2 JSF标签 154 9.5 统一EL 156 9.5.1 表达式和函数 156 9.5.2 操作符 157 9.5.3 保留字 158 9.5.4 内置对象 158 9.6 Backing Bean 158 9.7 创建自定义组件 162 9.8 小结...

    Java面试题集(面试时技术部面试官一般会问的技术题)

    然后在面试过程中发现一般面试官会问的技术问题都可以在本文档找得到,一般会问servlet的生命周期、Struts和struts2的区别,hibernate、spring的认识、对象、修饰符的作用域、OOP的如接口、抽象、JSP的内置对象等。...

    java面试题

    jsp内置对象? 答:request 用户端请求 response 回应 pageContext 网页属性 session 会话 out 输出 page 当前网页 exception 错误网页 application servlet正在执行的内容 config servlet构架部件 Struts...

    超级有影响力霸气的Java面试题大全文档

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 17、...

    freemarker总结

    2、 hashes:充当其它对象的容器,每个都关联一个唯一的查询名字 具有一个唯一的查询名字和他包含的每个变量相关联。 3、 sequences:充当其它对象的容器,按次序访问 使用数字和他包含的每个变量相关联。索引值...

    jsp网络编程从基础到实践

    第5章 JSP的内置对象 实例20 request常用方法的应用 实例21 获得表单数据 实例22 页面重定向程序示例 实例23 定时刷新页面程序示例 实例24 记住会话的用户名 实例25 猜字母游戏 实例26 网站计数器 实例27 用...

    JSP网络编程从基础到实践 实例代码

    第5章 JSP的内置对象 实例20 request常用方法的应用 实例21 获得表单数据 实例22 页面重定向程序示例 实例23 定时刷新页面程序示例 实例24 记住会话的用户名 实例25 猜字母游戏 实例26 网站计数器 实例27 用...

    千方百计笔试题大全

    121、jsp有哪些内置对象?作用分别是什么? 31 122、jsp有哪些动作?作用分别是什么? 31 123、JSP中动态INCLUDE与静态INCLUDE的区别? 31 124、两种跳转方式分别是什么?有什么区别? 31 125、如何执行一个线程安全的JSP?...

    java面试宝典

    121、jsp有哪些内置对象?作用分别是什么? 31 122、jsp有哪些动作?作用分别是什么? 31 123、JSP中动态INCLUDE与静态INCLUDE的区别? 31 124、两种跳转方式分别是什么?有什么区别? 31 125、如何执行一个线程安全的JSP?...

    JSP网络编程从基础到实践的实例代码

    第5章 JSP的内置对象 实例20 request常用方法的应用 实例21 获得表单数据 实例22 页面重定向程序示例 实例23 定时刷新页面程序示例 实例24 记住会话的用户名 实例25 猜字母游戏 实例26 网站计数器 实例27 用...

    java 面试题 总结

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 14、Overload...

Global site tag (gtag.js) - Google Analytics