如何在SpringMVC中获取request对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在SpringMVC中获取request对象相关的知识,希望对你有一定的参考价值。
1.最简单的方式(注解法)@Autowired
private HttpServletRequest request;
2.最麻烦的方法
a. 在web.xml中配置一个监听
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
b.之后在程序里可以用
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
3.最直接的方法
public String hello(HttpServletRequest request,HttpServletResponse response) 参考技术A springMVC获取request很简单,直接在方法入参中使用HttpServletRequest request参数就可以了 参考技术B 从容器RequestContextHolder中获取,spring中很多都是通过各种容器获取,如果用springsecurity的话,登录信息会放置到安全容器中
SpringMVC从Request域中获取数据
SpringMVC从Request域中获取数据的三种方式
SpringMVC环境自行搭建,
约定存在如下目录和文件:/WEB-INF/pages/success.jsp
方式一:传入Model对象
前端界面
<a href="$pageContext.request.ContextPath/项目名/getRequestValue">获取request域中的值</a>
$value
后台代码
@RequestMapping("/getRequestValue") public String getRequestValue(Model model) //像request域中放置一个值“小明”,key为“value”,相当于request.setAttribute("value","小明") model.addAttribute("value","小明"); return "success";
方式二:使用ModelAndView对象,两种写法
写法一
前端界面
<a href="$pageContext.request.ContextPath/项目名/getRequestValueMV">获取request域中的值</a>
$value
后台代码
@RequestMapping("/getRequestValueMV") //所谓ModelAndView其实就是这个对象既可以作为模型设置值又可以作为视图返回
//向request域中添加属性,处理器中的参数是SpringMVC三大组件中的适配器传入的 public ModelAndView getRequestValueMV(ModelAndView modelAndView) modelAndView.addObject("value","小明"); modelAndView.setViewName("success"); return modelAndView;
写法二
前端界面
<a href="$pageContext.request.ContextPath/项目名/getRequestValueMV">获取request域中的值</a>
$value
后台代码
@RequestMapping("/getRequestValueMV") //所谓ModelAndView其实就是这个对象既可以作为模型设置值又可以作为视图返回 //向request域中添加属性 public ModelAndView getRequestValueMV() ModelAndView modelAndView=new ModelAndView(); modelAndView.addObject("value","小明");
modelAndView.setViewName("success");
return modelAndView;
方式三:使用原生Servlet
前端界面
<a href="$pageContext.request.ContextPath/项目名/getRequestValueCommon">获取request域中的值</a>
$value
后台代码
@RequestMapping("/getRequestValueCommon")
public ModelAndView getRequestValueCommon(HttpServletRequest request,HttpServletResponse response)
request.setAttribute("value","小明");
return "success";
以上是关于如何在SpringMVC中获取request对象的主要内容,如果未能解决你的问题,请参考以下文章
在springMVC的controller中获取request,response对象的一个方法
springMVC中获取request和response对象的几种方式(RequestContextHolder)
springmvc中获取request对象,加载biz(service)的方法
老王读SpringMVC-3根据 url 是如何找到 controller method 的?