文档章节

springmvc在普通类中获取HttpServletRequest对象

hymanPeng
 hymanPeng
发布于 2015/11/18 19:03
字数 205
阅读 102
收藏 0

       springmvc在普通类中获取HttpServletRequest对象                        

       分类:            Spring MVC            2014-09-19 22:01    3144人阅读    评论(0)    收藏    举报    

springmvc普通类获取HttpServletRequest对象

spring mvc在普通类中获取HttpServletRequest对象需要做2个步骤:

1、在web.xml文件中加如下配置

[html] view plaincopyprint?

  1. <listener>  

  2.     <listener-class>org.springframework.web.context.request.RequestContextListener </listener-class>  

  3. </listener>  


在RequestContextListener类中有如下代码,其中红色标注的为关键代码:

public class RequestContextListener implements ServletRequestListener {

 

...

...

...

 

public void requestInitialized(ServletRequestEvent requestEvent) {

if (!(requestEvent.getServletRequest() instanceof HttpServletRequest)) {

throw new IllegalArgumentException("");

}

HttpServletRequest request = (HttpServletRequest) requestEvent.getServletRequest();

ServletRequestAttributes attributes = new ServletRequestAttributes(request);

request.setAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE, attributes);

LocaleContextHolder.setLocale(request.getLocale());

RequestContextHolder.setRequestAttributes(attributes);

}

...

...

...

}

 

 

public class ServletRequestAttributes extends AbstractRequestAttributes {

 

...

...

...

 

private final HttpServletRequest request;

 

...

...

...

 

/**

 * Create a new ServletRequestAttributes instance for the given request.

 * @param request current HTTP request

 */

public ServletRequestAttributes(HttpServletRequest request) {

Assert.notNull(request, "Request must not be null");

this.request = request;

}

}


2、在普通类中获取对象

HttpServletRequest request =  ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();


© 著作权归作者所有

hymanPeng
粉丝 1
博文 13
码字总数 1889
作品 0
深圳
架构师
私信 提问
Spring中获取request的几种方法

前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性。 概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户...

jackcooper2015
2018/07/19
0
0
编辑 Spring 中获取 request 的几种方法,及其线程安全性分析

原文出处:编程迷思 概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址、请求的url、header中的属性(如cookie、授权信息)、body中的数据等...

编程迷思
2018/07/18
0
0
如何将自己创建的对象注入Spring中?

背景说明 我的系统是一个Java Web服务,现在我想前后端进行分离,所有接口都API化,请求接口的参数必须加密。为了适应当前Spring MVC的开发风格,我通过使用AOP,在进入接口方法之前先对传入...

FunGa
2018/05/02
1K
4
SpringMVC中使用Interceptor拦截器

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判...

凯文加内特
2015/05/29
590
0
SpringMVC注解之controller

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weienjun/article/details/80572029 @Controller 在SpringMVC 中提供了一个非常简便的定义Controller 的方法,...

魏恩君--Caroline
2018/06/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
18分钟前
2
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
29分钟前
2
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
37分钟前
5
0
从零基础到拿到网易Java实习offer,我做对了哪些事

作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到...

Java技术江湖
昨天
5
0
程序性能checklist

程序性能checklist

Moks角木
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部