|
jsp代碼:
import Javax.servlet.*;import Javax.servlet.http.*;public class CharsetFilter implements Filter{ public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) { try { HttpServletRequest httpRequest = (HttpServletRequest)request; String method = httpRequest.getMethod().toLowerCase(); if(method.equals("post")) { //如果是post,即表單方法,直接設置charset即可 request.setCharacterEncoding("UTF-8"); } else if(method.equals("get")) { //如果是get方法 request.setCharacterEncoding("UTF-8"); request = new HttpServletRequestWrapper((HttpServletRequest)request) { public String getParameter(String str) { try { return new String(super.getParameter(str).getBytes("iso-8859-1"),"GBK"); } catch(Exception e) { return null; } } }; } chain.doFilter(request, response); } catch(Exception e){} } public void init(FilterConfig filterConfig) { }}
過濾器配置:
<filter> <filter-name>CharFilter</filter-name> <filter-class>CharsetFilter</filter-class></filter><filter-mapping> <filter-name>CharFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher></filter-mapping>
jsp技術:通過過濾器(Filter)解決JSP的Post和Request中文亂碼問題,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。