SpringMVC配置javaConfig及StringHttpMessageConverter示例
SpringMVC配置javaConfig及StringHttpMessageConverter
配置Spring的轉(zhuǎn)換器
在xml中配置如下
<mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
在javaConfig中的配置如下
在web.xml
3.0后可以直接使用,在Servlet
3.0環(huán)境中, 容器會在類路徑中查找實(shí)現(xiàn)javax.servlet.ServletContainerInitializer
接口的類,如果能發(fā)現(xiàn)的話, 就會用它來配置Servlet
容器。
Spring
提供了這個接口的實(shí)現(xiàn), 名為SpringServletContainerInitializer
, 這個類反過來又會查找實(shí)現(xiàn)WebApplicationInitializer
的類并將配置的任務(wù)交給它們來完成。
我們的SpittrWebAppInitializer
擴(kuò)展了AbstractAnnotationConfigDispatcherServletInitializer
(同時也就實(shí)現(xiàn)了WebApplicationInitializer
) , 因此當(dāng)部署到Servlet
3.0容器中的時候, 容器會自動發(fā)現(xiàn)它, 并用它來配置Servlet
上下文。
public class SplittrWebAppInitianlizer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] getRootConfigClasses() { // 如果只是簡單的一個web程序,可忽略 return new Class<?>[] { RootConfig.class }; } @Override protected Class<?>[] getServletConfigClasses() { // 配置WebConfig,主要是初始化bean等,相當(dāng)于加載applicationContext.xml文件 return new Class<?>[] { WebConfig.class }; } @Override protected String[] getServletMappings() { // 處理請求的路徑 return new String[] { "/" }; } }
WebConfig.java
@Configuration @EnableWebMvc // 啟用SpringMVC @ComponentScan("com.spring02") // 啟動組件掃描 public class WebConfig extends WebMvcConfigurerAdapter { // 配置視圖解析器 @Bean public ViewResolver viewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".jsp"); resolver.setExposeContextBeansAsAttributes(true); return resolver; } // 配置處理靜態(tài)資源 @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } // 設(shè)置MessageConverter @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { // 添加一個String處理起 converters.add(stringHttpMessageConverter()); } // 設(shè)置默認(rèn)編碼為UTF-8 private Charset default_charset = Charset.forName("UTF-8"); @Bean public StringHttpMessageConverter stringHttpMessageConverter() { StringHttpMessageConverter converter = new StringHttpMessageConverter(default_charset); List<MediaType> list = buildDefaultMediaTypes(); converter.setSupportedMediaTypes(list); return converter; } // 設(shè)置響應(yīng)頭信息 private static List<MediaType> buildDefaultMediaTypes() { List<MediaType> list = new ArrayList<>(); list.add(MediaType.TEXT_HTML); // 這個必須設(shè)置在第一位 list.add(MediaType.APPLICATION_JSON_UTF8); return list; } }
說明
- @EnableWebMvc就想當(dāng)于
<mvc:annotation-driven />
- 需要重寫
WebMvcConfigurerAdapter
中的configureMessageConverters
方法,在該方法中會傳遞converters
,通過converters
去添加處理器converters.add(處理器轉(zhuǎn)換方法)
。
以上就是SpringMVC配置javaConfig及StringHttpMessageConverter示例的詳細(xì)內(nèi)容,更多關(guān)于SpringMVC配置javaConfig StringHttpMessageConverter的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解Java如何實(shí)現(xiàn)百萬數(shù)據(jù)excel導(dǎo)出功能
這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)百萬數(shù)據(jù)excel導(dǎo)出功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下2023-02-02Spring中@Async注解實(shí)現(xiàn)異步調(diào)詳解
在本篇文章里小編給大家分享的是關(guān)于Spring中@Async注解實(shí)現(xiàn)異步調(diào)詳解內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-04-04POI對Excel自定義日期格式的讀取(實(shí)例代碼)
下面小編就為大家?guī)硪黄狿OI對Excel自定義日期格式的讀取(實(shí)例代碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11空指針HttpSession異常之SpringBoot集成WebSocket的方法
文章介紹了在Spring?Boot中集成WebSocket時遇到的HttpSession為空的問題,并探討了三種解決方法,方法一涉及域名配置,方法二通過監(jiān)聽創(chuàng)建Session,而方法三是從request中獲取session并存入數(shù)據(jù),感興趣的朋友一起看看吧2025-01-01以用戶名注冊為例分析三種Action獲取數(shù)據(jù)的方式
這篇文章主要介紹了以用戶名注冊為例分析三種Action獲取數(shù)據(jù)的方式的相關(guān)資料,需要的朋友可以參考下2016-03-03SpringBoot與SpringMVC中參數(shù)傳遞的原理解析
這篇文章主要介紹了SpringBoot與SpringMVC中參數(shù)傳遞的原理,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-07-07@RequestAttribute和@RequestParam注解的區(qū)別及說明
這篇文章主要介紹了@RequestAttribute和@RequestParam注解的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05