我有一些问题。这些是:
JSP和Servlet是如何相互关联的?JSP是某种Servlet吗?JSP和JSF是如何相互关联的?JSF是一种类似ASP.NET-MVC的基于预构建UI的JSP吗?
我有一些问题。这些是:
JSP和Servlet是如何相互关联的?JSP是某种Servlet吗?JSP和JSF是如何相互关联的?JSF是一种类似ASP.NET-MVC的基于预构建UI的JSP吗?
当前回答
看见http://www.oracle.com/technetwork/java/faq-137059.html
JSP技术是Java的一部分技术家族。JSP页面是编译成servlet并可以调用JavaBeans组件(bean)或企业JavaBeans组件(企业bean)执行服务器上的处理。因此,JSP技术是高度可扩展的体系结构基于web的应用程序。
看见https://jcp.org/en/introduction/faq
A: JavaServer Faces技术是一种构建用户界面的框架用于web应用程序。JavaServer面技术包括:一组API用于:表示UI组件并管理其状态,处理事件和输入验证,定义页面导航,以及支持国际化和可访问性。JavaServerPages(JSP)自定义标记用于表示JavaServer的库JSP页面中的Faces接口。
JSP是一种专门的servlet。
JSF是一组可以与JSP一起使用的标记。
其他回答
在某些情况下,您可以倾向于JSP而不是JSF。应用性质应是选择技术的决定因素。
如果您有丰富的GUI交互和需要的大量Java脚本,那么就选择JSF。基本上,如果您的GUI应用程序架构是面向组件的,甚至像Swing那样驱动,那么JSF是最好的。
如果应用程序只是一个简单的表单提交,不需要太多的GUI交互,那么如果学习新技术是一个开销,而且不需要复杂的框架,那么JSP可以做得很好。
从浏览器/客户端角度
JSP和JSF看起来都是一样的,根据应用程序需求,JSP更适合于基于请求-响应的应用程序。
JSF面向更丰富的基于事件的Web应用程序。我认为事件比请求/响应更精细。
从服务器角度
JSP页面被转换为servlet,它只有最小的行为。
JSF页面被转换为组件树(通过专门的FacesServlet),它遵循规范定义的组件生命周期。
Servlet——它是java服务器端层。
JSP-它是带有html的ServletJSF-它的组件基于标记库JSP——当服务器收到请求时,它被转换为servlet一次。
的确,JSP在执行时被转换为servlet,而JSF是一个全新的东西,因为JSF允许以标记的形式编写所有的编程结构,从而使网页更可读。
Jsp还有内置的servlet代码,不需要任何外部编译,可以直接运行。更改将直接在浏览器中的jsp中生效。
需要编译Servlet(即它将具有特定的类创建)
Jsf是MVC框架的视图组件