我有一些问题。这些是:
JSP和Servlet是如何相互关联的?JSP是某种Servlet吗?JSP和JSF是如何相互关联的?JSF是一种类似ASP.NET-MVC的基于预构建UI的JSP吗?
我有一些问题。这些是:
JSP和Servlet是如何相互关联的?JSP是某种Servlet吗?JSP和JSF是如何相互关联的?JSF是一种类似ASP.NET-MVC的基于预构建UI的JSP吗?
当前回答
从浏览器/客户端角度
JSP和JSF看起来都是一样的,根据应用程序需求,JSP更适合于基于请求-响应的应用程序。
JSF面向更丰富的基于事件的Web应用程序。我认为事件比请求/响应更精细。
从服务器角度
JSP页面被转换为servlet,它只有最小的行为。
JSF页面被转换为组件树(通过专门的FacesServlet),它遵循规范定义的组件生命周期。
其他回答
Servlet是在web容器内执行的服务器端java程序。servlet的主要目标是处理从客户端接收的请求。
Java Server Pages用于创建动态网页。Jsp被引入来在单个文件中编写java加html代码,这在servlet程序中并不容易做到。当jsp文件被翻译时,它被转换为javaservlet。
Java Server Faces是一个MVC web框架,它简化了UI的开发。
Servlet:Java Servlet API使Java开发人员能够编写服务器端代码用于传送动态Web内容。与其他专有Web服务器一样API,Java Servlet API提供了比CGI更好的性能;然而,它还有一些关键的附加优势。因为servlet是它们用Java编码,提供了面向对象(OO)的设计方法更重要的是,能够在任何平台上运行。因此,相同代码可移植到任何支持Java的主机。大大小小的服务促进了Java的流行,因为它被广泛使用服务器端Web应用程序开发技术。JSP:JSP构建在servlet之上,提供了一个更简单的基于页面的为Web生成大量动态HTML内容的解决方案用户界面。JavaServer Pages支持Web开发人员和设计者只需编辑带有特殊标记的HTML页面部分。JavaServerPages通过一个特殊的servlet(称为JSP容器,安装在Web服务器上,处理所有JSP页面视图请求。JSP容器转换请求的JSP转换为servlet代码,然后编译并立即执行。对同一页面的后续请求只需调用运行时servlet对于页面。如果对服务器上的JSP进行了更改查看它会触发另一个翻译、编译和重新启动运行时servlet。JSF格式:JavaServerFaces是用于构建用户的标准Java框架Web应用程序的接口。最重要的是,它简化了开发用户界面,这通常是Web应用程序开发中困难而乏味的部分。尽管可以通过使用基础Java Web技术(如Java servlet和JavaServer Pages)没有为企业Web设计的全面框架这些核心技术往往会导致各种开发和维护问题。更重要的是开发人员实现生产质量解决方案的时间JSF解决的同一组问题将在非标准方式。JavaServer Faces旨在简化开发Java Web应用程序的用户界面以下方式:•它以组件为中心,构建Web用户的独立于客户端的开发方法界面,从而提高开发人员的生产力和易用性。•它简化了从Web用户界面。•它自动管理用户界面在简单和不引人注目的方式。•它提供了一个开发框架对具有不同技能的不同开发人员观众友好。•它描述了一组标准的网络架构模式应用
[来源:完整参考:JSF]
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.
在某些情况下,您可以倾向于JSP而不是JSF。应用性质应是选择技术的决定因素。
如果您有丰富的GUI交互和需要的大量Java脚本,那么就选择JSF。基本上,如果您的GUI应用程序架构是面向组件的,甚至像Swing那样驱动,那么JSF是最好的。
如果应用程序只是一个简单的表单提交,不需要太多的GUI交互,那么如果学习新技术是一个开销,而且不需要复杂的框架,那么JSP可以做得很好。