struts2_action获取web资源的两种方式
Ⅰ、和servelet API 解耦的方式:只能访问到有限的资源
(1)通过ActionContext的getXXX方法获取相关资源
例:
public class TestActionContext extends ActionSupport{
private static final long serialVersionUID = 1L;
@Override
public String execute() throws Exception {
ActionContext ac = ActionContext.getContext();
//获取session
Map<String, Object> session = ac.getSession();
session.put("sessionKey", "sessionValue");
//获取request
Map<String, Object> request = (Map<String, Object>) ac.get("request");
//获取application
Map<String, Object> application = ac.getApplication();
return "SUCCESS";
}
(2)通过继承XXXAware接口获取相关资源
例:
public class TestAware extends ActionSupport implements RequestAware,ApplicationAware,SessionAware{
private Map<String,Object> session;
private Map<String,Object> application;
private Map<String,Object> request;
//获取session
@Override
public void setSession(Map<String, Object> session) {
this.session = session;
}
//获取application
@Override
public void setApplication(Map<String, Object> application) {
this.application = application;
}
//获取request
@Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}
@Override
public String execute() throws Exception {
// TODO 自动生成的方法存根
return super.execute();
}
}
如果类中有多个方法使用到web资源,一般使用(2)通过继承XXXAware接口获取相关资源
Ⅱ、和servelet API耦合的方式:可以访问到更多的资源和方法
(1)通过ServletActionContext的getXXX方法获取相关资源
例:
public class TestServltActionContext extends ActionSupport {
@Override
public String execute() throws Exception {
//获取request
HttpServletRequest request =ServletActionContext.getRequest();
//获取session
HttpSession session = ServletActionContext.getRequest().getSession();
return "SUCCESS";
}
}
(2)通过继承ServletXXXAware接口获取相关资源
例:
public class TestServletXXXAware extends ActionSupport implements ServletRequestAware{
private HttpServletRequest request;
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
}
一般推荐使用(2)通过继承ServletXXXAware接口获取相关资源
转载于:https://www.cnblogs.com/wyTT/p/4727561.html
struts2_action获取web资源的两种方式相关推荐
- html中获取modelandview中的json数据_从Bitmap中获取YUV数据的两种方式
从Bitmap中我们能获取到的是RGB颜色分量,当需要获取YUV数据的时候,则需要先提取R,G,B分量的值,然后将RGB转化为YUV(根据具体的YUV的排列格式做相应的Y,U,V分量的排列) 所以这篇 ...
- Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式
Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式,可以从代码中简单理解成Receiver方式是通过zookeeper来连接kafka队列,Direct方 ...
- Android获取IP地址的两种方式(准确版)
原文:https://blog.csdn.net/sinat_16458039/article/details/50260589 最近看了好多网上获取IP地址的例子,发现好多都不完全准确,这里我写一下 ...
- kubernetes创建资源的两种方式
一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令行的方式直接创建,比如: kubectl run httpd-app --image ...
- Express全系列教程之(四):获取Post参数的两种方式
一.关于POST请求 post方法作为http请求很重要的一部分,几乎所有的网站都有用到它,与get不同,post请求更像是在服务器上做修改操作,它一般用于数据资源的更新. 相比于get请求,post ...
- k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...
- 第5篇K8S创建资源的两种方式
一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=r ...
- iOS 通过URL网络获取XML数据的两种方式
下面简单介绍如何通过url获取xml的两种方式. 第一种方式相对简单,使用NSData的构造函数dataWithContentsOfURL:不多解释,直接上代码咯. NSURL *url = [NSU ...
- spring boot controller 初始化_使用 Spring 快速创建 web 应用的两种方式
介绍 本篇文章主要介绍,如何使用 Spring 开发一个 Web 应用. 我们将研究用 Spring Boot 开发一个 web 应用,并研究用非 Spring Boot 的方法. 我们将主要使用 J ...
最新文章
- Oracle的SQL语句
- matlab 算法设计,计算方法——算法设计及其MATLAB实现
- python3 asyncio loop 使用线程池原理
- Jar包反编译后修改源码再编译
- python egg文件安装_Python 和 egg 文件
- P1476 休息中的小呆
- micropython安装第三方库_【python操作】python安装第三方库的方法总结
- mockjs(接口服务代理)
- 计算机里什么文件无法删除,电脑上的文件删不掉怎么办
- 详解 Ops 智能运维机器人,故障处理又快又准!
- 1.1确定分数与浮点数值之间的近似相等性。
- 20200121每日一句
- Kubernetes API的版本控制,分组,对象,访问控制
- php运算符包括,php运算符有哪些 - php完全自学手册 - php中文网手册
- 堆积图--MatplotLib
- 钢笔墨水能否代替打印机墨水_打印机墨水怎么分类?
- 表格内容单/多行展示(一)- 单行/多行显示的方法
- VS2017 常用函数与数据类型-笔记
- 简单的学生网页作业源码 基于html css javascript仿淘宝购物商城设计毕业论文源码
- Android7.1电池管理部分的一些笔记
热门文章
- 微信小程序Demo 优惠券展示 / 领取 / 赠送 / 口令优惠券
- 盈利困境下的途虎养车,如何在新赛道抢占先机?
- 推荐一个vue, angular的组件分享网站--轮子工厂
- 背景图片html写法,CSS3背景图片background属性简写/连写
- 应届毕业生个人简历表-Word简历可编辑下载
- GD32F303使用笔记——SPI0(一)
- 《多媒体在初中数学中的运用研究》研究论文
- 技术帖| 全NDI ®和NDI |HX,让技术工作更为简单的NDI协议
- 用opencv实现人脸检测-实时人物情绪识别(基础版)
- 百度经纬度转高德经纬度(从高德SDK抽取)