request.setCharacterEncoding("gb2312")怎么用 我发现在action中写request.setCharacterEncoding("gb2312")就提示错误 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我一般的做法是新建一个类来进行处理,这个类是引用javax.servlet.Filter接口的:import javax.servlet.Filter;import javax.servlet.FilterConfig;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.FilterChain;import javax.servlet.http.HttpServletRequest;import java.io.UnsupportedEncodingException;import javax.servlet.ServletException;import java.io.IOException;public class EncodingFilter implements Filter { protected FilterConfig filterConfig; private String targetEncoding = "gb2312"; public EncodingFilter() { } /** * init * * @param filterConfig FilterConfig */ public void init(FilterConfig filterConfig) { this.filterConfig = filterConfig; this.targetEncoding = filterConfig.getInitParameter("encoding"); } /** * doFilter * * @param servletRequest ServletRequest * @param servletResponse ServletResponse * @param filterChain FilterChain */ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws UnsupportedEncodingException, ServletException, IOException { System.out.println("使用以下方法对请求进行编码:encoding="+targetEncoding); HttpServletRequest request = (HttpServletRequest)servletRequest; request.setCharacterEncoding(targetEncoding); filterChain.doFilter(servletRequest,servletResponse); } /** * destroy */ public void destroy() { this.filterConfig = null; }}而且还要在web.xml中加入配置: <filter> <filter-name>Set Request Encoding</filter-name> <filter-class>com.maiyl.test.filter.EncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>gb2312</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Request Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>其中的<filter-class>是你的类所在的目录 milemac(用心打造):我其实也用了你的方法,但是请看:(用的不是你的类)提示:Exception starting filter Set Character Encoding: java.lang.InstantiationException<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>util.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>ignore</param-name> <param-value>true</param-value> </init-param> <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>我这个监听器目前还是在Jbuilder下编译的,放在util包中, 我放在jsp里用,在html的最上面 可能是编译器版本的问题,比如tomcat,老版本的tomcat不支持request.setCharacterEncoding("gb2312")方法,可以考虑升级版本,他可以将表单里面提交的中文一次性全部转化,在所有的需要获得参数的页面里面使用这个方法,就可以彻底解决表单提交的中文问题 JSPGenSDF系列讲解三:框架结构 js函数定义方式为什么可以这样写 一台电脑能不能装两个java虚拟机 rowSet.populate(rs)提示找不到游标 asp导航栏的问题 struts的controller说明,翻译Mastering jarkata struts部分 一个严重的问题,老是报异常!!急!! 刚刚接触ECLIPSE,哪位介绍一下这方面的书,谢谢了! 大侠们请进来看看,js能否对JSF的表单进行提交 如何在jsp页面中调用asp页面? javabean中调用session问题 那位大侠能给一点关于 workflow 的资料 重谢 (100分)
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import javax.servlet.ServletException;
import java.io.IOException;public class EncodingFilter
implements Filter {
protected FilterConfig filterConfig;
private String targetEncoding = "gb2312";
public EncodingFilter() {
} /**
* init
*
* @param filterConfig FilterConfig
*/
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
this.targetEncoding = filterConfig.getInitParameter("encoding");
} /**
* doFilter
*
* @param servletRequest ServletRequest
* @param servletResponse ServletResponse
* @param filterChain FilterChain
*/
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain) throws
UnsupportedEncodingException, ServletException, IOException {
System.out.println("使用以下方法对请求进行编码:encoding="+targetEncoding);
HttpServletRequest request = (HttpServletRequest)servletRequest;
request.setCharacterEncoding(targetEncoding);
filterChain.doFilter(servletRequest,servletResponse);
} /**
* destroy
*/
public void destroy() {
this.filterConfig = null;
}}而且还要在web.xml中加入配置:
<filter>
<filter-name>Set Request Encoding</filter-name>
<filter-class>com.maiyl.test.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Request Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>其中的<filter-class>是你的类所在的目录
提示:Exception starting filter Set Character Encoding: java.lang.InstantiationException
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>util.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
<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>
我这个监听器目前还是在Jbuilder下编译的,放在util包中,