RequestMapping用法的一点理解

   在web MVC中要访问某个页面,我们应该跳转到哪个页面呢,这时我们用的是页面的物理路径,某个页面在某个文件夹下,我们就把路径设定到那里。而RequestMapping就是相对路径了。

  首先,@RequestMapping用在类上,这时该路径就是这个类中所有的方法的父路径了;用在方法上,前端调用该方法的路径就是父路径+方法上的子路径。

  1.我们先说一下@RequestMapping的value属性。

     我们可以直接写@RequestMapping(“lulu/hello.html”),它指的其实就是value的值。

@Controller
@RequestMapping("/hello")
public class DemoController{
  @RequestMapping(method = RequestMethod.POST, value = "put")//前端访问该方法的路径为"/hello/put"
   public Object update(@ModelAttribute Shop bean, HttpServletRequest request) {
	return XX;
   }
  @RequestMapping(method = RequestMethod.POST)//前端访问该方法的路径为"/hello",但是其请求方法是post
	public Object post(@ModelAttribute Shop bean, HttpServletRequest request) {	
		return XX;
	}
  @RequestMapping(value="/{id}", method = RequestMethod.GET)//前端访问该方法的路径为"/hello/id(此id是一个变量)"
    public Object getForDay(@PathVariable Long id, Model model) {
        return XX;
    }
}
如果类中有多个方法,而这些方法没有设定value的值,那么是怎么确定应该调用哪个方法呢?

调用方法时会根据路径进行匹配,然后再根据post,get,以及参数进行匹配。

value的设置可以是具体的路径,如第一个方法,也可以是变量,如第三个方法,也可以是含正则表达式的一类值。

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