这份只是我的留下以后作参考的,其中有些代码、注释如有不对,请各位大牛指出,小弟不胜感激。
<?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:mvc="http://www.springframework.org/schema/mvc"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- <context:spring-configured/>-->
<context:component-scan base-package="cn.ksms"/>
<!-- <context:component-scan base-package="cn.ksms.controller"/>-->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean id="feermarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<!-- 模板本地路径 -->
<property name="templateLoaderPath" value="/ftl/"></property>
<property name="freemarkerSettings">
<props>
<!-- 配置模板字符集编码 -->
<prop key="defaultEncoding">UTF-8</prop>
<!-- 设置每隔多少秒去检查模板是否被更新,按秒算 -->
<prop key="template_update_delay">0</prop>
<!-- 本地语言,中文 -->
<prop key="locale">zh_CN</prop>
</props>
</property>
<!-- 一些freemarker的扩展,或者用户自定义方法 -->
<property name="freemarkerVariables">
<map>
<!-- 支持#escape指令:将<,>,$,",\转义为html符号<,>,&,",&apos -->
<entry key="xml_escape" value-ref="fmXmlEscape"/>
<!-- 支持@block指令:定义块,可以被子模板用@override指令覆盖显示 -->
<entry key="block" value-ref="block"/>
<!-- 支持@override指令:覆盖@block指令显示的内容 -->
<entry key="override" value-ref="override"/>
<!-- 支持@extends指令:继承其他模板,必须放在模板的最后面(该指令完全等价于#include指令,只是为了提供统一的语义,即extends比include更好理解) -->
<entry key="extends" value-ref="extends"/>
</map>
</property>
</bean>
<!-- 具体的类 -->
<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape"/>
<!-- 下面三个类实现了模板的继承功能 -->
<bean id="block" class="cn.org.rapid_framework.freemarker.directive.BlockDirective"></bean>
<bean id="override" class="cn.org.rapid_framework.freemarker.directive.OverrideDirective"></bean>
<bean id="extends" class="cn.org.rapid_framework.freemarker.directive.ExtendsDirective"></bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<!-- 解析json请求数据,将json转换为java对象 -->
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 解析xml请求数据,将xml转换为java对象 -->
<bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
<constructor-arg>
<bean class="org.springframework.oxm.xstream.XStreamMarshaller">
<property name="streamDriver">
<bean class="com.thoughtworks.xstream.io.xml.DomDriver"/>
</property>
<property name="autodetectAnnotations" value="true"></property>
<!-- 可以与xml互换的对象,需要使用xstream的注解,注解的使用方法请参xstream官网 -->
<property name="annotatedClasses">
<list>
<value>cn.ksms.pojo.Message</value>
<value>cn.ksms.pojo.Parentinfo</value>
</list>
</property>
</bean>
</constructor-arg>
</bean>
<bean class="org.springframework.http.converter.FormHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.ResourceHttpMessageConverter"></bean>
</list>
</property>
</bean>
<!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
<!-- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>-->
<!-- <property name="prefix" value="/jsp/"></property>-->
<!-- <property name="suffix" value=""></property>-->
<!-- </bean>-->
<!-- 本身并不去解析,只是分配给其他的ViewResolver -->
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="defaultContentType" value="application/json"></property>
<property name="mediaTypes">
<map>
<entry key="html" value="text/html"></entry>
<entry key="json" value="application/json"></entry>
<entry key="xml" value="application/xml"></entry>
</map>
</property>
<!-- 返回视图解析器 -->
<property name="viewResolvers">
<list>
<!-- 配置freeMarker视图解析器 -->
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<!-- 启用缓存,按字面意思猜的 -->
<property name="cache" value="true"></property>
<property name="prefix" value=""></property>
<property name="suffix" value=".ftl"></property>
<!-- 同exposeSessionAttributes-->
<property name="exposeSpringMacroHelpers" value="true"></property>
<!-- 同exposeSessionAttributes-->
<property name="exposeRequestAttributes" value="true"></property>
<!-- 是否所有session属性在于模板进行合并之前添加到model中,可以理解为session范围内所包含的所有对象,而不是一个真正的session对象 -->
<property name="exposeSessionAttributes" value="true"></property>
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>
<!-- 配置jsp的视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=""></property>
</bean>
</list>
</property>
<!-- 默认返回视图 -->
<property name="defaultViews">
<list>
<!-- 输出为JSON数据 -->
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"></bean>
<!-- 输出为xml数据 -->
<bean id="marshallingView" class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="marshaller">
<bean id="XStreamMarshaller" class="org.springframework.oxm.xstream.XStreamMarshaller">
<property name="autodetectAnnotations" value="true"></property>
</bean>
</property>
<property name="contentType" value="application/xml"></property>
</bean>
</list>
</property>
</bean>
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="/error.jsp"></property>
<property name="exceptionMappings">
<props>
<prop key="java.sql.SQLException">errorDB.jsp</prop>
<prop key="java.lang.RuntimeException">errorRT.jsp</prop>
</props>
</property>
</bean>
<!-- 拦截器 -->
<mvc:interceptors>
<!-- <mvc:interceptor>-->
<!-- <mvc:mapping path="/SeriviceProcessor"/>-->
<!-- <bean class="cn.ksms.interceptor.XmlInterceptor"></bean>-->
<!-- </mvc:interceptor>-->
<!-- <mvc:interceptor>-->
<!-- <mvc:mapping path="/*"/>-->
<bean class="cn.ksms.interceptor.MyInterceptor"></bean>
<!-- </mvc:interceptor>-->
</mvc:interceptors>
<!-- 静态文件加载 -->
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/image/" mapping="/image/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>
<mvc:resources location="/res/" mapping="/res/**"/>
</beans>