• 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 }


     
    岁月本长而忙者自促;天地本宽而卑者自隘;风花雪月本闲,而劳忧者自冗;天行健,君子以自强不息;地势坤,君子以厚德载物;宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒.不妄取,不妄予,不妄想,不妄求,与人方便,随遇而安
  • 相关阅读:
    几个常用排序的代码实现堆排序|快排|归并排序 Marathon
    0647回文子串 Marathon
    任意输入一个日期输出是当年的第几天星期几
    从输入URL到浏览器显示页面发生了什么
    常用链接整理
    computed 与 method
    将博客搬至CSDN
    leetcode_Two Sum
    VC++6.0与Office2010冲突解决方案
    C&C++_malloc函数
  • 原文地址:https://www.cnblogs.com/vvning/p/7574525.html
Copyright © 2020-2023  润新知