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

时间:2015-09-03 01:22:15

标签: jsp tomcat jsp-fragments

编辑:回答我所做的错误观察时,我们提出了这个问题。请忽略。

我知道JSPF用于定义可以包含在JSP中的片段。

除了这个约定之外,服务器(例如Tomcat)或用户代理(例如firefox,google bot等)如何处理文件存在差异?

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

1)Google会将其编入索引为独立页面 2)jQuery的$(document).ready(function() {alert('this code is executed')});永远不会运行。

2 个答案:

答案 0 :(得分:2)

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

相反,浏览器通过URL请求资源,服务器(在您的情况下,Tomcat)使用HTML格式的文档进行响应。

是的,您要求提供.jsp资源,但服务器编译了该页面,Tomcat将HTML输出生成到浏览器。

此时,浏览器处理了一个纯HTML页面。

我确实看到了通过URL直接访问JSPF文件的潜在问题。片段应包含在特殊的JSP指令中:include。请参阅Code conventions

中的Use of Composite View Patterns

答案 1 :(得分:2)

允许构造到达jspf文件的URL的唯一方法是将它们放在与普通JSP文件相同的目录中。 (如果将它们放在/ WEB-INF /中,则不允许这样做) 因此,当您这样做时,将取决于您正在使用的容器。 Tomcat将检索页面作为文本文档。但是,前端Web服务器可以阻止这些URL。 What is .jspf file extension? How to compile it?

希望它有所帮助。