日期:2014-05-18  浏览次数:20799 次

关于jsp中include指令的疑惑
我想请教大家关于JSP中include指令的一个问题,我在网上和一些书上看到如下的说法:

使用   JSP   include   伪指令可以引入动态内容,但将无法获得对该内容的更改。这是因为   Web   容器将被包含文件作为原始(包含)页面的一部分读取。容器将结果高速缓存为单个文件,而不是多个   JSP   组件。因为   Web   容器不会针对更改去轮询被包含文件,所以它不会知道有任何更改发生,它将自动显示高速缓存的页面而不是刷新的页面。


可是我用了一个很简单的测试,结果却和上面说的不同,我的测试步骤如下:

(1).主页面的代码段: <%@   include   file= "included.html "%>
(2).被包含页面的内容: <h4> 1 </h4>

测试环境:windows2000+tomcat5.0

每次我修改被包含页面的内容后再刷新主页面,都能够看到新的内容。我查看了转换后的文件也是最新的。这和上面所说的是完全相反的阿!难道说一刷新就会引起主页面的重新编译吗?这应该不会阿,只是再重新请求一次而已阿


------解决方案--------------------
web应用服务器会检测文件的修改 如果修改了会重新编译的