获取request、session的方法
2.1 与servlet无关:
2.1.1 非IoC模式
Java代码
ActionContext context ;//该方法还可以取得值栈(getValueStack()),使用push(obj)往值栈中放数据
Map request ;
Map session ;
Map application ;
//以下初始化方法要放在方法中
context = ActionContext.getContext();
request = (Map)context.get("request");//获取request
session = context.getSession();//获取session
application = context.getApplication();//获取application
request.put("req", "request属性");
session.put("ses", "session属性");
application.put("app", "application属性");
ActionContext context ;//该方法还可以取得值栈(getValueStack()),使用push(obj)往值栈中放数据
Map request ;
Map session ;
Map application ;
//以下初始化方法要放在方法中
context = ActionContext.getContext();
request = (Map)context.get("request");//获取request
session = context.getSession();//获取session
application = context.getApplication();//获取application
request.put("req", "request属性");
session.put("ses", "session属性");
application.put("app", "application属性");
Xml代码
<!--jsp中取值-->
request属性接受:<s:property value="#request.req"/>${requestScope.req}
session属性接受:<s:property value="#session.ses"/>${sessionScope.ses}
application属性接受:<s:property value="#application.app"/>${applicationScope.app}
<!--jsp中取值-->
request属性接受:<s:property value="#request.req"/>${requestScope.req}
session属性接受:<s:property value="#session.ses"/>${sessionScope.ses}
application属性接受:<s:property value="#application.app"/>${applicationScope.app}
2.1.2 IoC模式
Java代码
//实现接口
public class LoginAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware
Map request ;
Map session ;
Map application ;
public void setRequest(Map request) {
this.request = request;
}
public void setSession(Map session) {
this.session = session;
}
public void setApplication(Map application) {
this.application = application;
}
//实现接口
public class LoginAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware
Map request ;
Map session ;
Map application ;
public void setRequest(Map request) {
this.request = request;
}
public void setSession(Map session) {
this.session = session;
}
public void setApplication(Map application) {
this.application = application;
}
2.2 与servlet有关
2.2.1 非IoC模式
Java代码
HttpServletRequest request;
HttpSession session ;
ServletContext application;
request = ServletActionContext.getRequest();//获取request
session = request.getSession();
application = ServletActionContext.getServletContext();//获取application
request.setAttribute("req", "request属性111");
session.setAttribute("ses", "session属性111");
application.setAttribute("app", "application属性111");
HttpServletRequest request;
HttpSession session ;
ServletContext application;
request = ServletActionContext.getRequest();//获取request
session = request.getSession();
application = ServletActionContext.getServletContext();//获取application
request.setAttribute("req", "request属性111");
session.setAttribute("ses", "session属性111");
application.setAttribute("app", "application属性111");
2.2.1 IoC模式
Java代码
//实现接口
public class LoginAction extends ActionSupport implements ServletRequestAware,ServletContextAware
HttpServletRequest request;
ServletContext application;
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public void setServletContext(ServletContext application) {
this.application = application;
}
分享到:
相关推荐
在Struts2中,有四种主要的方式可以用来操作request、session和application上下文中的数据。这篇内容将深入探讨这四种方法,并结合源码和实用工具来帮助理解。 1. **ActionContext**: Struts2的核心组件...
在 Struts2 中,处理用户请求时经常需要使用到 Servlet 的内置对象,比如 Request、Session 和 Application,这些对象可以帮助开发者存储和获取数据。然而,在实际应用中,为了避免代码与 Servlet API 过度耦合,...
在Struts2框架中,理解并正确使用request、response、session和application范围对于有效地管理数据和状态至关重要。这些范围帮助我们在Web应用程序中实现逻辑和数据流的分离,提高代码的可维护性和可扩展性。通过...
在Struts2中,访问Web资源,如application、session和request,是常见的操作,这有助于实现数据共享和传递。本示例代码将帮助开发者更好地理解和运用这些功能。 一、Application域对象 Application域对象在所有用户...
以下将详细介绍如何在Struts2的Action中获取request、response、session。 ### 1. 使用ActionContext获取request、response、session Struts2的Action可以通过`ActionContext`来间接获取`request`、`response`和`...
在Struts2中,访问request、session和application对象是进行数据共享和传递的重要手段。这篇学习笔记主要探讨了如何在Struts2框架下有效地利用这三种域对象。 首先,request对象代表一次HTTP请求,它存储的数据仅...
在Struts2中,ActionContext不仅仅是获取request和response的工具,它还包含了其他有用的上下文信息,如session、application等。例如,你可以通过ActionContext获取session中的数据: ```java Map, Object> ...
`AttributeMap`是一个特殊的类,它可以用来获取所有作用域内的值,包括`request`、`session`和`application`范围内的数据。 #### 三、接口实现 为了能够访问这些作用域,Struts2提供了几个接口,开发者可以根据...
2.修改题目1,将提交的“用户名信息”保存到request中,“密码信息”保存到session中,而“用户是否已经注册的判定信息”保存在application中,并在显示页面中,分别从request、session和application中获取数据并...
因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。如果途中找到username,就直接回传,不再继续找下去,但是如果全部的范围都没有找到时,就回传null。 属性...
它有内置对象如request、response、session、application等,方便处理HTTP请求和响应。 - **EL(Expression Language)**:EL简化了在JSP中获取和设置属性值的方式,无需编写Java脚本,使得JSP更加简洁。 - **JSTL...
- 访问不同范围内的属性:如`#attr.userName`会按照`request > session > application`的顺序查找`userName`属性。 - **条件筛选**:在集合中使用OGNL进行条件筛选,例如`books.{?#this.price>35}`表示筛选价格...
通过`pageContext`,我们可以方便地获取到如`request`、`session`、`application`等内置对象,这对于实现自定义标签非常有帮助。 #### 2.2 获取`HttpSession`的具体方法 在自定义标签的Java类中,可以通过以下方式...
### Struts2中#号的用法详解 在Struts2框架中,`#`符号是一种非常重要的语法元素,主要用于访问上下文中的变量。本文将详细介绍`#`符号的使用方法及其应用场景,帮助读者更好地理解和掌握Struts2框架的相关知识。 ...
Struts2 标签可以访问不同的作用域的类,例如 request、session、application 等。 标签的优点 Struts2 标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,Struts2 的主题、模板都提供了很好的扩展...
4. 命名对象:包括在Servlet作用范围内的对象信息,如Request、Session、Application等。 在实际开发中,开发者可以通过OGNL表达式访问值栈中的Action属性、对象和其他信息。例如,使用标签可以输出Action中的属性...
- **通过ActionContext访问**:使用ActionContext获取Servlet API对象,如Request、Session、Application等。 - **ActionContext生命周期**:每个请求周期内创建一个ActionContext实例,并在请求结束后销毁。 #### ...
在这个“Struts2五种数据封装Demo”中,我们将深入探讨Struts2的数据封装机制,以及如何通过配置文件来操作Servlet的三大核心对象——Request、Session和Application。同时,我们还将了解如何从表单中获取数据并进行...
ActionContext是Struts2框架的核心组件之一,它维护着当前请求的环境信息,包括请求参数、session、application等数据。在每次HTTP请求处理时,Struts2都会创建一个ActionContext实例,并将其设置为线程局部变量,...