代码如下:
public class AjaxEncodeFilter extends HttpServlet implements Filter {
/**
* AJAX使用中的字符过滤器,解决中文问题
*/
private static final long serialVersionUID = 1L;
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
/* if (logger.isDebugEnabled()) {
logger.debug("doFilter(ServletRequest, ServletResponse, FilterChain) - start"); //$NON-NLS-1$
} */
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
String requestedWith = request.getHeader("x-requested-with");
String type = request.getContentType();
if (requestedWith != null && "XMLHttpRequest".equals(requestedWith)
&& null != type
&& "application/x-www-form-urlencoded".equals(type)) {
// logger.info("This's ajax post.set encode is UTF-8.");
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
request.getParameterMap();
}
filterChain.doFilter(request, response);
/* if (logger.isDebugEnabled()) {
logger.debug("doFilter(ServletRequest, ServletResponse, FilterChain) - end"); //$NON-NLS-1$
} */
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
分享到:
相关推荐
总的来说,Ajax过滤器是一种解决Web应用中中文乱码问题的有效手段,通过在请求和响应之间添加一层处理,可以确保数据以正确的编码进行传输,提高应用的兼容性和用户体验。在实际项目中,根据具体需求,可能还需要...
在进行Web开发的过程中,经常遇到的一个问题是中文字符的编码问题,尤其是在使用AJAX技术时。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。由于其异步...
本篇文章将详细探讨SSH框架中的中文乱码问题,以及如何通过实现自定义过滤器(Filter)来解决这一问题。 首先,我们要理解乱码的产生原因。在HTTP请求中,数据编码格式不一致是导致乱码的主要因素。例如,客户端...
总结来说,解决Struts框架下Ajax发送中文乱码问题的关键在于: 1. 确保Ajax请求时设置正确的`Content-Type`,以UTF-8编码发送数据。 2. 在Struts配置文件中配置`CharacterEncodingFilter`或在Action中手动设置请求...
总结,解决Ajax乱码问题的关键在于确保编码的统一,从文件编码、请求头、服务器端处理到响应头,每个环节都要设定为UTF-8,以保证数据在传输和处理过程中的正确性。同时,对编辑器的配置也很重要,确保它保存文件时...
1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`CharacterEncodingFilter`,这个过滤器会在请求进入控制器之前设置正确的字符编码。 ```xml <filter-name>characterEncodingFilter ...
在开发Web应用程序时,尤其是在处理中文字符时,Ajax中文乱码问题是一个常见的困扰。这是因为不同的系统、浏览器、服务器和文件可能使用不同的字符编码,导致数据在传输过程中出现不匹配,从而引发乱码。解决这个...
### AJAX中文乱码解决方案 在Web开发中,尤其是使用AJAX技术进行前后端交互时,中文乱码问题是一个常见的挑战。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的...
综上所述,解决AJAX乱码的关键在于全栈编码一致性管理,从文件编码、请求响应处理到资源文件编码,每一个环节都需要严格遵循同一编码标准,特别是UTF-8,以确保中文字符在传输过程中的正确无误。
在Struts框架中,汉字乱码问题是一个常见的问题,特别是在处理中文输入时。解决这个问题涉及到多个层面,包括页面编码设置、服务器配置以及Struts的Servlet配置。以下是对这些问题的详细解释: 1. 页面编码设置: ...
在Web开发中,乱码问题始终是一个常见的困扰,特别是对于使用Struts和Ajax技术的开发者来说。乱码问题主要出现在数据的输入、传输和展示过程中,涉及到编码格式的选择和一致性。以下是一些解决此类问题的关键点。 1...
为防止这种情况,可以在URL后添加一个随机数或者时间戳,如`'check_uname.do?username=tom×tamp=' + new Date().getTime()`。 ### 乱码问题与解决 - **POST请求乱码**:浏览器使用UTF-8编码,服务器默认使用...
总结以上所述,要解决JQuery发送ajax请求时出现的中文乱码问题,需要从两个方面着手:确保Web项目的web.xml配置文件中设置了正确的字符编码过滤器,以及在JSP页面中设置了正确的字符编码,并使用POST方法发送ajax...
如果尝试使用GBK解码,可能会遇到奇怪的问题,例如最后一个汉字显示为问号。这是因为UTF-8编码的中文字符在传输时会带有字节顺序标记(BOM),即`EF BB BF`,在解码时如果不正确处理,会导致解码失败。 为了解决这...
ExtJS 是一个强大的JavaScript应用程序框架,它主要用于构建富客户端Web应用。这个中文教程涵盖了ExtJS的核心概念、组件和Ajax技术的使用,同时也涉及到与Java后端的交互。让我们深入探讨这些知识点。 首先,ExtJS...
【标题】:“jsp的ajax例子源码下载”指的是一个基于JSP(JavaServer Pages)技术的Web应用示例,该示例使用了AJAX(Asynchronous JavaScript and XML)技术来实现页面的异步更新,无需刷新整个网页即可与服务器进行...
对于想要深入了解Ajax及其相关技术的开发者而言,《AJAX学习资料之-DWR中文手册》提供了一个很好的学习资源。DWR(Direct Web Remoting)是一种基于Ajax的技术,它使得从客户端JavaScript调用服务器端Java方法变得...
在Spring MVC中,可以通过配置文件或注解设定字符编码过滤器,确保请求和响应都按照预期的编码进行处理。 在实际应用中,例如资源查询功能,用户在客户端输入关键词,AJAX会将关键词发送到服务器,服务器通过Spring...