我有一些问题。这些是:

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


当前回答

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

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

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

其他回答

Servlet是在web容器内执行的服务器端java程序。servlet的主要目标是处理从客户端接收的请求。

Java Server Pages用于创建动态网页。Jsp被引入来在单个文件中编写java加html代码,这在servlet程序中并不容易做到。当jsp文件被翻译时,它被转换为javaservlet。

Java Server Faces是一个MVC web框架,它简化了UI的开发。

的确,JSP在执行时被转换为servlet,而JSF是一个全新的东西,因为JSF允许以标记的形式编写所有的编程结构,从而使网页更可读。

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

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

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

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

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

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

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

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

JSP是MVC(模型视图控制器)的视图组件。Controller接受传入的请求并将其传递给Model,Model可能是一个执行某些数据库访问的bean。然后JSP使用HTML、CSS和JavaScript格式化输出,然后将输出发送回请求者。