1. 程式人生 > >spring-mvc 非 controller 層獲取HttpServletRequest

spring-mvc 非 controller 層獲取HttpServletRequest

在專案中記錄操作日誌,是一種很常見的需求。

有時我們在service或者dao層記錄日誌,需要同時儲存訪問ip、登入使用者名稱等。如果從controller層把HttpServletRequest 物件傳過去會顯得很麻煩。HttpSession可以通過HttpServletRequest 間接獲取。

需要注意的是RequestContextListener實現了javax.servlet.ServletRequestListener,這是servlet2.4之後才有的,一些比較老的容器使用這一功能會報空指標異常。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 /* * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the "License").  You may not use this file except * in compliance with the License. * * You can obtain a copy of the license at * glassfish/bootstrap/legal/CDDLv1.0.txt or
* https://glassfish.dev.java.net/public/CDDLv1.0.html. * See the License for the specific language governing * permissions and limitations under the License. * * When distributing Covered Code, include this CDDL * HEADER in each file and include the License file at * glassfish/bootstrap/legal/CDDLv1.0.txt.  If applicable,
* add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your * own identifying information: Portions Copyright [yyyy] * [name of copyright owner] * * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * * Portions Copyright Apache Software Foundation. */

相關推薦

spring-mvc controller 獲取HttpServletRequest

在專案中記錄操作日誌,是一種很常見的需求。 有時我們在service或者dao層記錄日誌,需要同時儲存訪問ip、登入使用者名稱等。如果從controller層把HttpServletRequest 物件傳過去會顯得很麻煩。HttpSession可以通過HttpServletRequest 間接獲

spring MVCcontroller和service的junit4測試

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResul

Spring MVCController如何獲取Form表單提交的資料

表單提交的資料也就是請求資料,分為Get和Post兩種方式提交。 Controller中有三種方式獲取表單資料:  Controller的方法,新增HttpServletRequst型別入參,通過HttpServletRequst.getParameter()獲取請求資料

Spring+Hibernate+MVCController中引入@Transaction對Service設計的簡化

Spring+Hibernate是目前Java應用開發中比較常見的組合,在開發WEB應用的時候,可能會結合一些其他的框架如Struts,這裡的介紹以Spring MVC為WEB框架。 目前採用的分層設計(MVC)中,資料的持久化獲取主要都是在Service中完成的,而Cont

Spring MVCController向頁面傳值的方式

用戶 () 傳參數 control let att model enter 設定 Spring MVC 從 Controller向頁面傳值的方式 在實際開發中,Controller取得數據(可以在Controller中處理,當然也可以來源於業務邏輯層),傳給頁面,常用的方

Java service獲取HttpServletRequest的工具類

大家都知道 能在Controller/action層獲取 HttpServletRequest , 但是這裡給大家備份的 是 從程式碼內部  service層獲取HttpServletRequest 工具類。  具體如下: package com.base.common.

spring MVC框架controller間跳轉失效問題

info control 代碼 img nbsp ont response 返回 生效 今天調試時,發現redirect:url 不生效,訪問直接返回這串字符串。忘了找了兩個來小時,才找到正確的原因。 原來是因為我代碼開始用的是@RestController, 用了這個後,

Java高級架構師(一)第13節:Spring MVC實現Web開發

long true variable creat stp gis delete list java package com.sishuok.architecture1.customermgr.web; import org.springframework.beans.f

Spring MVC之介面卡的獲取及執行(RequestMappingHandlerAdapter)

首先看下doDispatch()方法如何找到適合的介面卡來執行方法的: 1 protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException { 2 Ite

spring mvccontroller怎麼接收頁面表單提交的資料

轉自:http://blog.csdn.net/wujiaqi168/article/details/41957187 1、定義一個類,該類的欄位要包含表單中所有input的name對應的值,並且在類中為對應的欄位生成getter 與setter方法 2、在對應的c

spring mvccontroller識別同一個form表單的多個submit按鈕問題以及相關處理

          之前只寫過spring mvc的controller處理form表單中一個submit的程式碼,今天遇到了form表單中存在多個submit,然後自己百度了一下,找到了解決方案,不過又出現了其他錯誤,現在來總結一下。 sp

spring mvccontroller使用介紹

SpringMVC是一個基於DispatcherServlet的MVC框架,每一個請求最先訪問的都是DispatcherServlet,DispatcherServlet負責轉發每一個Request請求給相應的Handler,Handler處理以後再返回相應的檢視(View

Spring AOP 對Spring MVCController切面攔截不起作用

1 問題描述 當使用Spring AOP對Controller層的Controller類的方法進行切面攔截,不起作用。AOP配置沒有任何問題。 2 排查過程 Spring AOP配置沒有任何問題;【正常】 斷點除錯:Spring原始碼斷點除錯,在呼叫Controller方法時,Controller的例項被JD

spring mvc請求controller訪問方式

1.一個Controller裡含有不同的請求url @Controller //類似Struts的Action public class TestController { @RequestMapping("test/login.do") // 請求url地址對

spring mvcController新增事務不成功的原因

掃描配置如下:spring-context.xml <context:component-scan base-package="com.freecg.green007">     <context:exclude-filter type="annotat

Spring MVCController如何將資料返回給頁面

要實現Controller返回資料給頁面,Spring MVC 提供了以下幾種途徑: ModelAndView:將檢視和資料封裝成ModelAndView物件,作為方法的返回值,資料最終會存到HttpServletRequest物件中! Model物件:通過給方法新增引用

spring mvc使用@Controller返回的html檢視

First the DispatcherServlet is invoked by the Servlet Container. The DispatcherServlet finds a mapping which maps to the home method of

Spring MVCController如何進行重定向

Spring MVC中進行重定向,本人知道的有兩種方式: 方法返回的URI(相對路徑)中加上"redirect:"字首,宣告要重定向到該地址 使用HttpServletResponse物件進行重定向

通過攔截器Interceptor實現Spring MVCController介面訪問資訊的記錄

java web工程專案使用了Spring+Spring MVC+Hibernate的結構,在Controller中的方法都是用於處理前端的訪問資訊,Controller通過呼叫Service進行業務處理後給前端返回ModelAndView物件或者只返回Json格式資料。如

初識Spring-MVCController的URL的對映規則註解版

Spring-MVC也是一種基於請求驅動的WEB框架,並且使用了前端控制器的設計模式。前端控制器就是DispatcherServlet控制器,只要滿足web.xml檔案中的【url-pattern】的規則,這個請求就會交給這個前端控制器(DispatcherServlet)