本文共 2023 字,大约阅读时间需要 6 分钟。
@RequestMapping("/xxxx")
功能:在方法,类中添加该注解,相当于:浏览器发送请求xxxx。会访问该类中的方法。比如:public class Test{ @RequestMapping("/one") public String one(){ return "one"; }}
返回的one会给视图解析器进行解析拼接,然后跳转到该页面。
测试url:http://localhost:8080/one就像上面的情况:
public class Test{ @ResponseBody @RequestMapping("/one") public String one(){ return "one"; }}
当我们加入了该注解,就相当于,这个“one”只是作为响应体,而不是映射某一个文件。
关键词:
记得把视图解析器的代码注释掉先。
默认不写的情况是转发。
关于请看这篇文章。
@Controller@RequestMapping("/two")public class TwoController { @RequestMapping("/test1") public String getTest1(Model model){ //使用重定向 return "redirect:/index.jsp"; } @RequestMapping("/test2") public String getTest2(Model model){ //使用重定向 return "forward:/WEB-INF/jsp/test.jsp"; } @RequestMapping("/test3") public String getTest3(Model model){ //使用重定向 return "/WEB-INF/jsp/test.jsp"; }}
使用重定向和转发的情况一样,但是要注意的是,有视图解析器的话,无论是重定向还是转发,都会对字符串进行拼接
User.java:
public class User { private String name; private int age; ....}
@Controller@RequestMapping("/two")public class TwoController { @RequestMapping("/test1") public String getTest1(User user){ System.out.println(user); return "test"; }}
为了将前端传递的数据都封装成一个user对象,字段名必须要根据user的属性进行匹配,不然为空。
访问地址:http://localhost:8080/two/test1?name=tom&age=5
关键词:@RequestParam(“xxxx”)
括号内的名称为域名提交的名称。
@Controller@RequestMapping("/two")public class TwoController { @RequestMapping("/test1") public String getTest1(@RequestParam("username") String name){ System.out.println(name); return "test"; }}
在web.xml配置Spring提供的乱码过滤器:
CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 CharacterEncodingFilter /*
转载地址:http://crlq.baihongyu.com/