程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 關於jsp和servlet中的亂碼問題

關於jsp和servlet中的亂碼問題

編輯:關於JSP

    在jsp和servlet的開發中,今天自己做的一個小例子中出現了中文亂碼問題,用了許多方法,發現還是解決不了。最後我用了過濾器,才算終結。

    此方法總結如下:在jsp頁面中使用<%@ page pageEncoding="GB2312"%> ,這裡的pageEncoding是GB2312,那麼我們在過濾器web.xml中所使用的<param-value>GB2312</param-value>也為GB2312。總之一條:就是上述兩者一致即可,比如同為UTF-8

    我將過濾器的java代碼和web.xml的配置寫

    //--------------java代碼部分:CharsetFilter .java

    package com;

    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 CharsetFilter implements Filter {
    private String charset = "GB2312";

    public void destroy() {

    }

    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain arg2) throws IOException, ServletException {
    request.setCharacterEncoding(charset);
    arg2.doFilter(request, response);
    }

    public void init(FilterConfig arg0) throws ServletException {
    charset = arg0.getInitParameter("charset");
    System.out.println("字符過濾器開啟,當前狀態:"+charset);
    }
    }


    //--------------web.xml部分(以下部分可以直接復制粘貼到WEB.XML下)

    <filter>
    <filter-name>CharsetFilter</filter-name>
    <filter-class>com.CharsetFilter</filter-class>
    <init-param>
    <param-name>charset</param-name>
    <param-value>GB2312</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>CharsetFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    來源:http://blog.csdn.net/lvlingwy
     
     

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved