您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

用.jsp或.xhtml或.jsf扩展名创建JSF页面之间有什么区别

用.jsp或.xhtml或.jsf扩展名创建JSF页面之间有什么区别

JSP是一种旧的视图技术,已广泛与JSF1.x结合使用。Facelets(有些人被普遍称为XHTML)是JSP的继承者,并于2009年底作为JSF2.x的认视图技术引入。当您看到JSP时,您可能正在阅读针对JSF 1的过时书籍,教程或资源。 。X。在使用JSF 2.x进行开发时,通常应该忽略它们,而转到针对JSF 2.x的资源,否则您可能会陷入混乱,因为在Facelets上的JSF 2.x中许多事情都以不同的方式进行。

*.jsf是对广泛使用的URL模式只是一个FacesServlet中映射web.xml。其他的是*.faces/faces/*,但是这些来自JSF1.0 /1.1时代。它们均不代表具体的文件扩展名/路径,而仅代表虚拟文件扩展名/路径,并且只能在URL中指定,例如http://example.com/contextname/page.jsf。如果您熟悉基本的Servlet,那么您应该知道,当请求URL与Servlet的URL模式匹配时,servletcontainer将调用servlet。因此,当请求网址匹配时*.jsfFacesServlet将以这种方式调用。使用JSP时,它实际上会执行page.jsp。使用Facelets时,实际上可以进行编译page.xhtml

从JSF 2.x开始,您还可以将其*.xhtml用作URL模式。这样,您无需在指定URL时感到困惑。*.xhtml在带有Facelets 1.x的JSF 1.x中不可能使用URL模式,因为FacesServlet它将随后在无限循环中运行,每次都调用它自己。使用的另外一个优势*.xhtml是,最终用户将无法看到原始JSF的源代码,只要最终用户有意改变来自例如在浏览器地址栏中的URL扩展.jsf.xhtml。不能将其*.jsp用作URL模式,因为这样一来JspServlet,已经使用该URL模式的容器内建函数将被覆盖,然后FacesServlet将无法再以JSP为基础。

其他 2022/1/1 18:14:00 有507人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶