Spring-MVC.XML文件以及WEB.XML的初级配置(解决乱码,及自定义类型转换器)

WEB.XML的配置文件

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
        version="4.0">

   <!--配置springmvc到servlet中-->
   <servlet>
       <servlet-name>dispatcherServlet</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       <init-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>classpath:spring-mvc.xml</param-value>
       </init-param>
       <!--配置驱动等级-->
       <load-on-startup>1</load-on-startup>
   </servlet>
   
   <servlet-mapping>
       <servlet-name>dispatcherServlet</servlet-name>
       <url-pattern>/</url-pattern>
   </servlet-mapping>
   <!--静态资源采用默认方式-->
   <servlet-mapping>
       <servlet-name>default</servlet-name>
       <url-pattern>*.js</url-pattern>
       <url-pattern>*.css</url-pattern>
   </servlet-mapping>


   <!--配置过滤器-->
   <filter>
       <filter-name>encodingFilter</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>
   </filter>
   <filter-mapping>
       <filter-name>encodingFilter</filter-name>
       <url-pattern>/*</url-pattern>
   </filter-mapping>
   
</web-app>

Spring-MVC.XML配置文件

<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 https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--自定义类型转换器-->
    <!--1.先注册到Bean容器中-->
    <!--2.注册到注解驱动中-->
    <bean class="org.springframework.context.support.ConversionServiceFactoryBean" id="conversionService2">
        <property name="converters">
            <!--因为配置的可能不止一个自定义类型转换器,即使用list标签-->
            <list>
                <bean class="com.wdz.springmvc.converter.DateConverter" >
                    <constructor-arg value="yyyy-MM-dd"/>
                </bean>
            </list>
        </property>
    </bean>

    <!--配置注解驱动,以及解决响应乱码-->
    <mvc:annotation-driven conversion-service="conversionService2">
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter" >
                <property name="supportedMediaTypes" value="text/html;charset=utf-8" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    <!--配置自动扫描-->
    <context:component-scan base-package="com.wdz.springmvc.controller" />

    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
        <property name="prefix" value="/WEB-INF/pages/" />
        <property name="suffix" value=".jsp" />
    </bean>

</beans>

简单的String转Date类型的自定义转换器


import org.springframework.core.convert.converter.Converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @Author:WuDeZhi
 * @Version:1.0
 * @Date:2021/7/31-14:54
 * @Since:jdk11
 */
public class DateConverter implements Converter<String, Date> {
    private String pattern;

    public DateConverter(String pattern) {
        this.pattern = pattern;
    }

    @Override
    public Date convert(String s) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(this.pattern);
        Date parse = null;
        try {
            parse = simpleDateFormat.parse(s);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return parse;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容