官方JSP教程在哪里?
我现在必须记住如何创build自定义标记库,并且由于我正在使用servlet 3.0,所以我决定查看官方的JavaEE6教程。 让我惊讶的是,在JavaEE6教程中没有关于JSP的内容。
另一方面, JavaEE5教程中有足够的信息。
看来JSF现在被认为是JavaEE中唯一的视图技术,尽pipe我不知道JSP会被弃用( q1 :是吗?)。
我试图寻找一个单独的教程,但网站是一团糟(我find了关于JSP的页面,但它仍然说“Java 2平台,企业版”。
那么, q2 :JavaEE6的官方JSP教程在哪里?
(我当然会使用JavaEE5教程,但这似乎很奇怪)
看来JSF现在被认为是JavaEE中唯一的视图技术,尽pipe我不知道JSP会被弃用(q1:是吗?)。
JSF不是一个视图技术。 JSF是一个基于组件的MVC框架。 作为视图技术的JSP在Facelets成功的Java EE 6中。 Java EE 6教程中的Facelets介绍声明如下:
以前用作JavaServer Faces表示技术的JavaServer Pages(JSP)技术不支持JavaServer Faces 2.0中提供的所有新function。 JSP技术被认为是JavaServer Faces 2.0的一个被弃用的表示技术。 Facelets是JavaServer Faces规范的一部分,也是构build基于JavaServer Faces技术的应用程序的首选演示技术。
它确实没有明确地说,对于Java EE来说,纯粹的“纯粹的”JSP已经被弃用了。 Oracle正在试图推动JSF的发展。 无可否认,这是自己的优势。 值得注意的是,Facelets也可以作为一个独立的视图技术,与FacesServlet
相结合,或者是由第三方的基于MVC框架的请求(只有一些不需要JSP taglibs)提供。 您可以将FacesServlet
映射到*.xhtml
,基本上只需使用<ui:xxx>
标记(而不是旧JSP中的<jsp:xxx>
),就像在JSP中一样,使用普通的vanilla HTML。 使用Facelets时,不一定需要 JSF核心和html标签。
我试图寻找一个单独的教程,但网站是一团糟(我find了一个关于JSP的页面,但它仍然说“Java 2平台,企业版”,所以,q2:哪里是JavaEE6的官方JSP教程。
没有。 只需抓住Java EE 5之一 ,甚至是J2EE 1.4之一 。 JSP并没有改变那么多。 与JSP 2.1相比,JSP 2.2中基本上没有新的东西。 EL 2.2只有一个主要的改变(对方法参数的支持)。 与JSP 2.0相比,JSP 2.1也是如此。 主要的变化是仅在EL(支持从JSF 1.0 / 1.1接收的延迟EL)。
通过Java EE 5教程学习JSP时不需要害羞,更不用说J2EE 1.4教程了。 您不应该再回到JSP 1.2 / J2EE 1.3之前,也就是在JSP中不存在EL时。 你不想那么:)
看来JSF现在被认为是JavaEE中唯一的视图技术,尽pipe我不知道JSP会被弃用(q1:是吗?)。
从新的Java EE 7教程(2013年6月)中,我们可以发现JavaServer Faces技术正是构buildWeb应用程序的用户界面框架。 在第1-18页,我们也可以find以下的说明:
Java EE 7平台需要JavaServer Pages 2.3以兼容较早的版本,但build议在新应用程序中使用Facelets作为显示技术。
这意味着,JSP尚未弃用,但只是未经推荐。 我们还应该考虑到,JavaServer Faces技术API直接位于Servlet API之上,因此可以成为JSP的替代品。 下图显示了这种情况。
Java Web应用程序技术 – Java EE 7教程
那么,q2:JavaEE6的官方JSP教程在哪里呢?
正如我们可以在Java EE 7教程(2013年6月,第1-18页)中阅读:
有关JSP技术的信息,请参阅http://docs.oracle.com/javaee/5/tutorial/doc/上的“Java EE 5教程”。
这个技术的唯一官方手册是Java EE 5教程 。
我只是想学习JSP,但后来碰到这个post。 所以我做了我自己的挖掘。 Java EE 6的一行说明了这一点:
“作为JavaServer Faces 2.0的一部分提供的Facelets技术现在是构build基于JavaServer Faces技术的Web应用程序的首选演示技术。”
在我看来,如果有人打算从头开始学习或实现,那么使用Facelets比JSP更好,至less如果使用JSF的话。
如果您熟悉ASP.NET,则可以使用以下类比来获得更好的想法:
JSF = ASP.NET MVC(一个MVC框架)
最初由ASP.NET MVC使用的JSP = ASPX视图引擎。 该视图文件具有
*.aspx
后缀。Facelet =一个全新的Razor视图引擎,反对ASPX引擎。 该视图文件具有
*.cshtml
或*.vbhtml
后缀。
而根据这里 :
JSP技术被认为是
for JavaServer Faces
的不赞成使用的表示技术。
因此,JSF只被弃用。 在像Spring MVC
这样的其他框架中,JSP仍然很好用。
还有一个远程相关的链接比较Razor视图引擎和ASPX视图引擎。
在这一点上,JSP并没有被废弃,就像在另一个答案中提到的那样,它们在JSF中被弃用了。
它们仍被Oracle列为Java EE 7的技术,请参阅此链接 。 此外,它们仍然列在官方Java EE 8规范的JSR 366中。