`
yangyongByJava
  • 浏览: 127369 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

springmvc获取HttpServletRequest对象

阅读更多

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

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

<listener>

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

 </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();

分享到:
评论
4 楼 yuyidi0630 2013-11-05  
不错不错,学习了。。[color=red][/color]
3 楼 yangyongByJava 2013-07-22  
哪有涛仔你帅啊 
2 楼 gougouqihao 2013-03-30  
靠。又搜到你了。你 TMD  太帅了
1 楼 zhuchao_ko 2013-01-13  

相关推荐

    如何在springMVC的controller中获取request

    在 SpringMVC 中获取 Request 对象 在 SpringMVC 框架中,获取 Request 对象是一个非常重要的操作。很多时候,我们需要在 Controller 中获取 Request 对象以便实现某些功能,例如身份验证、Cookie 操作等。那么,在...

    SpringMvc中获取 PathVariable的值的方式.docx

    当需要获取多个`PathVariable`时,可以使用`NativeWebRequest`对象。但是这种方式只能获取到已经使用了`@PathVariable`注解的参数。 ```java @RequestMapping(value = "/del/{id}", method = RequestMethod.GET)...

    SpringMVC.docx

    1. 直接获取servlet内置对象,如HttpServletRequest。 2. 使用`@PathVariable`获取URL路径变量。 3. 使用`@RequestParam`获取GET或POST请求参数。 4. 封装POJO对象,自动将请求参数映射到对象属性。 5. 获取cookie值...

    SpringMVC完整使用教程

    此外,也可以直接使用 Servlet API,如 `HttpServletRequest` 作为方法参数,获取原始请求信息。 ### 第 4 章 处理模型数据 处理模型数据是将服务器端处理的结果传递到视图层的关键。`ModelAndView` 类是模型和视图...

    netty springmvc dubbo 集成实例

    同时,我们还需要自定义Handler来处理GET和POST请求的参数,确保它们被正确解析并封装到SpringMVC的HttpServletRequest对象中。 对于与Dubbo的集成,通常会在SpringMVC的Controller中直接引用Dubbo的Service接口,...

    SpringMVC中RequestContextHolder获取请求信息的方法

    在Spring MVC框架中,RequestContextHolder是一个非常实用的工具类,它允许我们在Service层以及其它非Controller层获取到当前HTTP请求的相关信息,如HttpServletRequest对象、HttpServletResponse对象等。...

    SpringMVC九大常用注解

    - 可以通过方法参数灵活地获取HttpServletRequest和HttpServletResponse等对象。 - 控制器不会直接依赖于HTTP相关的对象,提高了代码的灵活性和可测试性。 #### 二、@RequestMapping **定义**: `@RequestMapping` ...

    SpringMVC面试专题及答案.pdf

    - **直接注入**:在方法的形参中声明 `HttpServletRequest` 或 `HttpSession` 类型的对象,SpringMVC 会自动注入相应的实例。 #### 12. 获取请求参数: - **参数绑定**:直接在方法参数中声明需要绑定的参数名,...

    Spring MVC 中获取session的几种方法(小结)

    在 Spring MVC 中,我们可以使用 RequestContextHolder 类来获取当前请求的 HttpServletRequest 对象,然后通过 request.getSession() 方法获取 Session 对象。例如: ```java ServletRequestAttributes attributes...

    springmvc入门程序(下载后你不会后悔的)

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { // 业务逻辑处理 List&lt;Item&gt; itemList = new ArrayList(); // 假设从数据库中获取了...

    SpringMVC参数收集及乱码处理.docx

    ParametersCollector 是 SpringMVC 中负责收集参数的组件,它可以从 HttpServletRequest 中获取参数,并将其转换为 Java 对象。 1. 内置对象 HttpServletRequest 在 SpringMVC 中,我们可以使用 ...

    使用SpringMVC导入导出excel

    用户上传Excel文件时,可以使用`HttpServletRequest`的`getPart`或`getParts`方法获取上传的文件。然后,使用Apache POI库读取并解析Excel内容: ```java @RequestMapping(value = "/import", method = Request...

    J简单的springmvc包括拦截、session设置,超时跳转

    在Spring MVC中,可以通过HttpServletRequest对象的getSession()方法获取Session,或者通过HttpSessionListener监听器进行全局Session管理。设置Session属性和值可以使用`session.setAttribute(String name, Object ...

    SpringMVC的代码简单实现

    这可以通过遍历类路径下所有的类,使用反射API获取其上的注解来完成。一旦找到这些方法,我们可以将它们存储在一个Map中,键为请求路径,值为处理方法。 ```java Map, Method&gt; handlerMap = new HashMap(); for ...

    springmvc课堂笔记

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { // 调用业务逻辑获取商品列表数据 List&lt;Item&gt; itemList = itemService.getItemList(); //...

    SpringMVC面试专题.pdf

    - 直接在方法参数中声明 `HttpServletRequest request` 或 `HttpSession session`,SpringMVC 会自动注入。 10. **接收参数**: - 形参直接声明参数名,SpringMVC 会自动匹配请求参数。 11. **接收对象参数**: ...

    Springmvc上传文件.docx

    public String fileUpload(HttpServletRequest request, MultipartFile upload) throws Exception { // 获取上传文件的路径 String path = request.getSession().getServletContext().getRealPath("/upload/"); ...

    springmvc+mybatis 增删改查

    3. **SqlSession和Mapper代理**:在Service层,通过SqlSessionFactory创建SqlSession,然后使用SqlSession的getMapper方法获取Mapper接口的代理对象,调用其方法执行SQL。 4. **事务管理**:在SpringMVC配置中,...

Global site tag (gtag.js) - Google Analytics