听起来可能很愚蠢,但令我惊讶的是,它来自一个受过良好教育的 Java 专业人士。他辩称:
“JSP 是 HTML。看看一些不错的 jsp/servlet 应用程序,你会发现超过 90% 的 jsp 文件是 html。”
据他介绍,由于JSP页面包含很多HTML,所以JSP就是HTML。然后他继续
“体面的 jsp 文件是基本的 html 扩展,带有一些额外的标签和 el 函数。”
我对这些陈述感到敬畏。我错过了什么吗?
恕我直言,“JSP 是 HTML”的概括有点过头了。
我同意,在大多数情况下,JSP文件中会有很多 html,但这只是因为用户发出的大多数 http 请求都是针对 html 文件的(然后它们自己对图像、脚本等发出请求)。 .)。
如果每个人都开始请求 lisp 文件,那么大多数 JSP 文件将充满括号,但 JSP 技术本身将保持不变。
当然,大多数附加标签和 el 函数都处理与 HTML 相关的内容,因为这对大多数开发人员最有用。
理论上,无论浏览器在请求的接受标头中设置什么内容类型,您都应该能够使用 JSP 进行响应。看看这个例子:http ://code.google.com/p/json-simple/wiki/JSPAndAJAXExamples
此外,必须认识到一个事实:在运行时,没有 JSP。然后您会看到将 HTML 写入响应的不是 JSP,而是 Java。
这是因为所有 JSP 都被编译(或理想情况下是预编译)成 Java servlet,它们反转您在 JSP 文件中编写的内容并将该内容写入流中。所以在这方面,JSP 与其说是 HTML 文件,不如说是一段 Java 代码......
至于剩下的关于什么是有效的 html、css 和验证的讨论,这只是一个大红鲱鱼。
我的两分钱。
好吧,如果文件中包含 PHP,则整个文件不会是 HTML,而是包含 HTML 的 PHP 脚本。一旦 PHP 处理它并返回您的响应,它就会变成 HTML。(显然,只有当您的 PHP 返回 HTML 时才会出现这种情况,它可能会返回其他内容)。
我不确定我是否理解:
甚至不是所有的 html 都是 html 一个有效的声明:)
如果他试图说并非所有 HTML 都是有效的 HTML,那么他是正确的,有某些标准、某些标签、某些地方可以使用 HTML 规范中所有可用的某些属性。
阅读对话后编辑:
好的,所以我刚刚阅读了对话,我所说的就是,他说所有 html 都不是有效的 html,这是真的。仅仅因为它有 html 标签和一些文本并不意味着它有效,你可以通过这里检查它是否有效。
至于 JSP 等不是有效的 html,这是正确的,但它们确实/可以产生有效的 html。JSP/PHP/ASP 页面不是 HTML,但其中有/可以有 html。当向服务器发出请求时,该文件在服务器端进行处理并在 http 响应中返回您的 HTML,这又可能是也可能不是有效的 HTML。
此外,他们告诉您的有关 HTML 的内容是正确的,它本身不是样式,它是一种标记,可以告诉浏览器您的文档结构。浏览器对这些特定元素有自己的默认样式,您可以通过在 CSS 中实现自己的样式来覆盖这些样式。