现象:
项目里面用到第三方公司提供的地图中间件,该中间件为纯html结合js以及flash构成。
最初将其部署在IIS环境下,可以正确的运行。
由于我们项目主要开发环境为Tomcat,所以弃用了IIS将中间件部署到Tomcat下,却出现中间件无法正确运行的情况。
解决过程:
现象比较奇怪,最初的想法是部署是不是发生了什么问题,导致代码不能正确的载入。
在用firebug查看代码的时候,发现了一个现象,几个在页面里面引入的js无法链接到源代码,而在html代码里面,对方引入的js后缀都是大写的".JS",灵机一动,想到是不是url大小写的问题——IIS里面的url是case insensitive的,而tomcat的是case sensitive的。
然后动手一试,果然如此。
个人感受是,这还是一个编码规范问题,我认为规范的编码不管是否是case sensitive,都应该按照case sensitive的情况来写。
PS:
默认情况下,tomcat的url是区分大小写的,这里附上将tomcat下的应用改为case insensitive的配置方法:
在%TOMCAT_HOME%/conf/server.xml中host节点下添加