導航:首頁 > 編程語言 > java過濾器解決亂碼

java過濾器解決亂碼

發布時間:2021-10-26 07:39:52

java 字元串中亂碼過濾

new String(str.getBytes(),"GBK");
用這方法,把亂碼正確顯示。當然編碼要自己設

❷ java web 亂碼過濾器 filter 有什麼作用

注意問題:在學慣用selvert的過濾器filter處理中文亂碼時,在專filter配置初始化時用了utf-8處理中文亂碼,而在提屬交的jsp頁面中卻用了gbk。雖然兩種都可以出來中文亂碼,但是卻造成了處理亂碼的格式不一致。所以編譯出錯。

❸ javaweb,給HTML文件加上過濾器以後,HTML顯示亂碼。

那是你的瀏覽器不識別Content-Type,採用了默認的GBK/GB2312編碼顯示,這個可以在打開頁面「右鍵-編碼」看到;meta最好給一個結束符,即:<meta http-equiv="content-type" content="text/html; charset=utf-8" />

❹ 怎麼使用過濾器解決中文亂碼

首先有web.xml中配置
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>net.tom.servlet.filter.EncodingFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
//net.tom.servlet.filter.EncodingFilter是其包和類所在的地址

我給你的DEMO是統一設為utf-8

你可以改一下就可以了

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;
/********************
* 過濾編碼.用於把編碼統一為:utf-8
* @author jiangqh
*
*/
public class EncodingFilter implements Filter {

public EncodingFilter() {
}

public void destroy() {

}
/****************
* 過濾方法
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
chain.doFilter(request, response);

}

public void init(FilterConfig arg0) throws ServletException {

}

}

❺ Java 亂碼問題 怎樣寫一個過濾器文件來處理亂碼問題啊

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;
import javax.servlet.http.HttpServletRequest;public class PageEncodeFilter implements Filter { private FilterConfig fConfig;
private String encode;
public void destroy() {
this.fConfig = null;
this.encode = null;
} public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain fc) throws IOException, ServletException {
HttpServletRequest hsr = (HttpServletRequest)arg0;
hsr.setCharacterEncoding(this.encode);
fc.doFilter(arg0, arg1);
} public void init(FilterConfig fConfig) throws ServletException {
this.fConfig = fConfig;
this.encode = this.fConfig.getInitParameter("encode");
}}然後到web.xml 下配置 <filter>
<filter-name>PageEncodeFilter</filter-name>
<filter-class>com.popedom.util.PageEncodeFilter</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>PageEncodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

❻ 對付jsp亂碼的亂碼過濾器要怎麼添加啊

正常頁面間傳輸 把編碼統一 utf-8 或 gbk 其實不會出現亂碼問題。
如果在資料庫提取數據傳給頁面,可能會出現亂碼問題。這時可在struts中設置編碼。
或加一個過濾器。過濾器具體操作如下:
1:在你寫JAVA類的地方新建個 類。filter 內容:
package com.yourcompany.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 filter implements Filter{

public void destroy() {
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
}

public void init(FilterConfig arg0) throws ServletException {
}

}
2:在web.xml添加 映射文件(註:<filter-class>寫你過濾器類的路徑</filter-class>)
<filter>
<filter-name>fileter</filter-name>
<filter-class>com.yourcompany.filter.filter</filter-class>
</filter>
<filter-mapping>
<filter-name>fileter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

3.如還有不明白的 HI我

❼ jsp添加解決亂碼的過濾器之後頁面打開沒有內容.

樓主,你看看這個就明白了,你少了一句代碼

❽ 關於java過濾器解決中文亂碼的

因為你遺漏了抄重要的一步。正確的方法如下:

if(encoding!=null){
//設置request字元編碼
request.setCharacterEncoding(encoding);
//設置response字元編碼
response.setContentType("text/html;charset="+encoding);
response.setCharacterEncoding(encoding);
}
//傳遞給下一個過濾器
chain.doFilter(request,response);

❾ 如何配置Filter過濾器處理JSP中文亂碼

注意問題:在學慣用selvert的過濾器filter處理中文亂碼時,在filter配置初始化時用了utf-8處理中文亂碼,而在提交的jsp頁面中卻用了gbk。雖然兩種都可以出來中文亂碼,但是卻造成了處理亂碼的格式不一致。所以編譯出錯。
解決方法:所有地方都用utf-8或gbk

//過濾器類
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){
//設置request字元編碼
request.setCharacterEncoding(encoding);
//設置response字元編碼
response.setContentType("text/html;charset="+encoding);
}
//傳遞給下一個過濾器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
//獲取初始化參數
encoding=filterConfig.getInitParameter("encoding");
}
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
}

web.xml
<filter> <!--注意這里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--過濾器名稱-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--過濾器的完整類名-->
<init-param> <!--初始化參數-->
<param-name>encoding</param-name> <!--參數名稱-->
<param-value>utf-8</param-value> <!--參數值-->
</init-param>
</filter>
<filter-mapping> <!--過濾器映射-->
<filter-name>CharactorFilter</filter-name><!--過濾器名稱-->
<url-pattern>/*</url-pattern><!--URL映射,給所有頁面處理亂碼-->
</filter-mapping>

❿ 在java中,使用過濾器編碼過濾亂碼時,過濾器的編碼怎麼寫

public void doFilter(ServletRequest srequest, ServletResponse sresponse,
FilterChain chain) throws IOException, ServletException {
if (null != encoding) {
HttpServletRequest request = (HttpServletRequest)srequest;
HttpServletResponse response = (HttpServletResponse)sresponse;

// 對請求進行編碼設置
request.setCharacterEncoding(encoding); //把請求用指定的方法編碼
response.setContentType("text/html");
response.setCharacterEncoding(encoding); //把返回響應指定 編碼方式
System.out.println("------------過濾編碼-------------" + encoding);
}
// 把處理許可權交給下一個過濾器
chain.doFilter(srequest, sresponse);
}//這是核心方法
正好項目中有用到

閱讀全文

與java過濾器解決亂碼相關的資料

熱點內容
沒有合法文件被上傳 瀏覽:382
百度雲怎麼壓解文件 瀏覽:452
國內精品影視推薦網站 瀏覽:481
穿越民國做軍閥 瀏覽:446
穿越到紅軍長征時期開超市 瀏覽:844
帶女同學在閣樓看片是什麼電影 瀏覽:552
三極鬼片完整版 瀏覽:665
午夜香蕉大片 瀏覽:301
華為s6506交換機配置文件 瀏覽:511
有哪些出售門市信息網站 瀏覽:998
html5和java 瀏覽:383
韓國電影樓梯上坐 瀏覽:488
三菱哪些PLC支持FB編程 瀏覽:151
什麼網站看動漫黃速度快 瀏覽:667
大黑美鬼 瀏覽:748
國產3d動漫網 瀏覽:779
文件夾共享圖標 瀏覽:331
俤,日姊В → fp6s8.pro。K[O 瀏覽:193
大長今成人 瀏覽:675
itunes如何升級越獄的ipad2 瀏覽:783

友情鏈接