1.多个URL路径映射到同一个Handler(同一个方法)
//控制器相当与WEB的Servlet
@Controller
public class DefaultController {
//用法1: 多个URL路径映射到同一个Handler(同一个方法)
@RequestMapping(value={"gotoResultURL1","gotoResultURL2"})
public ModelAndView gotoResultURL(ModelAndView modelAndView){
//封装数据
modelAndView.addObject("nowDate", new Date() +"====Default===gotoResultURL");
//指定页面
modelAndView.setViewName("WEB-INF/jsp/Result.jsp");;
return modelAndView;
}
}
2.RequestMapping注解作用在类上,实现对请求路径的分类管理,限定类中方法访问的前缀
@Controller
//用法2:RequestMapping注解作用在类上,实现对请求路径的分类管理,限定类中方法访问的前缀
@RequestMapping("default")
public class DefaultController {
//用法1: 多个URL路径映射到同一个Handler(同一个方法)
@RequestMapping(value={"gotoResultURL1","gotoResultURL2"})
public ModelAndView gotoResultURL(ModelAndView modelAndView){
//封装数据
modelAndView.addObject("nowDate", new Date() +"====Default===gotoResultURL");
//指定页面
modelAndView.setViewName("result");
return modelAndView;
}
}
3.method属性限定请求方法,请求的handler相同,请求方式不同进入不同的方法处理
@RequestMapping(value = "gotoResultMethod",method = RequestMethod.GET)
public ModelAndView gotoResultMethodGet(ModelAndView modelAndView){
modelAndView.addObject("nowDate",new Date()+"Method=GET");
modelAndView.setViewName("result");
return modelAndView;
}
@RequestMapping(value = "gotoResultMethod",method = RequestMethod.POST)
public ModelAndView gotoResultMethodPost(ModelAndView modelAndView){
modelAndView.addObject("nowDate",new Date()+"Method=POST");
modelAndView.setViewName("result");
return modelAndView;
}
4.params属性限定请求参数 : 支持简单的表达式语法,url一样,根据携带参数的不同进入不同的方法处理
//普通用户
@RequestMapping(value={"login"}, params = {"type=user"})
public ModelAndView loginUser(ModelAndView modelAndView){
//封装数据
modelAndView.addObject("nowDate", new Date() +"===user");
//指定页面
modelAndView.setViewName("result");
return modelAndView;
}
//管理员
@RequestMapping(value={"login"}, params = {"type=admin"})
public ModelAndView loginAdmin(ModelAndView modelAndView){
//封装数据
modelAndView.addObject("nowDate", new Date() +"===admin");
//指定页面
modelAndView.setViewName("result");
return modelAndView;
}