Filter解决servlet接收前台传的中文字符乱码问题
2011-11-08 09:58
465 查看
在开发jsp项目的时候,通常会遇到从前台传的值在后台servlet接收的时候是乱码,即使在jsp页面上设置了字符的编码格式。
解决方法有很多种,有一种方法是给每一个request设置字符集,不过感觉很麻烦。
设置字符集方法
我这里的解决方法是写一个Filter。
过滤器的代码如下:
写完之后,还得在web.xml中配置一下,加上的配置如下:
解决方法有很多种,有一种方法是给每一个request设置字符集,不过感觉很麻烦。
设置字符集方法
String keyWords = new String(request.getParameter("keyWords").trim().getBytes("iso-8859-1"),"UTF-8");
我这里的解决方法是写一个Filter。
过滤器的代码如下:
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 FilterEncoding implements Filter { private FilterConfig filterConfig = null; public FilterEncoding() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (request.getCharacterEncoding() == null || !(request.getCharacterEncoding().equals("UTF-8"))) { try { request.setCharacterEncoding("UTF-8"); } catch (Exception e) { e.printStackTrace(); } } try { chain.doFilter(request, response); } catch (ServletException sx) { filterConfig.getServletContext().log(sx.getMessage()); } catch (IOException iox) { filterConfig.getServletContext().log(iox.getMessage()); } } public void destroy() { } public void init(FilterConfig filterConfig) { this.filterConfig = filterConfig; } }
写完之后,还得在web.xml中配置一下,加上的配置如下:
<filter> <filter-name>filterEncoding</filter-name> <filter-class>com.FilterEncoding</filter-class> </filter> <filter-mapping> <filter-name>filterEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
相关文章推荐
- Tomcat中用Filter解决JSP提交中文信息到Servlet的乱码问题
- Tomcat中用Filter解决JSP提交中文信息到Servlet的乱码问题
- Java 解决 servlet 接收参数中文乱码问题
- Tomcat中用Filter解决JSP提交中文信息到Servlet的乱码问题
- Tomcat中用Filter解决JSP提交中文信息到Servlet的乱码问题
- JavaScript(js) 前台 参数传递乱码 转码 问题--已解决! 中文字符乱码
- jsp传参 servlet接收中文乱码问题的解决方法
- [JSP] 利用Filter解决Servlet输出中文乱码的问题
- SSH框架中Controller接收web前端得中文字符乱码问题解决
- JavaScript(js) 前台 参数传递乱码 转码 问题--已解决! 中文字符乱码
- 【技术贴】servlet传参|前台传参含中文符号等 tomcat乱码 java后台接收乱码终极解决方
- 【技术贴】servlet传参|前台传参含中文符号等 tomcat乱码 java后台接收乱码终极解决方
- js往前台传中文乱码问题解决
- 解决jquery ajax接收后台返回值出现中文乱码问题
- Filter中对字符编码过滤解决中文乱码问题
- 4种方法解决后台接受前台中文信息乱码的问题
- 解决servlet中文乱码问题
- AJAX在servlet中返回中文乱码问题的解决
- 软件测试:请教Loadrunner问题,前台录制是中文,回放时服务端日志显示是乱码,如何解决?