在doPost请求中我们可以使用拦截器,Filter进行拦截,将编码改为utf-8 package web.filter; import java.io.IOException; import javax.servlet.Filter; @WebFilter(“/*”)//拦截所有的请求路径 } 可以对request与response进行拦截,修改编码 doGet请求出现乱码例如下列代码 另一种解决方法修改Tomcat中的server.xml文件
import java.io.UnsupportedEncodingException;
import java.util.Map;
import java.util.Map.Entry;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyEncodingFilter implements Filter{@Override public void init(FilterConfig filterConfig) throws ServletException {} @Override public void destroy() {} @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletResponse mResponse=(HttpServletResponse) response; mResponse.setHeader("content-type", "text/html;charset=utf-8"); //1.设置POST请求中文乱码的问题 HttpServletRequest hsr = (HttpServletRequest)request; if(hsr.getMethod().equalsIgnoreCase("post")){ request.setCharacterEncoding("UTF-8"); } chain.doFilter(request, response); }
String category=request.getParameter(“category”);
在这里category获取会变为乱码,这里有我想到的有两种解决方案
在获得这个参数后,进行转码
byte[] buf = category.getBytes(“iso8859-1”);
category = new String(buf,“utf-8”);
即可获得正确的数据
在Connector标签下,添加URIEncoding=“utf-8”
重新启动Tomcat
即可正确获得参数
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算