是说“JSP是HTML”是一个有效的陈述?

时间:2012-07-22 10:55:45

标签: html jsp

听起来可能是一个愚蠢的陈述,但令我惊讶的是它来自受过良好教育的java专业人士。他争辩说:

  

“JSP是HTML。看看一些不错的jsp / servlet应用程序,你会发现超过90%的jsp文件是html。”

据他说,因为JSP页面包含很多HTML,所以JSP就是HTML。然后他继续

  

“体面的jsp文件是基本的html,扩展了一些额外的标签和el功能。”

我很满意这些陈述。我错过了什么吗?

2 个答案:

答案 0 :(得分:4)

恕我直言,“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中,这些Java servlet反转了您在JSP文件中编写的内容并将该内容写入流中。所以在这方面,JSP比HTML文件更像是一段Java代码......

至于有关什么是有效的html,css和验证的其余讨论,它只是一个很大的红色鲱鱼。

我的两分钱。

答案 1 :(得分:2)

如果文件中包含PHP,则整个文件不会是HTML,它将是一个包含HTML的PHP​​脚本。一旦PHP处理它并返回您的响应,它就变成了HTML。 (显然,只有当你的PHP返回HTML时,它才会返回其他东西)。

我不确定我理解:

  

即使所有html都不是html的有效声明:)

如果他试图说并非所有HTML都是有效的HTML,那么他是正确的,有某些标准,某些标签,某些地方你可以使用HTML规范中提供的某些属性。

阅读会话后编辑:

好的,所以我只是阅读了对话和我说的话,他说所有的html都不是有效的HTML,这是真的。只是因为它有html标签并且某些文字并不意味着它有效,你可以通过here.

检查它是否有效

至于JSP等不是有效的html,这是正确的,但它们/可以生成有效的html。 JSP / PHP / ASP页面不是HTML,但有/可以有HTML。当向服务器发出请求时,文件在服务器端被处理并在http响应中返回您的HTML,这也可能是有效的HTML,也可能不是。

此外,他们告诉你的关于HTML的内容是正确的,它本身并不是样式,它是一个标记,告诉浏览器文档的结构。浏览器对这些特定元素有自己的默认样式,您可以通过在CSS中实现自己的样式来覆盖它。