简单的框架
在后台中的controller如此设置
@Controller
@RequestMapping("/mvc")
public class MvcController {
@RequestMapping("/hello")
public String hello(){
System.out.println("+++++++++++++++++++++hello");
return "hello";
}
@RequestMapping(value="/user/{id}",method=RequestMethod.GET)
public String put(@PathVariable("id") Integer id,String username){
System.out.println("put"+id);
System.out.println("++++++++++++++++++++++"+username+"------------mvc");
return "index";
}
}
页面hello.html中
<P>this is a test hello view</P>
<form action="user/2" method="get">
<input type="text" name="username">
<input type="submit" value="get" >
</form>
当运行该项目默认显示该页面,http://localhost:8080/TestSpring/
此时在该页面的输入框中输入一个字符串aaaaa 并提交,在controller01中put方法会处理该请求,后台打印aaaaa,页面跳转至index.html,uri为http://localhost:8080/TestSpring/user/2?username=aaaaa
@Controller
public class Controller01 {
@RequestMapping(value="/user/{id}",method=RequestMethod.GET)
public String put(@PathVariable("id") Integer id,String username){
System.out.println("put"+id);
System.out.println("++++++++++++++++++++++"+username);
return "index";
}
}
输入http://localhost:8080/TestSpring/mvc/hello 这个uri也会显示hello.html页面,此时再在输入框中输入字符串aaaaa的话,报错
uri变成了http://localhost:8080/TestSpring/mvc/user/2?username=aaaaa
不知道这是为什么,为什么uri不会默认到项目地址http://localhost:8080/TestSpring,而是默认到上一级的地址http://localhost:8080/TestSpring/mvc?