Springmvc解決中文亂碼問題

Springmvc解決中文亂碼問題

POST

  • 在表單提交的時(shí)候,如果遇到中文亂碼的情況,springmvc提供了一個(gè)CharacterEncodingFilter過濾器,我們只需要在web.xml文件中配置即可

注意

  1. 表單的提交方式必須是post
  2. web.xml中配置CharacterEncodingFilter編碼格式要和JSP頁面的編碼格式一致
  3. 解決中文亂碼必須使用過濾器(在DispatcherServlet之前執(zhí)行),而不能使用springmvc的攔截器,因?yàn)檫^濾器在DispatcherServlet之前,所以設(shè)置好編碼后,DispatcherServletController都可以獲取到正確的數(shù)據(jù),而攔截器運(yùn)行在DispatcherServlet之后,也即是意味著DispatcherServlet獲取的數(shù)據(jù)已經(jīng)是亂碼,那么在攔截器中調(diào)整亂碼是沒有意義的

web.xml配置

    <!-- 配置 CharacterEncodingFilter解決中文亂碼問題-->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        
        <!-- 配置編碼格式為UTF-8 -->
        <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>

GET

  • 即使配置了中文亂碼過濾器CharacterEncodingFilter,但是這個(gè)只會(huì)針對(duì)POST請(qǐng)求才會(huì)起作用,如果我們?cè)谑褂?code>GET請(qǐng)求的時(shí)候攜帶的參數(shù)有中文的話,那么服務(wù)器接收的時(shí)候就會(huì)產(chǎn)生中文亂碼。
  • 我們?cè)趀clipse中修改Tomcatserver.xml文件中的內(nèi)容參數(shù)即可,如下:
server.xml
  • 我們只需要在<connector connectionTimeout="20000"......>在這個(gè)最后加上URIEncoding="UTF-8"即可

總結(jié)

  • 那么以后創(chuàng)建項(xiàng)目時(shí)候的完整的web.xml如下:
<?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"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
    <display-name>Springmvc</display-name>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>


    <!-- 配置前端控制器DispatcherServlet -->
    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 配置springMVC配置文件的路徑,這里如果想要使用默認(rèn)的可以不用配置 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <!-- classpath表示根路徑,這里找的項(xiàng)目根路徑下的applicationContext.xml -->
            <param-value>classpath:spring-*.xml</param-value>
        </init-param>
        <!-- 當(dāng)tomcat啟動(dòng)的時(shí)候就加載,設(shè)置啟動(dòng)的優(yōu)先級(jí) -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <!-- 配置分發(fā)規(guī)則,這個(gè)是用來控制所有的請(qǐng)求,只要是請(qǐng)求后綴為.do的都會(huì)攔截分發(fā) -->
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    
    
    <!-- 配置 CharacterEncodingFilter解決中文亂碼問題-->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        
        <!-- 配置編碼格式為UTF-8 -->
        <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>

</web-app>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 對(duì)于java中的思考的方向,1必須要看前端的頁面,對(duì)于前端的頁面基本的邏輯,如果能理解最好,不理解也要知道幾點(diǎn)。 ...
    神尤魯?shù)婪?/span>閱讀 907評(píng)論 0 0
  • IOC 控制反轉(zhuǎn)容器控制程序?qū)ο笾g的關(guān)系,而不是傳統(tǒng)實(shí)現(xiàn)中,有程序代碼之間控制,又名依賴注入。All 類的創(chuàng)建,...
    irckwk1閱讀 1,099評(píng)論 0 0
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong閱讀 22,968評(píng)論 1 92
  • 市場的偉大,在于它能夠?qū)⒑翢o關(guān)系的陌生人聯(lián)系在一起,并充分發(fā)揮各自的積極性,人人為己的同時(shí),人人受益,提高人類整體...
    ladder_builder閱讀 389評(píng)論 0 0
  • 楊澤平 春之夢(mèng) 紛紛揚(yáng)揚(yáng)的雪花 送來了春的訊息 屋檐下一行行冰吊 奏出歡快的旋律 綠蘿悄無聲息地勃發(fā) 新生的葉子 ...
    窗外白楊閱讀 252評(píng)論 3 3

友情鏈接更多精彩內(nèi)容