天天看点

@RequestMapping 请求映射

当@RequestMapping注解写在类的上面,当中的value表示这个类中所有方法的请求地址的一个共同的模块,例如:

@RequestMapping(value = "/user")
@Controller
public class MyController {

    /**
     * @RequestMapping : 请求映射
     *      属性 : method 表示请求的方式。它的值是RequestMethod类的枚举值。
     *          例如表示get请求方式 RequestMethod.GET   post请求方式 RequestMethod.POST
     */

    //指定some.do使用get请求方式
    @RequestMapping(value = "some.do",method = RequestMethod.GET)
    public ModelAndView doSome(){ //doGet() -- service请求处理
        ModelAndView mv = new ModelAndView();

        mv.addObject("msg","欢迎使用springmvc做web开发");
        mv.addObject("fun","执行的是doSome方法");

        mv.setViewName("show");
        return mv;
    }

    //指定other.do为post请求方式
    @RequestMapping(value = "/other.do",method = RequestMethod.POST)
    public ModelAndView doOther(){ //doGet() -- service请求处理
        ModelAndView mv = new ModelAndView();

        mv.addObject("msg","欢迎使用springmvc做web开发");
        mv.addObject("fun","执行的是doOther方法");

        mv.setViewName("show");
        return mv;
    }

    //不指定请求方式 post和get请求方式都能够成功请求。
    @RequestMapping(value = "/first.do")
    public ModelAndView doFirst(){
        ModelAndView mv = new ModelAndView();

        mv.addObject("msg","欢迎使用springmvc做web开发");
        mv.addObject("fun","执行的是doOther方法");

        mv.setViewName("show");
        return mv;
    }
           

这三个方法均在被@RequestMapping注解修饰的MyController类中,则doSome方法对应的地址应该是/user/some.do,doOther方法对应的地址应该是/user/other.do,doFirst方法对应的是/user/first/do。

@RequestMapping的method属性,表示请求的方式,例如get和post请求方式。上面的代码中也已经体现了这点。