成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>開發編程>>JAVA>>新聞內容
徹底解決Tomcat 5.0.19中文亂碼
作者:bruce/Java研究組織 發布時間:2004-3-26 13:56:52 文章來源:西部E網
  一、Include的頁面亂碼

  現象:include進來的頁面出現亂碼,其它頁面正常。

  原因:Tomcat在缺省情況下使用ISO-8859-1編碼,但是在include時有時Tomcat不能正確根據外層.jsp文件的編碼解析include進來的文件,造成include進來的文件中的中文亂碼。

  解決:這兒可以有很多解決辦法,但是對于我們的中文環境,從根本上的解決辦法是將Tomcat 5.0.19的核心缺省編碼從ISO-8859-1修改為GBK 。可以在下面地址下載修改過的jar文件,

  jasper-compiler.jar,jasper-runtime.jar位于/common/lib下,其它位于/server/lib下,將新的.jar文件替代原.jar即可。
  
  二、提交的數據亂碼

  現象:通過表單提交的數據出現亂碼。

  原因:原因未明。可能是Tomcat在接收到請求后,并沒有能夠根據request中的信息提前正確的編碼方式。

  解決:可以添加一個設置字符集的Filter。

package filters;

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.UnavailableException;

public class SetCharacterEncodingFilter implements Filter {
 protected String encoding = null;
 protected FilterConfig filterConfig = null;
 protected boolean ignore = true;

 public void destroy() {
  this.encoding = null;
  this.filterConfig = null;
 }

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {

 // Conditionally select and set the character encoding to be used
 if (ignore || (request.getCharacterEncoding() == null)) {
  String encoding = selectEncoding(request);
  if (encoding != null)
   request.setCharacterEncoding(encoding);
 }

 // Pass control on to the next filter
 chain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {

 this.filterConfig = filterConfig;
 this.encoding = filterConfig.getInitParameter("encoding");
 String value = filterConfig.getInitParameter("ignore");
 if (value == null)
  this.ignore = true;
 else if (value.equalsIgnoreCase("true"))
  this.ignore = true;
 else if (value.equalsIgnoreCase("yes"))
  this.ignore = true;
 else
  this.ignore = false;

}

protected String selectEncoding(ServletRequest request) {
 return (this.encoding);
}

}

  配置web.xml

<filter>
 <filter-name>Set Character Encoding</filter-name>
 <filter-class>filters.SetCharacterEncodingFilter</filter-class>
 <init-param>
  <param-name>encoding</param-name>
  <param-value>GBK</param-value>
 </init-param>
</filter>

<filter-mapping>
 <filter-name>Set Character Encoding</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>


最新更新
·MyEclipse 6.0的破解方法(附
·Java圖片縮小后不失真的代碼
·Java開發技術十年的回顧與展
·關于TOMCAT主目錄與虛擬目錄
·用java程序調用ffmpeg執行視
·JavaBean與Enterprise JavaB
·Java開發人員的十大戒律
·JavaFX Script將終結AJAX?還
·解決IE中所有png圖片透明問題
·JSP解決地址欄中傳遞中文字符
相關信息
·關于TOMCAT主目錄與虛擬目錄的配置介紹
·Tomcat5和IIS6整合
畫心
愚愛
偏愛
火苗
白狐
畫沙
犯錯
歌曲
傳奇
稻香
小酒窩
獅子座
小情歌
全是愛
棉花糖
海豚音
我相信
甩蔥歌
這叫愛
shero
走天涯
琉璃月
Nobody
我愛他
套馬桿
愛是你我
最后一次
少女時代
灰色頭像
斷橋殘雪
美了美了
狼的誘惑
我很快樂
星月神話
心痛2009
愛丫愛丫
半城煙沙
旗開得勝
郎的誘惑
愛情買賣
2010等你來
我叫小沈陽
i miss you
姑娘我愛你
我們都一樣
其實很寂寞
我愛雨夜花
變心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK繃
貝多芬的悲傷
哥只是個傳說
丟了幸福的豬
找個人來愛我
要嫁就嫁灰太狼
如果這就是愛情
我們沒有在一起
寂寞在唱什么歌
斯琴高麗的傷心
別在我離開之前離開
不是因為寂寞才想你
愛上你等于愛上了錯
在心里從此永遠有個你
一個人的寂寞兩個人的錯
主站蜘蛛池模板: 浑源县| 东兴市| 永济市| 镇赉县| 湖北省| 健康| 新余市| 沙田区| 庆元县| 平原县| 凯里市| 同仁县| 娱乐| 蕉岭县| 阳东县| 封开县| 车险| 辉南县| 晋宁县| 长岛县| 哈密市| 凤阳县| 临朐县| 普兰县| 化德县| 定南县| 平凉市| 晋中市| 内黄县| 新疆| 英山县| 江油市| 邢台市| 德昌县| 高陵县| 湖州市| 五河县| 江达县| 许昌市| 文山县| 阜南县|