Spring MVC框架会将HTTP请求的信息绑定到相应的方法入参中,并根据方法的返回值类型做出相应的后续处理。
代码演示:
<a href="book?age=10">Book</a> @RequestMapping(value = "/book",method = RequestMethod.GET) public String book(@RequestParam(value = "username", required = true,defaultValue = "name") String name,@RequestParam(value = "age") Integer age){ System.out.println(name+":"+age); return "success"; }代码演示:
<a href="springmvc/testRequestHeader">testRequestHeader</a> @RequestMapping(value="/testRequestHeader") public String testRequestHeader(@RequestHeader(value="Accept-Language") String al){ System.out.println("testRequestHeader - Accept-Language:"+al); return "success"; }代码演示:
<a href="springmvc/testCookieValue">testCookieValue</a> @RequestMapping("/testCookieValue") public String testCookieValue(@CookieValue("JSESSIONID") String sessionId) { System.out.println("testCookieValue: sessionId: " + sessionId); return "success"; }代码演示:
<!-- 测试 POJO 对象传参,支持级联属性 --> <form action=" testPOJO" method="POST"> username: <input type="text" name="username"/><br> password: <input type="password" name="password"/><br> email: <input type="text" name="email"/><br> age: <input type="text" name="age"/><br> city: <input type="text" name="address.city"/><br> province: <input type="text" name="address.province"/> <input type="submit" value="Submit"/> </form> @RequestMapping("/testPOJO") public String testPojo(User user) { System.out.println("testPojo: " + user); return "success"; }如果中文有乱码,需要配置字符编码过滤器,且配置在配置其他过滤器之前。
<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>