SpringMVC-如何获取请求参数

1.@RequestMapping:是用来映射请求的,该注解可以用在类或者方法上,如果用在类上,表示所有请求的父路径。

2.@PathVariable:用来映射请求url绑定的占位符,通过@PathVariable可以将url中占位符的参数绑定到controller处理方法的入参中。类似这种请求参数“springmvc/testRest/1,

   1 @RequestMapping(value="/testRest/{id}", method=RequestMethod.PUT) 2 3   public String testRestPut(@PathVariable(value="id") Integer id){} 

3.@RequestParam:“springmvc/testRequestParam?username=jackie&age=12”这种参数的获取方式

 

1  @RequestMapping(value="/testRequestParam")
2 
3   public String testRequestParam(@RequestParam(value="username") String username, @RequestParam(value="age", required=false, defaultValue="0") int age){
4     System.out.println("testRequestParam" + " username:" + username + " age:" +age);
5     return SUCCESS;
6   }

 

4.@CookieValue:映射的是一个cookie值,

获取方式

 

1 @RequestMapping(value="/testCookieValue")
2 
3 public String testCookieValue(@CookieValue("JSESSIONID") String cookieValue){
4     System.out.println("testCookieValue: " + cookieValue);
5     return SUCCESS;
6 }

 5.@RequestHeader:

1 @RequestMapping(value="/testRequestHeader")
2 public String testRequestHeader(@RequestHeader(value="Accept-Language") String language){
3     System.out.println("testRequestHeader Accept-Languge:" + language);
4     return SUCCESS;
5 }

 我们知道一个请求如get请求或post都有请求头和响应头,这里我们想获取的是请求头中“Accept-Language”的具体信息,所以就用上了@RequestHeader注解来获取。

6. 请求参数为POJO

1 @RequestMapping(value="/testPojo")
2 public String testPojo(User user){
3     System.out.println("testPojo: " + user);
4     return SUCCESS;
5 }

 7.Spring MVC处理http请求的大致过程:

  一旦HTTP请求到来,DispatcherServlet负责将请求分发。

  在DispatcherServlet将请求分发给Spring Controller之前,需要借助Spring提供的HandlerMapping定位到具体的controller。

  Spring controller处理请求,
 Controller处理完客户请求,则返回ModelAndView对象给DispatcherServlet前端控制器。ModelAndView中包含了模型(Model)和视图(View)。
 ModelAndView返回的视图只是逻辑名,则需要借助Spring提供的视图解析器(ViewResoler)在Web应用中查找View对象,从而将响应结果渲染给客户。


8.ModelAndView
1 @RequestMapping(value="/testModelAndView")
2 public ModelAndView testModelAndView(){
3     String viewname = SUCCESS;
4     ModelAndView modelAndView = new ModelAndView(viewname);
5     modelAndView.addObject("time", new Date());
6     return modelAndView;
7 }

 



 
posted @ 2017-09-22 13:56  vvning  阅读(545)  评论(0编辑  收藏  举报