img src属性有中文时无法显示图片

来源:互联网 发布:4g网络优化工程师累吗 编辑:程序博客网 时间:2024/05/21 09:48

如果让img的src属性可以有中文,比如让<img src="images/活动3.jpg" alt="" title="" class="thumb" border="0" />可以正常显示呢?

网上方法很多,比如修改tomcat目录下的server.xml,在server.xml中类似如下配置:

    < Connector port="8080" 

       ……

       URIEncoding="UTF-8" / >

这种方法经证实,并不有效。

经证实,最有效的是增加过滤器。

步奏如下:

1 在web.xml中增加过滤器:

<filter>    <filter-name>urlFilter</filter-name>    <filter-class>com.dj.filter.UrlFilter</filter-class>    <init-param>      <param-name>DEFAULT_URI_ENCODE</param-name>      <param-value>UTF-8</param-value>    </init-param>  </filter>  <filter-mapping>    <filter-name>urlFilter</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping>

2 在src中增加过滤器代码

package com.dj.filter;import java.io.IOException;import java.net.URLDecoder;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;public class UrlFilter implements Filter {    public final static String DEFAULT_URI_ENCODE = "UTF-8";        private FilterConfig config = null;    private String encode = null;        public void init(FilterConfig config) throws ServletException {        this.config = config;        this.encode = config.getInitParameter("DEFAULT_URI_ENCODE");        if(this.encode == null) {            this.encode = DEFAULT_URI_ENCODE;        }    }    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.getContextPath().length());        config.getServletContext().getRequestDispatcher(ch).forward(req, res);    }        public void destroy() {        config = null;    }}
可能还有别的更好的方法,还望交流!~~

0 0
原创粉丝点击