欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMVC配置javaConfig及StringHttpMessageConverter示例

 更新時間:2023年07月20日 09:18:09   作者:這個騎士不炸街  
這篇文章主要介紹了SpringMVC配置javaConfig及StringHttpMessageConverter實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

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)文章

最新評論