加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

解析有关jsp和servlet中的乱码问题

发布时间:2023-07-20 14:36:59 所属栏目:教程 来源:
导读:在jsp和servlet的开发中,今天自己做的一个小例子中出现了中文乱码问题,用了许多方法,发现还是解决不了。最后我用了过滤器,才算终结。

此方法总结如下:在jsp页面中使用<%@ page pageEncoding="GB2312"%> ,这
在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>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!