一、Spring MVC的简介就说了,进入到正题——Spring MVC的学习中。
准备工作:
1、Spring 的JAR包:http://www.springsource.org/download/
准备学习资料:《Spring 开发指南》
1、建立web项目,导入jar包。
这些是基本的jar,如果启动时出现错误,再根据提示导入相应的jar包
2、配置web.xml文件:
在文件中加入一个servlet的配置,这个配置是前置控制器,所有的http请求要先走这个控制进行分配
<servlet> <servlet-name>test</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
在前端控制器中我们叶可以指定配置文件的位置,如果没有指定,则默认的是在WEB-INF/下(与web.xml在同一级目录下),名为:{servlet-name}-servlet.xml的文件。这里的配置文件的名称就为:test-servlet.xml。
想要自己指定配置文件的位置,可以再servlet中进行初始化(),
<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:/springMVC.xml</param-value> </init-param>
关于web.xml中配置的详解,可以参考http://blog.csdn.net/sunitjy/article/details/6782431 ,里面有详细的讲解
2、创建配置文件test-servlet.xml(这里是我的配置文件名 )
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!--request mapping --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="start.do">startController</prop> <prop key="register.do">registerController</prop> </props> </property> </bean> <!-- 视图控制器 Resolver是策略 view是处理模型的过程,两者必须是结合使用的 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value> org.springframework.web.servlet.view.JstlView </value> </property> <property name="prefix"> <value>/WEB-INF/jsp/</value><!-- 表现层资源的前缀 --> </property> <property name="suffix"> <value>.jsp</value><!-- 表现层资源的后缀 --> </property> </bean> <!--控制器 --> <bean id="startController" class="com.yingruochen.controller.StartController"> </bean> </beans>
先说一下流程:访问start.do——>进入到前置控制器中,看看是否是以.do结尾的,是就进入到配置文件中的Request Mapping中,找start.do——>进入到控制器startController中,看看有没有设置视图名称(这里没有设置,使用的是基于url的控制器,所以视图的逻辑名称与访问路径的名称相同,即该视图的逻辑名称是start),进入到视图控制器中,加上访问路径的前缀,后缀,就能得到要访问页面的路径地址了,这里的进入的页面路径为:工程名称/前缀(WEB-INF/jsp)/+逻辑视图名称(start)+后缀(.jsp)
3、在WEB-INF路径下建立jsp目录,然后建立start.jsp,发布工程,访问start.do路径,如果进入到start.jsp页面中就说明成功了。
说明:对于视图控制器,有下面几种
a、用于直接跳转页面的
ParameterizableViewController , UrlFilenameViewController(与前面的区别在于如果访问路径如start.do与逻辑视图名称相同就不需要设置逻辑视图名称了)
@ 、 在同一控制器类中处理多个请求的 MultiActionController. 具体调用的方法通过 MethodNameResolver 决定