处理器类
@Controller:表示当前类为处理器,对象存放在SpringMVC中
位置: 在类的上面
@RequestMapping:表示当前方法为处理器方法。该方法要对value属性所指定的 URI 进行处理与响应。被注解的方法的方法名可以随意
位置:
1、在方法上面(推荐)
2、在类上面
使用@RequestMapper修饰的方法叫做处理器方法或者控制器方法
使用@RequestMapper修饰的方法可以处理请求的,类似servlet中的doGet()、doPost()
作用 是把一个请求和一个方法绑定在一起,一个请求指定一个方法处理。
属性:value :是一个字符串,表示请求url地址的(some.do),value的值必须是唯一的,不能重复,在使用时,推荐使用 / 开头
@Controller
@RequestMapping("/user")
public class myController {
@RequestMapping(value = "/some.do",method = RequestMethod.GET)
public ModelAndView dosome(){
ModelAndView mv = new ModelAndView();
//添加数据,框架在请求的最后把数据放入到request作用域
//requset.setAttribute("mes","springmvc开发开启");
mv.addObject("message","欢迎来到springmvc世界");
mv.addObject("fun","执行了dosome方法");
mv.setViewName("/WEB-INF/show.jsp");
return mv;
}
}
若有多个请求路径均可匹配该处理器方法的执行,则@RequestMapping 的 value 属性中 可以写上一个数组
声明组件扫描器
在springmvc.xml 中注册组件扫描器,创建这个对象
<context:component-scan base-package="cn.com.Ycy.Contrller"/>
定义目标页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta http-equiv="Content-Type" content="textml; charset=UTF-8">
<title>Title</title>
</head>
<body>
<p>第一个springmvc的项目</p>
<p><a href="user/some.do">发起some.do请求</a></p>
<p><a href="user/help.so">发起help请求</a></p>
</body>
</html>
修改视图解析器的注册
SpringMVC 框架为了避免对于请求资源路径与扩展名上的冗余,在视图解析器 InternalResouceViewResolver 中引入了请求的前辍与后辍。而ModelAndView 中只需给出要跳转页面的文件名即可,对于具体的文件路径与文件扩展名,视图解析器会自动完成拼接。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀名:视图文件的路径-->
<property name="prefix" value="/WEB-INF/"/>
<!-- 后缀名:视图文件的扩展名 -->
<property name="suffix" value=".jsp"/>
</bean>