我有一些问题。这些是:

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


当前回答

从浏览器/客户端角度

JSP和JSF看起来都是一样的,根据应用程序需求,JSP更适合于基于请求-响应的应用程序。

JSF面向更丰富的基于事件的Web应用程序。我认为事件比请求/响应更精细。

从服务器角度

JSP页面被转换为servlet,它只有最小的行为。

JSF页面被转换为组件树(通过专门的FacesServlet),它遵循规范定义的组件生命周期。

其他回答

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

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

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

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

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

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

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

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

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

来源

JSP:means HTML+Java Code:

JSP有自己的生命周期jsp_init()jsp_service()jsp销毁

在第一次请求之后,JSP转换为.java文件。我们使用的标签有三种类型1.)无脚本

<%  %>

在这里,开发人员可以声明开发人员想要获取数据的所有内容

2.)表达式标签

<%=  %>

在这里,开发人员可以使用一些与打印相关的数据

3.)声明

<!% %>

在这里,开发人员可以声明一些与方法相关的数据。

Servlet:

Servlet有自己的生命周期。

init()
service()
destroy()

第一次请求后,容器将从web.xml文件中读取数据之后,将显示欢迎填充。现在,在执行操作之后,它将搜索url,在这个过程之后,它会搜索自己所在的特定servlet。将执行服务操作。

JSF:

JSF有自己的ui,它的生命周期可以以六种方式执行,

A)Restore view phase
B)Apply request values phase
C)Process validations phase
D)Update model values phase
E)Invoke application phase
F)Render response phase

对于这里的ui和这里的table,我们使用面板网格,这是不同的面。

Rich Faces
Prime Faces.