Struts2的Action中获取request对象的几种方式?
- 通过ActionContext.getSession获取
- 通过ServletActionContext.getRequest()获取
- 通过SessionAware接口注入
- 通过ServletRequestAware接口注入
第一种获取requet对象方法---HttpServletRequest对象的attributes(解耦)
Map<String, Object> request = (Map)ActionContext.getContext().get("request");
第二种:HttpServletRequest request = ServletActionContext.getRequest();
第三四种方法需要 Action类实现相应的拦截器接口:
1,实现ServletRequestAware接口,
2,实现 setServletRequest方法。
Struts2在调用 execute方法之前,就会先调用 setServletRequest方法,
并将 request参数传入这个方法。
通过IOC的方式注入 需要的Servlet API
public class UserAction extends ActionSupport implements ServletResponseAware, ServletRequestAware{
private String username;
private int password;
HttpServletRequest req;
HttpServletResponse resp;
//实现ServletRequestAware 通过IOC的方式 获得request
@Override
public void setServletRequest(HttpServletRequest req) {
this.req = req;
}
//实现ServletResponseAware 通过IOC的方式获得Response
Struts2的Action中获取request对象的几种方式?的更多相关文章
- 在SpringMVC中获取request对象的几种方式
1.最简单的方式(注解法) @Autowired private HttpServletRequest request; 2.最麻烦的方法 a. 在web.xml中配置一个监听 <listene ...
- 9.Struts2在Action中获取request-session-application对象
为避免与Servlet API耦合在一起,方便Action类做单元测试. Struts2对HttpServletRequest.HttpSession.ServletContext进行了封装,构造了三 ...
- 在Struts2的Action中获得request response session几种方法
转载自~ 在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象呢?Struts2为我们提供了四种方式.分别为se ...
- java webservice服务器端获取request对象的三种方式
有的时候在webservice里我们需要获取request对象和response对象,比如想要获得客户端的访问ip的时候就需要这么做,下面说三种方式,当然三种方式可能是针对不同方式部署webservi ...
- webservice服务器端获取request对象的三种方式
有的时候在webservice里我们需要获取request对象和response对象,比如想要获得客户端的访问ip的时候就需要这么做,下面说三种方式,当然三种方式可能是针对不同方式部署webservi ...
- struts2在action中获取request、session、application,并传递数据
假设仅仅是通过request.session.application传递数据,则不须要获取对应的对象也能够传递数据,代码例如以下: ScopeAction.java: package com.ithe ...
- Struts2 在Action中获取request、session、servletContext的三种方法
首页message.jsp: <body> ${requestScope.req }<br/> ${applicationScope.app }<br/> ${se ...
- 在SpringMVC中获取request对象
1.注解法 @Autowired private HttpServletRequest request; 2. 在web.xml中配置一个监听 <listener> <listen ...
- 如何在SpringMVC中获取request对象
1.注解法 @Autowired private HttpServletRequest request; <listener> <listener-class> org.spr ...
随机推荐
- CentOS8系统上Zookeeper安装启动
下载Zookeeper安装包,下载地址为:https://zookeeper.apache.org/releases.html.注意选择bin的gz包,否则安装不成功,提示找不到相应的类. 一.单机模 ...
- 了解MySQL存储引擎工作原理
MySql数据库最大的特色就是其插件式的存储引擎架构,本文主要介绍MySql常用的存储引擎,为开发时选择合适的存储引擎提供参考. 1. MySql体系结构# 在介绍存储引擎之前先来介绍下MySql的体 ...
- Linux 时间操作及其同步
完整格式支持链接:https://blog.imakiseki.cf/2022/02/27/techdev/linux-time-operations-and-sync/ 本文将以 Arch Linu ...
- kali系统语言设置
一.背景信息在安装完 kali linux 2020.1 时,其操作系统默认语言为英文的,我们操作起来比较麻烦,为了以后操作方便起见,这边将其操作系统默认语言更改为中文.本篇文章将带领各位小伙伴们一起 ...
- kali各工具使用介绍
各工具kali官方简介(竖排):https://tools.kali.org/tools-listing 安装kali虚拟机可参考:https://www.cnblogs.com/lsdb/p/650 ...
- 基于IPv6的RIPng路由协议测试——信而泰网络测试仪实操
关键词 IPv6; RIPng; 协议测试; 内部网关协议; 外部网关协议 前言:在国际性网络中,如因特网,拥有很多应用于整个网络的路由选择协议.形成网络的每一个自治系统(AS),都有属于自己的路由选 ...
- C#中的泛型 / 泛型类 / 数组、ArrayList和List三者的区别
在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. ...
- 范围运算符和索引的最终运算符 ^ 在string 和数组中的应用
//范围运算符在string 和数组中的应用 static void Main(string[] args) { string examplestring = "123456789" ...
- 使用ODBC连接MySQL和EXCEL
1.安装ODBC 安装MySQL的时候,可以直接把ODBC一并安装了.如果没有安装的话,则在 https://dev.mysql.com/downloads/connector/odbc/ 下载相应的 ...
- docker安装以及常用命令
yum-config-manager 对/etc/yum.repos.d/下的.repo文件进行增删改查 yum install -y yum-utils 添加docker源,由于yum源的docke ...