SpringMVC相关注解
@RequestMapping
1.基本使用
通过注解方式实现路径到处理器方法的映射。
可以用在类或方法上。
用在方法上表示将该方法变为一个处理器,且和指定路径做映射。
用在类上则配置的路径会作为这个类中所有处理器的路径的父路径使用。
@RequestMapping("/test01.action")
public ModelAndView test01() {
ModelAndView mav = new ModelAndView();
mav.addObject("attr1", "hello anno~");
mav.addObject("attr2", "hello mvc~");
mav.setViewName("first");
return mav;
}
2.注解属性
- String [] value() default {};
指定要将当前处理器绑定到哪个访问路径上。
可以配置多个路径。
路径中也可以使用*号作为通配符匹配部分路径。
@RequestMapping({"/test02.action","/test002.action","/test002*.action"})
public ModelAndView test02() {
ModelAndView mav = new ModelAndView();
mav.addObject(“attr1”, “hello anno~”);
mav.addObject(“attr2”, “hello mvc~”);
mav.setViewName(“first”);
return mav;
}
2)RequestMethod[] method() default {}
指定当前处理器处理哪种提交方式提交的请求。
不指定则接收任意请求方式的请求
@RequestMapping(value="/test03.action",method= RequestMethod.POST)
public ModelAndView test03() {
ModelAndView mav = new ModelAndView();
mav.addObject(“attr1”, “hello anno~”);
mav.addObject(“attr2”, “hello mvc~”);
mav.setViewName(“first”);
return mav;
}
3)String[] params() default {};
用来限定当前请求中必须包含指定名称的请求参数才会被当前处理器处理
通过params属性指定只处理请求参数符合指定要求的请求
格式1:只指定名称,要求必须具有该名称的请求参数
格式2:以"名称=值"或"名称!=值"的方式指定必须具有某个请求参数,且值必须等于或不等于给定值
格式3:以"!名称"的方式指定必须不包含指定名称的请求参数
@RequestMapping(value="/test04.action",params= {“name”,“gender=male”,"!age",“addr!=bj”})
public ModelAndView test04() {
ModelAndView mav = new ModelAndView();
mav.addObject(“attr1”, “hello anno~”);
mav.addObject(“attr2”, “hello mvc~”);
mav.setViewName(“first”);
return mav;
}
4)String[] headers() default {};
用来限定当前请求中必须包含指定名称的请求头才会被当前处理器处理
格式1:只指定名称,要求必须具有该名称的请求头
格式2:以"名称=值"或"名称!=值"的方式指定必须具有某个请求头,且值必须等于或不等于给定值
格式3:以"!名称"的方式指定必须不包含指定名称的请求头
@RequestMapping(value="/test05.action",headers= {“host=localhost”})
public ModelAndView test05() {
ModelAndView mav = new ModelAndView();
mav.addObject(“attr1”, “hello anno~”);
mav.addObject(“attr2”, “hello mvc~”);
mav.setViewName(“first”);
return mav;
}