SpringMVC配置文件
<?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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--非注解的形式配置Start-->
<!--处理器适配器
1. 所有的适配器都实现HandlerAdapter 接口
2. 可以有多种配置实现,下面两个配置选择其中一个都行
3. SimpleControllerHandlerAdapter 要求实现Controller 接口
4. HttpRequestHandlerAdapter要求实现 HttpRequestHandler
-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>
<!--处理器适配器END-->
<!--处理器映射器,
1. 可以有多种配置实现,下面两个配置选择其中一个都行
2. 配置1 将bean的name作为url进行查找,需要在配置Handle时候指定(beanName 就是url)
3. 配置2 将bean的ID作为value值,需要在配置Handle时候指定ID ,key 作为url 可以配置多个
-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/home.html">userController</prop>
</props>
</property>
</bean>
<!--处理器映射器END-->
<!--视图解析器
1. 解析jsp,默认使用jstl标签
2. 属性 prefix 前缀配置对应模板目录
3. 属性 suffix 后缀配置对应模板文件类型
4. 没有配置 默认查找 web根目录/xxx.jsp
4. 配置后程序中可以直接写模板名称 不用指定前缀,后缀
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/templates/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!--配置Handel
1. Handel是自己写的Controller ,对应不同的处理器适配器 实现不同接口
2. 对应不同的处理器映射器 配置bean的 ID或者name
-->
<bean id="userController" name="/index.html" class="com.datou.controller.UserController"></bean>
<bean name="/two.html" class="com.datou.controller.StudentController"></bean>
<!--非注解的形式配置Eed-->
<!--基于注解形式配置 Start
1. 注解要配套使用,不能使用注解又使用非注解形式
2. 默认不配置使用3.1 之前的旧注解
-->
<!--注解处理器适配器-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
<!--注解处理器映射器-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
<!--标签配置
1. 代替了 原来bean的方式配置注解处理器适配器,注解处理器映射器配置,RequestMappingHandlerAdapter,RequestMappingHandlerMapping
2. 默认加载了很多参数绑定方法,如json转换解析器@ResponseBody等注解
3. <mvc:annotation-driven/> 有很多 schema 注意别导错
-->
<mvc:annotation-driven/>
<!--配置Handel
1. Handel是自己写的Controller @Controller注解标志为适配器
2. @RequestMapping("/jia") 标志对应的方法与url映射
3. 注解的Handel可以单个配置,单个不方便,实际开发中建议使用组件扫描
-->
<!--<bean class="com.datou.controller.TeacherController"></bean>-->
<!--组件扫描
1. 可以扫描 @Controller ,@Service,@Repository, 等一系列注解
2. 带有此一系列注解bean 会被自动装配,交个IOC 容器管理
-->
<context:component-scan base-package="com.datou.controller"></context:component-scan>
<!--以上所有的东西可以不配置
1. 将使用默认的 处理器适配器,处理器映射器,视图解析器
2. 默认加载DispatcherServlet.properties中配置
3. DispatcherServlet.properties 属性文件在 org.springframework.web.servlet 包中
-->
</beans>
DispatchrServlet.properties 属性文件
# Default implementation classes for DispatcherServlet's strategy interfaces.
# Used as fallback when no matching beans are found in the DispatcherServlet context.
# Not meant to be customized by application developers.
org.springframework.web.servlet.LocaleResolver=org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver
org.springframework.web.servlet.ThemeResolver=org.springframework.web.servlet.theme.FixedThemeResolver
org.springframework.web.servlet.HandlerMapping=org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,\
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
org.springframework.web.servlet.HandlerAdapter=org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,\
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,\
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
org.springframework.web.servlet.HandlerExceptionResolver=org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver,\
org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver,\
org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver
org.springframework.web.servlet.RequestToViewNameTranslator=org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator
org.springframework.web.servlet.ViewResolver=org.springframework.web.servlet.view.InternalResourceViewResolver
org.springframework.web.servlet.FlashMapManager=org.springframework.web.servlet.support.SessionFlashMapManager
注意: 这个属性文件中默认的注解使用都是3.1之前过时如果不配置
spring3.1 之前使用的注解适配器 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapterspring3.1之后使用的注解适配器 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
spring3.1之前用的注解映射器 org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
spring3.1之后用的注解映射器 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping