后台调用ServletRequestAware和ServletContextAware两个接口,并实现他们的set方法,来和容器绑定。通过控制反转(IOC)传递参数,此方法还可以获取容器其他信息。
注意:取session时候还是需要从Request中获取。
package struts.test.action; import java.sql.SQLException; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.util.ServletContextAware; import com.opensymphony.xwork2.ActionSupport; /** * 登录练习 * @author zk * */ public class LoginAction extends ActionSupport implements ServletRequestAware,ServletContextAware{ //获取request对象 HttpServletRequest request1; HttpSession session1; ServletContext application1; @Override public String execute() throws Exception { session1 = request1.getSession(); request1.setAttribute("req", "request1属性"); session1.setAttribute("ses", "session1属性"); application1.setAttribute("app", "application1属性"); return SUCCESS; } @Override public void setServletRequest(HttpServletRequest request1) { // TODO 自动生成的方法存根 this.request1 = request1; } @Override public void setServletContext(ServletContext application1) { // TODO 自动生成的方法存根 this.application1 = application1; } }
前台2种方式获取(EL表达式和控制反转IOC)
<%@ page pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <% String path = request.getContextPath(); %> <html> <head></head> <body> <h1>adminSuc</h1> 管理员页面 <br/><br/> requset属性接受:<s:property value="#request.req"/> <br/> session属性接受:<s:property value="#session.ses"/><br/> application属性接受:<s:property value="#application.app"/><br/> <br/> ============================= <br/> <br/><h1> 另外一种获取方法 :</h1><br/> requset属性接受:${requestScope.req}<br/> session属性接受:${sessionScope.ses}<br/> application属性接受:${applicationScope.app}<br/> <br/> <br/> <a href="<%=path %>/login.jsp">返回</a> </body> </html>
相关推荐
### Struts2 访问 Request、Session 和 Application 作用域详解 #### 一、引言 Struts2 是一个基于 Java 的开源 Web 开发框架,它继承了 Struts1 的优秀特性并进行了改进,提供了更加灵活和强大的功能。在 Struts2...
- 实现特定的`ServletXxxAware`接口,如`ServletRequestAware`、`HttpSessionAware`等,让Struts2注入相应的对象。 #### 五、默认包`struts-default`的作用 - `struts-default`包定义了许多内置的拦截器和Result...
### Struts2框架知识点 #### Struts2框架概述 Struts2是一个开源的Web应用程序框架,基于MVC(Model-View-Controller)架构模式。它为Java Web开发者提供了一个强大的平台来构建高度可扩展的应用程序。Struts2的...
### Struts2中request与response的使用方法 #### 一、引言 Struts2作为Struts1的后续版本,在架构设计与实现机制上进行了大量的改进。相较于Struts1,Struts2对request、response、session等核心对象的处理方式有所...
### Struts2框架核心知识点详解 #### 一、Struts2框架概述 - **与Struts1的区别**:Struts2不仅仅是MVC模式的一个实现,它涵盖了Web应用程序开发的整个生命周期,包括测试和集成等阶段。 - **低侵入性**:在Struts...
4. **Struts2执行流程**: 请求从客户端发送,经过Web服务器解析配置,通过核心控制器`strutsPreparedAndExecuteFilter`,然后经过一系列拦截器处理,到达Action,Action执行后返回一个结果,再经过拦截器链,最后...
Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。文件上传是Web应用中的常见功能,例如用户上传图片、文档等。在Struts2框架下实现文件上传,需要理解以下几个核心概念和步骤: 1. **...
Struts2是一个流行的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。MyEclipse是一款强大的集成开发环境,特别适合于Java EE应用的开发,包括Struts2项目。以下是对如何使用MyEclipse进行Struts...
### STRUTS2获得作用域、参数响应对象及三种符号说明 #### 一、概述 在Struts2框架中,为了更好地管理Web应用程序中的请求、会话和应用范围的数据,Struts2提供了一系列的工具和机制。这包括了对`RequestMap`、`...
2. **添加Struts2插件**:Struts2的文件上传功能依赖于`struts2-convention-plugin`和`struts2-core`等库。在`struts.xml`配置文件中,需要启用Multipart解析器,例如添加`<constant name="struts.multipart.parser...
3. **实现ServletAware接口**:为了进一步解耦,Struts2允许开发者通过实现ServletRequestAware或ServletResponseAware接口,让Action类自动注入HttpServletRequest和HttpServletResponse对象。这样,无需在Action类...
用户可以通过Uploadify选择文件并上传,Struts2后台接收文件并进行处理。在实际开发中,你可能还需要处理文件大小限制、类型检查、错误处理等问题,以确保上传功能的健壮性和安全性。同时,随着技术的发展,现代...
Struts2允许Action类通过实现`ServletResponseAware`和`ServletRequestAware`接口来直接访问`HttpServletResponse`和`HttpServletRequest`对象。这两个接口由`org.apache.struts2.interceptor`包提供。当你在Action...
Struts2 是一个流行的Java Web开发框架,主要用于构建基于MVC(Model-View-Controller)模式的应用程序。本节将深入讲解Struts2的核心过滤器、体系结构以及Action的相关知识点。 1. **Struts2的核心过滤器**: ...
### Struts2中Action获取属性范围的方法 #### 一、引言 在Struts2框架中,为了实现灵活的应用逻辑处理,开发人员往往需要在Action类中获取诸如`request`、`session`等HTTP范围对象的数据。Struts2提供了一系列方便...
### Struts2框架基础知识与应用 #### 一、Struts2框架概述 1. **什么是框架** 框架是一种预先定义好的软件结构,它为开发者提供了一个基础架构来构建应用程序。开发者可以在框架的基础上扩展功能,而无需从零...
### Struts2教程:获得HttpServletResponse对象 在深入探讨如何在Struts2框架中获取`HttpServletResponse`对象之前,我们先来简要回顾一下Struts2框架的基本概念及其与传统Struts1.x的区别。 #### Struts2框架简介...