解決中文亂碼和自定義類型轉換器

一、解決maven項目創建過慢的問題:

    archetypeCatalog       internal

二、解決參數中文亂碼的解決

    在web.xml中配置Spring提供的過濾器類

<!--配置解決中文亂碼的過濾器-->
  <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>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
三、自定義類型轉換器

    1.表單提交的任何數據類型全部都是字符串類型,但是後臺定義Interger類型,數據也可以封裝上,說明Spring框架內部會默認進行數據類型轉換
    2.進行自定義數據類型轉換,要實現Converter接口
        自定義類型轉換器類

import org.springframework.core.convert.converter.Converter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class StringToDate implements Converter<String, Date> {

    @Override
    public Date convert(String s) {
        if (s==null){
            throw new RuntimeException("請傳入數據");
        }
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        try {
            return df.parse(s);
        } catch (Exception e) {
            throw new RuntimeException("傳入數據格式有誤");
        }
    }
}

        註冊自定義類型轉換器,在springMVC.xml配置文件中編寫配置

<!--註冊自定義類型轉換器-->
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <set>
            <bean class="cn.ycl.utils.StringToDate"></bean>
        </set>
    </property>
</bean>
<!--開啓springMVC框架對註解的支持-->
<mvc:annotation-driven conversion-service="conversionService"/>
四、在控制器中使用原生的ServletAPI對象

        只需要在控制器的方法參數定義HttpServletRequest和HttpServletResponse對象

發佈了24 篇原創文章 · 獲贊 4 · 訪問量 779
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章