`

spring-mvc 非 controller 层获取HttpServletRequest

 
阅读更多
http://my.oschina.net/u/2007041/blog/420956

在项目中记录操作日志,是一种很常见的需求。

有时我们在service或者dao层记录日志,需要同时保存访问ip、登录用户名等。如果从controller层把HttpServletRequest 对象传过去会显得很麻烦。HttpSession可以通过HttpServletRequest 间接获取。

在web.xml配置
<listener>
  <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
 </listener>


在service或者dao中获取HttpServletRequest 的代码如下
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
                    .getRequestAttributes()).getRequest();

为了方便,可以如上代码提取到一个工具方法中,避免重复。
分享到:
评论

相关推荐

    spring_MVC源码

    本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说...

    spring-mvc 自学文档(我自己总结的)

    Spring MVC的核心流程是:DispatcherServlet接收到请求,通过HandleMapping找到Controller,Controller处理请求并返回ModelAndView,ViewResolver解析逻辑视图名得到View,最后由View渲染模型数据并返回响应。...

    spring3mvc导入包

    这个文件包含了Spring MVC的主要组件,如DispatcherServlet、Controller接口、ModelAndView对象等。DispatcherServlet是Spring MVC的前端控制器,负责接收HTTP请求并分发到相应的处理器。 接着,你需要`spring-...

    spring-ext-handler-mapping.rar_ext_spring ext_spring mvc

    不过,随着Spring MVC的发展,这种方式已经被注解驱动的Controller所取代,但理解这种旧的控制器模式对于了解Spring MVC的历史和演变是有帮助的。 5. **handler-mappings.xml** 这是Spring的配置文件,可能包含了...

    spring-webmvc.src.zip

    1. **org.springframework.web**: 这个包主要包含Web相关的基础类和接口,如HttpServletRequest和HttpServletResponse的包装类,以及DispatcherServlet,它是Spring MVC的核心Servlet,负责接收HTTP请求并调度处理器...

    学习Spring-Session+Redis实现session共享

    ### Spring-Session与...-- spring-mvc.xml --&gt; &lt;bean id="redisHttpSessionConfiguration" class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"&gt; ...

    Spring MVC 入门实例

    如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用...

    spring-struts.jar

    Spring 和 Struts 是两个在 Java Web 开发中广泛使用的框架,Spring 提供了全面的后端服务支持,而 Struts 则是 MVC(Model-View-Controller)设计模式的实现,专注于前端展示逻辑。"spring-struts.jar" 文件是将 ...

    spring+mvc

    而Spring MVC作为Spring框架中的一个模块,则专注于实现模型-视图-控制器(Model-View-Controller, MVC)设计模式,帮助开发者构建可维护性强、易于扩展的Web应用程序。 #### 二、Spring MVC 工作原理 Spring MVC...

    coalsystem

    Spring-MVC的核心配置文件spring_servlet.xml用于配置那些请求由那个controller中的方法来接收请求并处理。从spring_servlet.xml中可以看出使用了注解的方式进行配置。 3.查看login.html中的js可以看到当用户登录时...

    第三课:spring mvc 原理深度解析1

    为了验证上述流程,可以创建一个简单的 Spring MVC 示例,包括定义 Controller、配置 DispatchServlet、创建 spring-mvc.xml 配置文件,以及配置 HandlerMapping 和 ViewResolver。 例如,配置一个基于 ...

    spring3mvc实例

    首先,Spring MVC的核心组件包括DispatcherServlet、Controller、Model、View和ViewResolver。DispatcherServlet是整个流程的入口点,负责接收HTTP请求,并将其转发给适当的Controller。Controller处理请求并准备...

    spring mvc 所需的全部jar包

    1. **spring-webmvc.jar**:这是Spring MVC的主要模块,包含了DispatcherServlet、Controller接口、ModelAndView对象等核心类,负责请求分发和视图渲染。 2. **spring-web.jar**:提供了HTTP上传下载、WebSocket...

    Servlet+JSP和Spring+MVC初学指南 书籍配套源码

    3. 分析Spring MVC的Controller,学习如何定义处理方法和传递数据。 4. 深入理解Spring配置文件,查看Bean的定义和依赖关系。 5. 研究视图层的实现,例如Thymeleaf或JSP,理解视图是如何被渲染的。 总之,Servlet+...

    spring_mvc控制网站登录用户失效后跳登录页面

    ### Spring MVC 控制网站登录用户失效后跳转登录页面 #### 概述 在Web应用开发中,确保用户的会话安全至关重要。对于基于Spring MVC框架的应用程序而言,一个常见的需求是当用户会话失效(例如:用户长时间未操作...

    spring_mvc注解入门

    在传统的Spring MVC中,Controller通常需要实现`org.springframework.web.servlet.mvc.Controller`接口,或者是继承`SimpleFormController`或`MultiActionController`。但是使用注解后,Controller不再需要继承任何...

    spring mvc注释文档

    本文介绍了Spring MVC在Spring 2.5版本中引入的基于注解的配置方式,包括使用`@Controller`、`@RequestMapping`等注解来定义Controller及其处理方法,以及如何配置DispatcherServlet等关键组件。通过使用这些注解,...

    spring mvc中启动netty

    编写一个`SpringMvcHandler`,它实现了`ChannelInboundHandlerAdapter`,并将Netty接收到的HTTP请求转化为Spring MVC的`HttpServletRequest`和`HttpServletResponse`对象,然后调用相应的Controller方法。...

Global site tag (gtag.js) - Google Analytics