听起来可能是一个愚蠢的陈述,但令我惊讶的是它来自受过良好教育的java专业人士。他争辩说:
据他说,因为JSP页面包含很多HTML,所以JSP就是HTML。然后他继续“JSP是HTML。看看一些不错的jsp / servlet应用程序,你会发现超过90%的jsp文件是html。”
“体面的jsp文件是基本的html,扩展了一些额外的标签和el功能。”
我很满意这些陈述。我错过了什么吗?
答案 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中实现自己的样式来覆盖它。