`
高成锋
  • 浏览: 52744 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

struts2学习笔记【九】/ 获取request,Session的方法

阅读更多

1. 获取requestsession的方法

1.1. IOC

public class Test extends ActionSupport{

     ActionContext context;

     Map request;

     Map session;

     Map application;

    public String execute()throws Exception{

     context = ActionContext.getContext();

       request = (Mapcontext.get("request");

     session = context.getSession();

       application = context.getApplication();

     request.put("req""ceshi");

     session.put("sess""admin");

     return "SUCCESS";

     }

}

前台取值方法:

<s:property  value="#request.req">

<s:property  value="#session.sess">

这是OGNL写法,在后面我们将详细的学习。

1.2. IOC模式

public class Test extends ActionSupport 

implements RequestAware,SessionAware,ApplicationAware{

Map request;

Map session;

Map application;

public String execute()throws Exception{

request.put("req""ceshi");

session.put("sess""admin");

return "SUCCESS";

}

public void setRequest(Map request) {

this.request = request;

}

public void setSession(Map session) {

this.session = session;

}

public void setApplication(Map application) {

this.application = application;

}

}

该方法区别与第一个方法的地方在于其实现了几个借口,同时实现了其自带的几个方法,这几个set方法会自动寻找类的属性,在方法体中进行赋值操作,容器自己注入。

以上两种方法,如果需要获得容器对应的作用域中固有属性,就没有用了。

1.3. IOC模式

public class TestScope extends ActionSupport{

HttpServletRequest request;

HttpSession session;

ServletContext application;

public String execute()throws Exception{

request = ServletActionContext.getRequest();

session = request.getSession();

application = ServletActionContext.getServletContext();

request.setAttribute("loginname""admin");

return "SUCCESS";

}

}

如果只是单纯的传递值,那么以上两种方法均可以达到,但是如果需要用到一些servlet本身的属性时,这样的操作就很有价值了。

1.4. IOC模式

public class TestScope extends ActionSupport implements 

ServletRequestAware,ServletContextAware

{

HttpServletRequest request;

HttpSession session;

ServletContext application;

public String execute()throws Exception{

session = request.getSession();

request.setAttribute("loginname""admin");

return "SUCCESS";

}

public void setServletRequest(HttpServletRequest request) {

this.request = request;

}

public void setServletContext(ServletContext application) {

this.application = application;

}

}

唯一需要我们关注的时,在系统注入的时候,session没有被注入,我们必须手动的通过request这个属性来获取session的值。

什么是IOC,有兴趣可以自己学习,一下,不过我相信,通过以上例子,大家应该有个模糊的印象。

<!--EndFragment-->
分享到:
评论

相关推荐

    Struts2学习笔记(三) Struts2中访问request,session,和application对象

    这篇学习笔记主要探讨了如何在Struts2框架下有效地利用这三种域对象。 首先,request对象代表一次HTTP请求,它存储的数据仅限于当前请求的生命周期内。在Struts2中,我们通常通过Action类的成员变量来访问request域...

    struts2 学习重点笔记

    - **方法**:通过 Action 的 getter 方法获取数据,然后将其添加到 request 或 session 中传递给视图。 - **原理**:Struts2 的拦截器会在 Action 执行完成后,调用 getter 方法并将结果存储到适当的范围对象中。 *...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Action类通常包含了业务逻辑的处理方法,这些方法会被Struts2调用以响应用户的请求。Action类可以通过返回不同的字符串来决定后续的视图显示,如返回"success"、"error"等,这些字符串与配置文件中的Result相关联。 ...

    struts2框架学习笔记整理

    ### Struts2框架学习笔记整理 #### 一、Struts2框架概述 ##### 1.1 Struts2框架定义 Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的...

    struts2的学习笔记+测试源代码

    本学习笔记结合测试源代码深入探讨了如何在Struts2框架下获取并使用`request`、`session`、`ServletContext`以及`response`对象,这些都是在Web开发中不可或缺的基础组件。 ### request对象 `HttpServletRequest`...

    Struts_学习笔记之ActionForm

    Struts学习笔记之ActionForm ActionForm是Struts框架中的一种重要组件,用于封装和处理用户的表单数据。在Struts中,ActionForm是继承自JavaBeans的,主要用于处理用户的表单数据和业务逻辑。下面是ActionForm的...

    struts2培训笔记

    - **服务器对象**:Struts2提供了一系列的方法来获取服务器端的对象,如session、application和request等。 - **装配接口**:Struts2支持自动装配机制,允许开发者通过实现特定的接口(如RequestAware、SessionAware...

    赵栋struts2 笔记

    赵栋的Struts2笔记主要涵盖了2013年的相关知识,以下是根据笔记内容提炼出的一些关键知识点: 1. **URL与Action方法绑定**: 在Struts2中,通过URL直接调用Action类的方法是可能的。如果在URL中附加"!"后跟方法名...

    [黑马程序员Struts2 2016版视频] 前3Days笔记

    虽然笔记中没有提供源代码,但学习过程中可以通过模仿示例创建简单的Struts2应用,如用户登录注册系统,熟悉Action配置、视图展现和拦截器的使用。 总结,黑马程序员Struts2 2016版的前3Days笔记重点介绍了Struts2...

    struts学习笔记(3)

    1. **使用Struts2标签库**:最简单的方法就是使用Struts2自带的标签库,如`&lt;s:property&gt;`标签来获取数据。例如: ```jsp &lt;s:property value="username" /&gt; ``` 2. **使用JSTL或其他表达式语言**:对于更高级的...

    Struts 1.3.8 学习笔记(四)

    在 Struts 1.3.8 中,表单 Bean 可以是 session-based 或 request-based,根据应用场景选择合适的方式。 5. **Tiles 模块**:Struts 1.3.x 版本引入了 Tiles 框架,它允许开发者定义可重用的页面布局,增强了视图层...

    struts学习笔记(4)

    ### Struts 学习笔记(4):深入理解 OGNL 表达式与 Struts2 标签 #### 一、OGNL 表达式简介 **OGNL**(Object Graph Navigation Language)是一种功能强大的表达式语言,在 Struts2 框架中扮演着非常重要的角色。...

    struts学习笔记

    - `ServletActionContext`可用于获取`request`、`response`和`servletContext`对象,但不提供直接获取`session`的方法。 #### 三、Struts.xml中package标签的详细配置说明 **1. 基本属性**: - **name**:包的...

    spring+hibernate+struts2使用笔记

    根据给定文件的信息,我们可以总结出关于Spring、Hibernate与...以上就是Spring、Hibernate与Struts2框架使用与整合的主要知识点,通过这些知识点的学习和实践,可以帮助开发者更好地理解和掌握这些框架的使用方法。

    [摘]Struts 学习笔记之ActionForm

    本篇学习笔记主要关注的是ActionForm,它是Struts框架中用于处理用户请求的核心组件之一。 ActionForm是Struts中用于接收和验证用户输入的数据的类。当用户通过表单提交数据时,这些数据会被封装到一个ActionForm...

    Struts2_OGNL 笔记

    Struts2_OGNL笔记主要关注的是如何在Struts2框架中使用OGNL(Object-Graph Navigation Language)表达式语言。OGNL作为一种强大的表达式语言,常用于Struts2的视图层,允许开发者轻松地访问和操作Java对象的属性。 ...

    OGNL学习笔记,包含struts2中ognl的各种用法

    本篇笔记主要介绍了在Struts2中使用OGNL的一些基本用法。 首先,OGNL可以用来获取不同范围内的属性值。在Java Web开发中,有四种常见的作用域:Request、Session、Application和Page。在示例代码中,`&lt;s:property&gt;`...

    Struts2学习笔记(7)-访问Web元素

    在这篇Struts2学习笔记中,我们将重点讨论如何在Struts2中使用这些元素。 首先,`request`对象代表了HTTP请求的生命周期,它只存在于一次请求中。当用户通过浏览器发送一个请求到服务器,服务器创建一个request对象...

Global site tag (gtag.js) - Google Analytics