您的位置:首页 > 其它

servlet中文乱码拦截器

2015-12-25 11:39 281 查看

servlet中文乱码拦截器

今天看了看ajax但是当从后台获取前端的值时发现中文乱码,无论在servlet中怎么设置都不行,
response.setContentType("text/html;charset=utf-8");
既然这么费劲干脆写一个拦截器不就什么问题就解决了
首先建立一个类WebFile(类名自己随便起)让该类实现File(在javax.servlet包中别导错包)然后复写接口中的三个方法
@Override// 应用程序启动前有容器调用public void init(FilterConfig filterConfig) throws ServletException {encoding = filterConfig.getInitParameter("encoding");}@Override// 对于每个URL映射到该过滤器的请求,由容器调用该方法public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {if(encoding!=null){servletRequest.setCharacterEncoding(encoding);servletResponse.setContentType("text/html;charset="+encoding);}filterChain.doFilter(servletRequest,servletResponse);}@Override//void destroy()在应用程序关闭时,由容器调用。public void destroy() {encoding= null;}
然后再在web.xml文件中配置<file>
<filter><filter-name>statement</filter-name><filter-class>com.you.WebFile</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>statement</filter-name><url-pattern>/*</url-pattern></filter-mapping>
然后就再也不用担心乱码问题

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: