我有一些问题。这些是:

JSP和Servlet是如何相互关联的?JSP是某种Servlet吗?JSP和JSF是如何相互关联的?JSF是一种类似ASP.NET-MVC的基于预构建UI的JSP吗?


当前回答

JSP代表JavaServerPages,而JSF代表JavaServerFaces。JSP是一种帮助开发人员使用HTML、XML和其他类似语言等技术开发动态网页的技术。JSF是一个帮助开发人员为服务器端应用程序开发用户界面的框架。这两种技术都基于Java,主要用于基于web的应用程序。JSP更像ASP或PHP,只是它基于Java,这意味着它使用Java编程语言。这两项技术均由Sun Microsystems开发。值得注意的是,JSP1.x版本使用JSP作为模板的默认系统,而JSP2.x使用Facelets而不是JSP。

其他回答

JSF是一个高级框架,它非常容易为项目实现基于模型-视图-控制器(MVC)的架构。JSF与JSP相比的主要优势是,可以根据条件在浏览器上轻松地动态呈现组件,并且可以轻松地集成ajax事件。

JSF应用程序的前端(即xhtml文件)是通过浏览器向用户显示的文件。这些xhtml文件在内部调用托管bean,例如,编写实际应用程序逻辑的控制器。

控制器内部调用与数据库通信的各种服务(使用Hibernate或JPA API)。简而言之,流动就是这样发生的。

JSF还与RichFaces结合使用,RichFaces是一个为web应用程序提供丰富外观的框架。

JSF+RichFaces+Hibernate/JPA是一个很好的学习技术!

Java Server Pages(JSP)是一种Java技术,它使Web开发人员和设计人员能够快速开发和轻松维护利用现有业务系统的信息丰富的动态Web页面。JSP技术将用户界面与内容生成分离开来,使设计者能够在不改变底层动态内容的情况下更改整个页面布局。

Facelets是为JSF(JavaServerFaces)设计的第一种非JSP页面声明语言,与JSP相比,它为JSF开发人员提供了更简单、更强大的编程模型。它解决了JSP中web应用程序开发中出现的不同问题。

下面是一张表格,比较了scriples和facelets的特征:

来源

Servlet——它是java服务器端层。

JSP-它是带有html的ServletJSF-它的组件基于标记库JSP——当服务器收到请求时,它被转换为servlet一次。

Servlet和JSP之间的基本区别在于,在Servlet中我们编写java代码,并且嵌入HTML代码,而JSP的情况正好相反。在JSP中,我们编写HTML代码,并使用JSP提供的标记嵌入java代码。

在某些情况下,您可以倾向于JSP而不是JSF。应用性质应是选择技术的决定因素。

如果您有丰富的GUI交互和需要的大量Java脚本,那么就选择JSF。基本上,如果您的GUI应用程序架构是面向组件的,甚至像Swing那样驱动,那么JSF是最好的。

如果应用程序只是一个简单的表单提交,不需要太多的GUI交互,那么如果学习新技术是一个开销,而且不需要复杂的框架,那么JSP可以做得很好。