SpringMVC学习06:Controller配置总结
-
控制器:Controller:
-
控制器负责提供访问应用程序的行为,通常通过接口定义或注解定义【推荐】2种方法实现;
-
控制器负责解析用户的请求并将其转换为一个模型(Model);
-
在SpringMVC中,一个控制器类可以包含多个方法;
-
在SpringMVC中,对于Controller的配置方式有很多种;
-
-
实现Controller接口:
-
Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方法:
//实现该接口的类获得控制器功能
public interface Controller {
//处理请求并且返回一个模型与视图对象
ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception;
} -
测试:
-
1,新建一个Module:添加web支持,编写web.xml中DispatcherServlet配置文件;
-
2,新建springmvc-servlet.xml配置文件:
-
配置文件中添加注解:扫描包:<context:component-san />
-
添加注解:<mvc:annotation-driven/ >
-
添加过滤静态资源注解:<mvc:default-servlet-handler/ >
-
-
3,新建JSP文件夹:新建test.jsp
-
4,新建ControllerTest类,实现Controller接口;
//只有实现了Controller的类,说明这就是一个控制器
public class ControllerTest1 implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();
mv.addObject("msg","demo");
mv.setViewName("hello");
return mv;
}
} -
5,配置Tomcat,启动测试;
-
-
注解方式实现Controller:
-
常见注解:
-
注解实现Controller:
//@Controller代表这个类会被Spring接管:这个注解的类中的所有方法:
// 如果返回值是String,并且有具体页面可以跳转,那么就会被视图解析器解析; -
可以发现,我们的2个请求都可以指向同一个视图,但是页面的结果是不一样的,从这里可以看出视图是被复用的,而控制器与视图直接是弱耦合关系;
-

浙公网安备 33010602011771号