首页 > 代码库 > Spring MVC基本配置@controller和@RequestMapping解释
Spring MVC基本配置@controller和@RequestMapping解释
一:配置web.xml
1)问题:spring项目中有多个配置文件mvc.xml dao.xml
2)解决:在web.xml中
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/xxx/*.xml</param-value>
xxx表示xml文件路径 *.xml表示后缀名为xml的任意文件
</init-param>
3)可以使用 逗号分隔
二:controller
1:spring mvc中将controller认为是MVC中的C --控制层
2:规范命名 类名 xxxController
3:如果不基于注解: 该类需要继承 CommandController 参见spring帮助
如果基于注解:在类名前加上 @controller
4:补充:将类名前加上该注解,当spring启动 或者web服务启动 spring会自动扫描所有包(当然,这个可以设置)
作用: 就是告诉服务器这个类是MVC中的Cx这个类可以接收用户请求处理用户请求
三:问题:如何接收用户请求
1:假设用户请求URL 是: http://localhost:8080/项目名/xxx.do do不do都一样 不管这个do 你用什么都可以
2:这个时候,spring开始在所有的 C 中,找对应的处理请求的方法
3:在任意的可以C的类中,在你想要处理此请求的方法定义的前面
@RequestMapping("/xxx") 这个时候的xxx 就是用户请求的xxx
public String 方法名()
{
return “bbb”;//返回一个字符串,用来决定要显示的MVC的V视图层
}
四:上面配置好了MVC的C也就是控制层在方法中返回字符串用来决定MVC的V视图层
问题:如何让spring 去扫描类 建立关联
1:在配置文件中 (spring)的 假设是 mvc.xml 中
2:加入 <context:component-scan base-package="包路径"/>
五:问题 如何返回到视图层 V
1: 此时,需要在配置文件中,加入视图解析器有很多种
2:这里用基于jsp视图
3:在spring-mvc.xml 中加入bean 配置
<bean class="org.s...f....web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="http://www.mamicode.com/WEB-INF/views"/> 前缀
<property name="suffix" value="http://www.mamicode.com/.jsp"/> 后缀
</bean>
通过上述5步,基本完成 C V 的配置
1:spring 中的C一般起类名XXXController在这个类里面 需要加入@controllerx标志这个类可以作为请求处理类也就是控制类
2:这个控制类里面可以有很多方法,哪个方法用来处理用户请求,就在那个方法前面 加 @RequestMapping(“/xxxxx请求路径”)
3:当请求处理完毕后返回值决定了该处理完毕后用户将跳转到那个页面
4:例如
@RequestMapping("/xxx") 这个时候的xxx 就是前端请求的xxx
public String 方法名()
{
return “bbb”; //返回一个字符串,要注意用来决定要显示的MVC的V视图层是哪个
}
返回bbb根据配置文件中的视图处理器配置加入前缀,后缀
页面将跳转到/WEB-INF/views/aaa.jsp
Spring MVC基本配置@controller和@RequestMapping解释