最早之前其实有大概说过@Controller和@RequestMapping这两个注解,但当时并没有深入了解,只是说这两个注解的作用分别是:
@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。@RequestMapping用在类上可以没有,但是用在方法上必须有。
@Controller在类上添加,表明该类是一个控制器
@Controller
1.在类上添加该注解,表明该类是控制器,需要被Spring MVC框架扫描到
2.在配置文件springmvc-servlet.xml中修改配置如下( /WEB-INF目录下创建文件):
<!-- 使用扫描机制扫描控制器类,控制器类都在controller包及其子包下 -->
<context:component-scan base-package="controller" />
@RequestMapping
1.可在类或者方法上添加该注解,注解的 value 属性将请求 URI 映射到方法,value 属性是 RequestMapping 注解的默认属性,如果只有一个 value 属性,则可以省略该属性。
2.下面例子中的return “login”其实是返回login的视图,这个视图一般是配置在 /WEB-INF/jsp/login.jsp下
@Controller
public class IndexController {
@RequestMapping(value = "/index/login")
public String login() {
/**
* login代表逻辑视图名称,需要根据Spring MVC配置
* 文件中internalResourceViewResolver的前缀和后缀找到对应的物理视图
*/
return "login";
}
@RequestMapping(value = "/index/register")
public String register() {
return "register";
}
}