Spring MVC组成
主要有以下几个部分组成:
DispatcherServlet(本质是Servlet)
HandlerMapping(处理器映射器)
Handler(处理器)
HandlerAdapter(处理器适配器)
ViewResolver(视图解析器)
环境搭建
导入jar包
aopalliance-1.0.jar
aspectjweaver-1.8.0.M1.jar
commons-logging-1.1.3.jar
hibernate-validator-4.3.0.Final.jar
jboss-logging-3.1.0.CR2.jar
jstl-1.2.jar(标签库)
spring-aop-4.1.7.RELEASE.jar
spring-beans-4.1.7.RELEASE.jar
spring-context-4.1.7.RELEASE.jar
spring-core-4.1.7.RELEASE.jar
spring-expression-4.1.7.RELEASE.jar
spring-web-4.1.7.RELEASE.jar
spring-webmvc-4.1.7.RELEASE.jar
validation-api-1.0.0.GA.jar
编辑spring-mvc.xml,放在src目录下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
非注解开发
<!--非注解开发 -->
<!--1.处理器映射器(HandlerMapping,不需要程序员开发) -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!--2.处理器 (Handler),设计业务逻辑,需要程序员开发,类路径自己写 -->
<bean name="login.action" class="com.test.controller.UserController"></bean>
<!--和web.xml的 *.action 相对应-->
<!--3.处理器适配器(HandlerAdapter)按照规则开发 方式一-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!--3.处理器适配器(HandlerAdapter) 方式二-原生态-->
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>
<!--4.视图解析器,不需要程序员开发 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 补充前后缀 -->
<!-- 前缀 -->
<property name="prefix" value="/"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</bean> -->
</beans>
或者注解开发(这个需要修改)
<!--注解开发 -->
<!-- 处理器映射器 处理器适配器 他们两个可以通过注解进行配置,而且一个注解即可搞定 完成 1.处理器映射器和3.处理器适配器(HandlerAdapter) 的配置 -->
<mvc:annotation-driven></mvc:annotation-driven>
<!--2.处理器 (Handler),设计业务逻辑,需要程序员开发,这里使用了spring的组件扫描,扫描路径自己写 -->
<context:component-scan base-package="com.test.controller"></context:component-scan>
<!--4.视图解析器,不需要程序员开发 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 补充前后缀 -->
<!-- 前缀 -->
<property name="prefix" value="/"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</bean> -->
</bean>
编辑web.xml,放在WEB-INF下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>day01-springmvc-01</display-name>
<!--配置所有符合条件的请求及响应 -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置springMVC的核心配置文件的路径,使其加载spring-mvc.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<!--用于映射一个已注册的Servlet的对外访问路径-->
<servlet-name>springMVC</servlet-name> <!--用于指定访问路径的Servlet名称-->
<url-pattern>*.action</url-pattern> <!-- 用于指定Servlet的访问路径,配成/*时,会报404错误,因为映射器处理不了;*时,TomCat都启动不了-->
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>