可以在任意位置調用下面的代碼獲取當前的request
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
HttpSession session = request.getSession();
//應用程序在電腦上的真實的硬盤路徑
session.getServletContext().getRealPath("/");
//應用程序的訪問路徑,http://xxxx.xx/這種
request.getScheme()+"://"+request.getServerName()+":" +request.getServerPort()+request.getContextPath();
注:當前請求的request是從抽象類FrameworkServlet
的processRequest
方法中放進去的
其實從spring mvc中,也可以使用依賴注入的方式獲取當前請求的request,比如下面的代碼
@Autowired
private HttpServletRequest request;
這樣每次在方法中使用request,都會獲取到當前請求的request,這是使用ObjectFactory實現的,具體實現在
WebApplicationContextUtils.registerWebApplicationScopes(beanFactory, this.servletContext)
這個位置
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态