`

struts2使用:Action如何使用request,session,application

阅读更多

一种方法是利用工具类ActionContext,ServletActionContext

另一种是通过实现Action接口,利用接口约定的方法注入.(推荐),下面是这种方案的示例

 

package utils;

import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;
/***
* Action如何使用request,session,application:
* 要Action实现以下Aware接口,利用接口约定的方法注入.(推荐)
* 原因:减少了Struts2框架API对Action类的侵入,提高Action的灵活性.
* RequestAware、SessionAware、ApplicationAware、ServletRequestAware、ServletContextAware
* @author huawei
*
*/
public class BaseAction implements RequestAware,SessionAware,ApplicationAware,
ServletRequestAware,ServletContextAware{

public Map<String, Object> request;
public Map<String, Object> session;
public Map<String, Object> application;
public HttpServletRequest httpRequest;
public HttpSession httpSession;
public ServletContext httpApplication;

@Override
public void setServletContext(ServletContext httpApplication) {
this.httpApplication = httpApplication;
}

@Override
public void setServletRequest(HttpServletRequest httpRequest) {
this.httpRequest = httpRequest;
this.httpSession = httpRequest.getSession();
}

@Override
public void setApplication(Map<String, Object> application) {
this.application = application;
}

@Override
public void setSession(Map<String, Object> session) {
this.session = session;
}

@Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}
}

分享到:
评论

相关推荐

    外文翻译 stus MVC

    ActionForm maintains the session state for the Web application. ActionForm is an abstract class that is sub-classed for each input form model. When I say input form model, I am saying ActionForm ...

    struts基础入门

    主要实现了用户的登录系统..并且验证了struts中的跳转..还有跳转到另一个action中的类型..跳转另一个action后显示出书籍信息......并且从request域中,session域和application整个应用程序域中获取信息..

    Servlets和JSP核心技术 卷2(英文版) 第二部分

    Servlets和JSP核心技术 卷2 内容还是很详细的,看过卷1的人可以继续用这本书深造,呵呵 目录: Chapter 1. Using and Deploying Web Applications Section 1.1. Purpose of Web Applications Section 1.2. ...

    Servlets和JSP核心技术 卷2(英文版) 第一部分

    Servlets和JSP核心技术 卷2 内容还是很详细的,看过卷1的人可以继续用这本书深造,呵呵 目录: Chapter 1. Using and Deploying Web Applications Section 1.1. Purpose of Web Applications Section 1.2. ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    8.7.2 使用M印类型的request、session、application 8.8 疑难解惑 8.8.1 Struts Prepare And Execute Filter过滤器 8.8.2 struts.xml文件配置出错 8.9 精彩回顾 第9章 庖丁解牛 ——揭密Struts2高级技术 9.1 本章...

    java面试题

    2:打开Session 3:创建事物 4:持久化操作 5:提交事务 6:关闭Session 7:关闭SessionFactory Hibernate持久化:Hibernate根据定义的映射规则将对象持久化保存到数据库,这就实现了对象的持久化。 Spring由...

    XWork绕过安全限制执行任意命令漏洞补丁

    Struts2中WebWork框架使用XWork基于HTTP参数名执行操作和调用,将每个HTTP参数名处理为OGNL(对象图形导航语言)语句,而OGNL将: user.address.city=Bishkek&user['favoriteDrink']=kumys 转换为: action....

    拦截器和控制器的区别

    监听器 servlet application /session /request 6/8 个 1、拦截器 定义拦截器的包 &lt;package name="myPackage" extends="struts-default"&gt; 定义拦截器的核心 定义拦截器类 ...

    李兴华Java Web开发实战经典(高清版) Part2

    17.5、Action深入 17.5.1、ForwardAction 17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail...

    java web 视频、电子书、源码(李兴华老师出版)

    17.5、Action深入 17.5.1、ForwardAction 17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    17.5、Action深入 17.5.1、ForwardAction 17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    17.5、Action深入 17.5.1、ForwardAction 17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    17.5、Action深入 17.5.1、ForwardAction 17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    17.5、Action深入 17.5.1、ForwardAction 17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    17.5、Action深入 17.5.1、ForwardAction 17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    17.5、Action深入 17.5.1、ForwardAction 17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置...

    J2EE应用开发详解

    76 5.5.2 JavaBean动作 78 5.6 隐式对象 78 5.6.1 request对象 78 5.6.2 response对象 78 5.6.3 application对象 78 5.6.4 out对象 79 5.6.5 page对象 79 5.6.6 session对象 79 5.6.7 exception对象 80 5.6.8 ...

    spring web flow demo

    围、 session 范围和 application 范围。 • request 范围中的对象是跟客户的请求绑定在一起的,每次请求结束都会销毁对象,而新的请求 过来时又会重新创建对象。 request 范围适合存放数据量较大的临时数据。 • ...

    freemarker总结

    2,使用+运算符时,如果一边是数字,一边是字符串,就会自动将数字转换为字符串再连接,如:${3 + "5"},结果是:35 使用内建的int函数可对数值取整,如: ${ (x/2)?int } ${ 1.1?int } ${ 1.999?int } ${ -1.1?int } ...

Global site tag (gtag.js) - Google Analytics