今天做了一个功能。上传图片之后用img的src标签来显示图片的功能,在这期间发现一个问题。如果图片名包含中文的话则图片无法正常显示。
折腾许久之后找到一解决方案。添加一过滤器,代码如下:
public class UrlFilter implements Filter {
public final static String DEFAULT_URI_ENCODE = "UTF-8";
private FilterConfig config = null;
private String encode = null;
public void destroy() {
config = null;
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
String uri = request.getRequestURI();
String ch = URLDecoder.decode(uri, encode);
if(uri.equals(ch)) {
chain.doFilter(req, res);
return;
}
ch = ch.substring(request.get