解决项目部署到 tomcat 前端页面加载了样式文件但是无效果

本文探讨了在Tomcat服务器上部署项目时遇到的CSS样式无法正常显示的问题。原因是过滤器设置不当,将所有请求的MIME类型强制设为了text/html;charset=utf-8。为解决此问题,作者在过滤器中添加了条件判断,只对包含.html的请求设置相应的内容类型,确保静态资源如CSS能正常加载。

解决项目部署到 tomcat 前端页面加载了样式文件但是无效果

参考文章:
Java设置Filter过滤了CSS等静态文件的问题
Tomcat部署项目,样式显示问题

由于我的过滤器中设置了 rep.setContentType("text/html;charset=utf-8");,所有导致我的所有请求的响应 MIME 类型都变成了 text/html。经过分析,我的所有请求中,我只希望请求 URI 包含有 .html 的才需要刚刚的设置,所以我在过滤器添加如下的判断:

  @Override
    public void doFilter(ServletRequest req, ServletResponse rep, FilterChain filterChain) throws IOException, ServletException {
    	// ... other code
        rep.setCharacterEncoding("utf-8");
        if (((HttpServletRequest) req).getRequestURI().contains(".html")) {
            response.setContentType("text/html;charset=utf-8");
        }
       // ... other code
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值