Spring MVC Restful风格

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,不加斜杠的形式就是请求相对于当前页面路径的资源

你可能感兴趣的:(Spring-MVC)