Ajax使用GET发送中文请求JAVA-Servlet乱码问题
发布网友
发布时间:2022-04-21 20:39
我来回答
共8个回答
热心网友
时间:2022-04-09 23:37
如果在JSP页面以GET方式向Servlet发送请求时,这里在doGet()方法中用 request.getParameter()方法取得参数值是乱码,如果你在调用 request.getParameter()方法之前使用response.setCharacterEncoding("utf-8");这种方式只是对页面发送POST请求有效,哪么如何对发送GET请求有效果呢,这时就需要在Tomcat的server.xml中配置
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"/> <!-- 指定URI编码格式-->
所以只有指定URI编码格式后页面向Servlet发送GET请求时不会出现中文乱码问题
热心网友
时间:2022-04-10 00:55
加个过滤器,过滤全部看看 过滤器代码import java.io.IOException;import javax.servlet.*;
import javax.servlet.http.*;public class FontFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
//Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
} //Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {
try {
((HttpServletRequest)request).setCharacterEncoding("GBK");
filterChain.doFilter(request, response);
} catch (ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
} catch (IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
} //Clean up resources
@Override
public void destroy() {
}
} web.xml中的配置<!-- 中文转换过滤器 -->
<filter>
<filter-name>fontfilter</filter-name>
<filter-class>FontFilter</filter-class>
</filter> <filter-mapping>
<filter-name>fontfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
热心网友
时间:2022-04-10 02:30
get方法对吧。首先必须编码。。编码以后再发送。。一般都是iso-8859-1的编码。。获取的时候如果是乱码可以用字符串转码.转为utf-8
热心网友
时间:2022-04-10 04:21
网上搜下字符乱码过滤Jar包,放入lib包下,然后在xml中配置一下就OK了。
热心网友
时间:2022-04-10 06:29
String str=String.getByte("ISO-8859-1","UTF-8"); 这个utf改为你前台页面的那个编码就是那个jsp的页面编码
热心网友
时间:2022-04-10 08:54
我会告诉你用post试试吗
我会告诉你POST不行转码试试吗
我会告诉你jquery json试试吗,
我会告诉你点击右上角X号试试吗
热心网友
时间:2022-04-10 11:35
你在Servlet里头第一行写上
response.setCharacterEcoding("UTF-8");
热心网友
时间:2022-04-10 14:33
程序的编码,浏览器的查看代码,网页的编码都设置成同一种编码