我们的JSP网页,JS文件不知道为什么都不缓存……
比如说我们统一定义的menu.js不论在哪个页面上都会用到这个js可以每次访问页面时都要重新加它,由此造成速度特别慢。
我也要网上找了很久,只找到一个相类似的问题,只可惜也是没给也解决方案。
http://bbs.chinaunix.net/thread-898504-1-1.html
相关文件和配置是这样的
apache2+JBoss在有些调用JS等文件的代码中是这么写的
<script language="JavaScript" src="/abc/js/menu.js"></script>
abc是war下的文件夹。
有一些是这么写的
<script type="text/javascript" src="<%= request.getContextPath()%>/abc/menu.js"></script>
还有的是
<script type="text/javascript" src="<%=path%>/abc/menu.js"> </script>
path和request.getContextPath()都是war包的名称。。
apache 的mime中的JS是application/x-javascript                        js这样的还有一个是ajp转向JBOSS没有对JS等做过什么rewrite但对总的URL的一个rewrite就是war包的rewrite去掉端口。
RewriteRule ^/home(.*)$ https://%{HTTP_HOST}/home$1 [redirect]
其它的没什么改动。
就知道这么多了……顺便祝各位圣诞快乐!
记得帮小弟我解决这个问题哦。谢谢

解决方案 »

  1.   

    发布成功后删除了war包,看看。
      

  2.   

    听不明白,删除了war??那还能用吗?
      

  3.   

    是否加载看2个地方
    1 客户端是否设置了每次访问时检查,默认应该是自动
    2 客户端请求时设置了 Last Modified Since 的Http 请求头,这个不是我们程序能干预的! 呵呵,跟没说一样我能提供的就这些。
      

  4.   

    我有看过IE放绊缓存文件的地方,只有图片会缓存起来,别的都没有缓存。
    IE是默认自动的
      

  5.   

    我曾经发现,在 js 文件的开头增加注释代码有一些帮助/*
     * this is a javascript file
     */我也不知道为什么
      

  6.   

    总算搞定了,用apache2的mod_rewrite
    重写那些动态的js,css。使其变成静态的。
    在apache中开启mod_rewrite并加入如下的几行
    RewriteEngine ON
    RewriteRule ^/war/js(.*)$ /dochome/js/$1 [redirect]
    有尝试过
    RewriteRule ^/war/js(.*)$ /war/js/$1 [redirect]
    在我们的系统中是不行的,因为我们有设定,凡有war的都交给JBoss处理
    所以我们在apache 的程序文件夹中建了个js的link
    据说这样不是很安全,不是很确定,有待进一步学习。最后,感谢大家的支持,结帖,放分