一、控制器Controller
- 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。
- 控制器负责解析用户的请求并将其转换为一个模型。
- 在Spring MVC中一个控制器类可以包含多个方法
- 在Spring MVC中,对于Controller的配置方式有很多种
二、实现Controller接口
Controller是一个接口, 在org.springframework.web.servlet.mvc包下,接口中只有一个方法;实现了Controller接口的类,说明这就是一个控制器。
说明:
- 实现接口Controller定义控制器是较老的办法
- 缺点是:一个控制器中只有一个方法,如果要多个方法则需要定义多个Controller; 定义的方式比较麻烦;
三、使用注解@Controller
- @Controller注解类型用于声明Spring类的实例是一个控制器(在进IOC时还提到了另外3个注解);
- Spring可以使用扫描机制来找到应用程序中所有基于注解的控制器类,为了保证Spring能找到你的控制器,需要在配置文件中声明组件扫描。
- 被@Controller注解的类,代表这个类会被Spring接管,这个类中的所有方法,如果返回值是String,并且有具体页面可以跳转,那么就会被视图解析器解析;
- 注解方式是平时使用的最多的方式!除了这两种之外还有其他的方式;
四、@RequestMapping
- @RequestMapping注解用于映射url到控制器类或一个特定的处理程序方法。可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。