js在浏览器中显示乱码的根本原因就是编码问题,所以解决了编码问题js基本上可以正常显示。

一:利用txt文本另存为设置编码

这样js文件就设为utf-8编码了。

二:在js的加载代码中添加编码

charset="utf-8"

三:特殊情况,过滤器,一般过滤器很少过滤.js ,.png,.css,对全路径进行过滤时要对文件判断

 public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
        // 请求和响应强转为子类类型
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) resp;

        String URI = request.getRequestURI() ;
        //对css js png 文件进行判断,true则直接放行。
        if (URI.contains(".css") || URI.contains(".js") || URI.contains(".png")) {
            chain.doFilter(request, response);
            return ;
        }
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html");
        chain.doFilter(request, response);
    }

注册过滤器:

    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>com.huang.filter.CharacterEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

过滤器这样处理之后,就不会过滤js,css,问题就解决了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐