1.在applicationContext.xml中配置包扫描器
<!-- 使用注解配置扫描器 --> <context:component-scan base-package="cn.cnsdhzzl.controller" />
2.配置controller
/*处理器*/ @Controller /* 命名空间 */ @RequestMapping("/annotation") public class AnnotationController { /* 映射请求的url */ @RequestMapping(value = "/fist.do") public String one() { System.out.println("注解第一个方法"); /* 资源视图逻辑名称 */ return "login"; } /* 使用注解传参,并设置参数不是必须的,当使用了注解标签传参时,不传报错,不使用注解标签默认required=false,不传不会报错 */ @RequestMapping(value = "/two.do") public String two(@RequestParam(required = false) String text) { System.out.println("注解第二个方法"); System.out.println(text); return "login"; } /* 自动装配参数 */ @RequestMapping(value = "/three.do") public String three(String text) { System.out.println("注解第三个方法"); System.out.println(text); return "login"; } /* 使用Model向页面传值,Model是一个map(键值对) */ @RequestMapping(value = "/four.do") public String four(String text, Model model) { model.addAttribute("model", "helloAnnotation4"); System.out.println("注解第四个方法"); System.out.println(text); return "login"; } /* 不写key默认以类型获取值 */ @RequestMapping(value = "/five.do") public String five(String text, Model model) { model.addAttribute("helloAnnotation5"); System.out.println("注解第五个方法"); System.out.println(text); return "login"; } /* 使用rest风格携带参数,需要配置web.xml:<url-pattern>*.do</url-pattern> */ @RequestMapping(value = "/six/{text}") public String six( @RequestParam(required = false) @PathVariable String text, Model model) { model.addAttribute("model", text); System.out.println("注解第六个方法"); System.out.println(text); return "login"; } /* 直接返回modelandview */ @RequestMapping(value = "/Seven.do") public ModelAndView Seven() { ModelAndView mv = new ModelAndView(); mv.setViewName("login"); mv.addObject("model", "ModelAndView"); return mv; } }