Restful不是一种技术,而是一种风格。
利用Restful风格得到数据,直接在URL后加数据
优点:轻量级,安全(不用把参数信息写上去),效率高(其实是一个映射对比的过程)
缺点:跳转的方式不认post/get外的访问方法,但是值可以传过去,可以在控制台显示
//原来是/delete?id=123
@RequestMapping("/delete/{id}")
//@PathVariable 将路径变量和参数绑定
public String hello(@PathVariable int id){
System.out.println(id);
return "/index.jsp";//跳转到/index.jsp,不加/就/delete/index.jsp,加斜杠的形式请求的是根目录下的资源,这里就是到工程名字
}
可以加多个变量
@RequestMapping("/{id}/{uid}/delete2")
//@PathVariable 将路径变量和参数绑定,名称不一致在@PathVariable里面改
public String delete2(@PathVariable("id") int id,@PathVariable("uid") int uid ){
System.out.println("id="+id+","+"uid="+uid);
return "/index.jsp";//跳转到/index.jsp,不加/就/{id}/{uid}/index.jsp,加斜杠的形式请求的是根目录下的资源,这里就是到工程名
同一个Controller通过参数来到达不同的处理方法(不重要)
http://localhost:8080/restful/hello2.do?method=delete
@Controller
@RequestMapping("/hello2")
public class Hello2Controller {
@RequestMapping(params="method=add",method=RequestMethod.GET)
public String add(){
System.out.println("add");
return "redirect:/index.jsp";
}
@RequestMapping(params="method=delete")
public String delete(){
System.out.println("delete");
return "redirect:/index.jsp";
}
}
调试记载:
1 . 相对路径是相对某一个位置而言的,
绝对路径是从硬盘分区开始的
2 .针对
return "/index.jsp";
加斜杠的形式请求的是根目录下的资源,这里就是到工程名字为止,http://localhost:8080/restful,不加斜杠的形式就是请求相对于当前页面路径的资源