在ubuntu中利用eclipse编译jsp时,页面布局不完整的可能原因

现象描述

出现了以下的问题:

  1. 同样的代码在windows下运行,同样的tomcat,是没有任何问题的;
  2. 去掉我的filter过滤器,布局也是没有问题的;
  3. 谷歌浏览器中source一看,也都是加载了的;
  4. 谷歌浏览器中,preview一看,预览中代码显示不完整;

原因分析

一开始走错了方向,一直以为是ubuntu中哪里没设置好,折腾了半天,后来才发现,其实问题已经非常之明确了。在F12中打开调试器,在source下,看见jsp页面中有报错。

Resource interpreted as Stylesheet but transferred with MIME type text/html: 

好吧,再回去看自己的代码,果然,在我的filter中有一句:

		resp.setContentType("text/html;charset=UTF-8");

问题就出在这里了,在过滤器中,我把所有的东西在经过过滤器以后,都设置成了"text/html"格式,这显然是不对的。

解决方法

将下面这句代码

		resp.setContentType("text/html;charset=UTF-8");

修改成:

        if(uri.contains(".jsp")) {
        	resp.setContentType("text/html;charset=UTF-8");
        }

意思就是,除了jsp页面要在响应中设置类型位"text/html"外,别的,比如css和js以及一些图片等别的格式,默认为原类型,不做修改。

总结

其实问题很简单,总结起来还是浏览器的控制台用的不够熟悉。多使用控制台的source等功能,解决问题将事半功倍。
另外,在ubuntu和windows中确实存在差别,在windows下这都不是问题,同样是谷歌浏览器,同样是eclipse和tomcat,但是在windows下,加载css和js等就会默认使用原格式,而不会转变成text/html等格式,但是在ubuntu下,就会转过去。因此,在windows下一直没发现这个bug,在ubuntu下就成了问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼月半

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值