SpringMVC配置JSON、JSP、FreeMark多视图解析器配置

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring M...

 

1.web.xml内容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<? xml version = "1.0" encoding = "UTF-8" ?>
< web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns = "http://java.sun.com/xml/ns/javaee"
xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id = "WebApp_ID" version = "3.0" >
 
< context-param >
< param-name >contextConfigLocation</ param-name >
< param-value >classpath:beans.xml</ param-value >
</ context-param >
 
< listener >
< listener-class >org.springframework.web.context.ContextLoaderListener</ listener-class >
</ listener >
<!--处理因使用内省API而导致的内存泄漏问题-->
< listener >
< listener-class >org.springframework.web.util.IntrospectorCleanupListener</ listener-class >
</ listener >
 
< filter >
< filter-name >CharacterEncodingFilter</ filter-name >
< filter-class >org.springframework.web.filter.CharacterEncodingFilter</ filter-class >
< init-param >
< param-name >encoding</ param-name >
< param-value >utf-8</ param-value >
</ init-param >
< init-param >
< param-name >forceEncoding</ param-name >
< param-value >true</ param-value >
</ init-param >
</ filter >
 
< filter-mapping >
< filter-name >CharacterEncodingFilter</ filter-name >
< url-pattern >/*</ url-pattern >
</ filter-mapping >
 
< servlet >
< servlet-name >SpringMVC</ servlet-name >
< servlet-class >org.springframework.web.servlet.DispatcherServlet</ servlet-class >
< init-param >
< param-name >contextConfigLocation</ param-name >
< param-value >classpath:Servlet.xml</ param-value >
</ init-param >
< load-on-startup >1</ load-on-startup >
</ servlet >
 
< servlet-mapping >
< servlet-name >SpringMVC</ servlet-name >
< url-pattern >/</ url-pattern >
</ servlet-mapping >
 
< welcome-file-list >
< welcome-file >index.html</ welcome-file >
</ welcome-file-list >
</ web-app >

 

2.Servlet.xml内容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<? 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-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
 
<!--组件自动扫描-->
< context:component-scan base-package = "com.tliu.case2.web" />
 
<!--主要作用于@Controller激活该模式下面是一种简写形式
它会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter,
是springMVC为@Controllers分发请求所必须的-->
< mvc:annotation-driven />
 
<!--配置JSON视图-->
< bean id = "mappingJacksonHttpMessageConverter" class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" >
< property name = "supportedMediaTypes" >
< list >
< value >application/json;charset=UTF-8</ value >
</ list >
</ property >
< property name = "objectMapper" >
< bean class = "org.codehaus.jackson.map.ObjectMapper" >
< property name = "dateFormat" >
< bean class = "java.text.SimpleDateFormat" >
< constructor-arg index = "0" type = "java.lang.String" value = "yyyy-MM-ddHH:mm:ss" />
</ bean >
</ property >
</ bean >
</ property >
</ bean >
< bean id = "stringHttpMessageConverter" class = "org.springframework.http.converter.StringHttpMessageConverter" />
< bean id = "requestMappingHandlerAdapter" class = "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" >
< property name = "messageConverters" >
< list >
< ref bean = "mappingJacksonHttpMessageConverter" />
< ref bean = "stringHttpMessageConverter" />
</ list >
</ property >
</ bean >
 
<!--配置JSP视图-->
< bean id = "internalResourceViewResolver" class = "org.springframework.web.servlet.view.InternalResourceViewResolver" >
< property name = "viewClass" value = "org.springframework.web.servlet.view.JstlView" />
< property name = "prefix" value = "/WEB-INF/jsp/" />
< property name = "suffix" value = ".jsp" />
< property name = "contentType" value = "text/html;charset=UTF-8" />
< property name = "order" value = "1" />
</ bean >
 
<!--配置FreeMark视图-->
< bean id = "freeMarkerViewResolver" class = "org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver" >
< property name = "contentType" value = "text/html;charset=UTF-8" />
< property name = "viewClass" value = "org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
< property name = "suffix" value = ".ftl" />
< property name = "cache" value = "true" />
< property name = "exposeSessionAttributes" value = "true" />
< property name = "exposeRequestAttributes" value = "true" />
< property name = "exposeSpringMacroHelpers" value = "true" />
<!--在页面中使用${rc.contextPath}就可获得contextPath-->
< property name = "requestContextAttribute" value = "rc" />
< property name = "order" value = "0" />
</ bean >
 
< bean id = "freemarkConfig" class = "org.springframework.beans.factory.config.PropertiesFactoryBean" >
< property name = "location" value = "classpath:freemark.properties" />
</ bean >
 
< bean id = "fmXmlEscape" class = "freemarker.template.utility.XmlEscape" />
 
< bean id = "FreeMarkerConfigurer" class = "org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer" >
< property name = "templateLoaderPath" value = "/WEB-INF/ftl/" />
< property name = "defaultEncoding" value = "UTF-8" />
< property name = "freemarkerSettings" ref = "freemarkConfig" />
< property name = "freemarkerVariables" >
< map >
< entry key = "xml_escape" value-ref = "fmXmlEscape" />
</ map >
</ property >
</ bean >
 
<!--文件上传配置注意:这里申明的id必须为multipartResolver-->
< bean id = "multipartResolver" class = "org.springframework.web.multipart.commons.CommonsMultipartResolver" >
< property name = "maxUploadSize" value = "500000" />
</ bean >
 
<!--简单的异常处理-->
< bean id = "exceptionResolver" class = "org.springframework.web.servlet.handler.SimpleMappingExceptionResolver" >
< property name = "exceptionMappings" >
< props >
<!--映射目录为/WEB-INF/jsp/error/upload_error.jsp-->
< prop key = "org.springframework.web.multipart.MaxUploadSizeExceededException" >/error/upload_error</ prop >
</ props >
</ property >
</ bean >
 
<!--对静态资源文件的访问-->
< mvc:resources mapping = "/images/**" location = "/images/" cache-period = "31556926" />
 
< mvc:resources mapping = "/js/**" location = "/js/" cache-period = "31556926" />
 
< mvc:resources mapping = "/css/**" location = "/css/" cache-period = "31556926" />
 
< mvc:resources mapping = "/upload/**" location = "/upload/" cache-period = "31556926" />
</ beans >
转自:http://my.oschina.net/u/1859292/blog/309812

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值