java中Filter過(guò)濾器處理中文亂碼的方法
注意問(wèn)題:在學(xué)習(xí)用selvert的過(guò)濾器filter處理中文亂碼時(shí),在filter配置初始化時(shí)用了utf-8處理中文亂碼,而在提交的jsp頁(yè)面中卻用了gbk。雖然兩種都可以出來(lái)中文亂碼,但是卻造成了處理亂碼的格式不一致。所以編譯出錯(cuò)。
解決方法:所有地方都用utf-8或gbk
//過(guò)濾器類
CharactorFilter.jsp
package cn.com.Filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharactorFilter implements Filter { //繼承Filter類
//字符編碼
String encoding=null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null){
//設(shè)置request字符編碼
request.setCharacterEncoding(encoding);
//設(shè)置response字符編碼
response.setContentType("text/html;charset="+encoding);
}
//傳遞給下一個(gè)過(guò)濾器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
//獲取初始化參數(shù)
encoding=filterConfig.getInitParameter("encoding");
}
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
}
web.xml
<filter> <!--注意這里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--過(guò)濾器名稱-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--過(guò)濾器的完整類名-->
<init-param> <!--初始化參數(shù)-->
<param-name>encoding</param-name> <!--參數(shù)名稱-->
<param-value>utf-8</param-value> <!--參數(shù)值-->
</init-param>
</filter>
<filter-mapping> <!--過(guò)濾器映射-->
<filter-name>CharactorFilter</filter-name><!--過(guò)濾器名稱-->
<url-pattern>/*</url-pattern><!--URL映射,給所有頁(yè)面處理亂碼-->
</filter-mapping>
- 解決javaWEB中前后臺(tái)中文亂碼問(wèn)題的3種方法
- java中form以post、get方式提交數(shù)據(jù)中文亂碼問(wèn)題總結(jié)
- java壓縮zip文件中文亂碼問(wèn)題解決方法
- java 頁(yè)面url傳值中文亂碼的解決方法
- Java讀寫.properties文件解決中文亂碼問(wèn)題
- JAVA POST與GET數(shù)據(jù)傳遞時(shí)中文亂碼問(wèn)題解決方法
- java 逐行讀取txt文本如何解決中文亂碼
- Java 解決讀寫本地文件中文亂碼的問(wèn)題
- java頁(yè)面中文亂碼的解決辦法
- Java中文亂碼解決方案全解析,讓你的程序“說(shuō)人話”!
相關(guān)文章
Java實(shí)現(xiàn)文件夾中內(nèi)容定時(shí)刪除
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)文件夾中內(nèi)容定時(shí)刪除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
AbstractQueuedSynchronizer(AQS)鎖狀態(tài)同步和排隊(duì)管理
這篇文章主要介紹了為大家AbstractQueuedSynchronizer(AQS)鎖狀態(tài)同步和排隊(duì)管理源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
Admin - SpringBoot + Maven 多啟動(dòng)環(huán)境配置實(shí)例詳解
這篇文章主要介紹了Admin - SpringBoot + Maven 多啟動(dòng)環(huán)境配置,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Java 執(zhí)行CMD命令或執(zhí)行BAT批處理方式
這篇文章主要介紹了Java 執(zhí)行CMD命令或執(zhí)行BAT批處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
idea中導(dǎo)入別人的springboot項(xiàng)目的方法(圖文)
這篇文章主要介紹了idea中導(dǎo)入別人的springboot項(xiàng)目的方法(圖文),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
使用Spring靜態(tài)注入實(shí)現(xiàn)讀取配置工具類新方式
這篇文章主要介紹了使用Spring靜態(tài)注入實(shí)現(xiàn)讀取配置工具類新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Mybatis自定義攔截器實(shí)現(xiàn)權(quán)限功能
本文主要介紹了Mybatis自定義攔截器實(shí)現(xiàn)權(quán)限功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
Java 字符串反轉(zhuǎn)實(shí)現(xiàn)代碼
這篇文章主要介紹了 Java 字符串反轉(zhuǎn)實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03

