服务器和/或浏览器如何以不同的方式处理JSP和JSPF文件



编辑:这个问题是针对我所做的错误观察而提出的。请忽视。

我知道jsp是用来定义可以包含在jsp中的片段的。

除了这个约定之外,服务器(如Tomcat)和用户代理(如firefox、google bot等)处理文件的方式有什么不同吗?

我们的网站有一些通过AJAX加载的弹出窗口/对话框。其中大多数的内容都存储在jsp中,并在url中引用(例如,http://www.domain.com/folder/file.jspf)。最近我们发现,如果弹出窗口是在JSP中,那么它的行为将以以下方式不同:

1) Google会把它作为一个独立的页面索引。
2) jQuery的$(document).ready(function() {alert('this code is executed')});永远不会运行

允许构造到达jspf文件的URL的唯一方法是将它们放在与普通JSP文件相同的目录中。(这是不允许的,如果你把他们放在/WEB-INF/)因此,当您这样做时,将取决于您正在使用的容器。Tomcat将把页面作为文本文档检索。但是,前端web服务器可以阻止这些url。.jspf文件扩展名是什么?如何编译?

希望能有所帮助。

首先,浏览器既不直接处理JSP文件也不直接处理JSPF文件。

相反,浏览器通过URL请求资源,服务器(在您的示例中是Tomcat)用HTML格式的文档响应。

是的,您请求了一个.jsp资源,但是服务器编译了这个页面,Tomcat生成了HTML输出到浏览器。

当时,浏览器处理的是一个普通的HTML页面。

我确实看到了通过URL直接访问JSPF文件的潜在问题。片段应该包含在一个特殊的JSP指令:include中。参见代码约定

中的Use of Composite View Patterns

最新更新