当前位置: 首页 > 面试题库 >

WEB-INF目录中的JSF文件,如何访问它们?

朱睿
2023-03-14
问题内容

我想将我的JSF 2.0 xhtml文件放在WEB-INF \ jsf下。那我该如何访问它们?我知道WEB-
INF中的任何内容都不会暴露给外部,因此我需要一个控制器将我重定向到相应的JSP,对吗?(这也是模型2模式iirc)。

我可以使用web.xml / faces-
config.xml中的参数来实现吗?我认为FacesServlet是我的webapp的控制器,因此它应该达到这个目的吗?

另一个问题是理解模型2模式。是否每个动作都必须先进入servlet,然后再处理下一个可能的步骤?因此<a href="anotherPage.html" />,此模式禁止使用简单的方法,因为它不会传递给控制servlet?


问题答案:

我想将我的JSF 2.0 xhtml文件放在WEB-INF \ jsf下。 那我该如何访问它们?

你不能。/WEB-INF无法直接访问文件夹中的文件。

有两种方法可以解决JSF源文件可公共访问的问题。

  1. 在地图FacesServlet*.xhtml,而不是*.jsf

  2. 或者,*.xhtml通过<security-constraint>in 限制直接访问web.xml

    <security-constraint>
    <display-name>Restrict direct access to XHTML files</display-name>
    <web-resource-collection>
        <web-resource-name>XHTML files</web-resource-name>
        <url-pattern>*.xhtml</url-pattern>
    </web-resource-collection>
    <auth-constraint />
    



 类似资料:
  • 我刚刚开始使用JSP,遇到了一个问题。 据我所知,WEB-INF下的JSP页面可以通过浏览器在localhost中使用URL进行访问: 但是,如果我在WEB-INF文件夹(即'MyFolder')中创建另一个子文件夹,并尝试通过URL访问相同的JSP页面: 它给出了一个错误404。JSP文件导航系统与HTML文件导航系统有区别吗? 编辑:我正在使用servlet来显示我的JSP页面: EDIT2:

  • 问题内容: 我有一个Web应用程序,其中包含我的应用程序服务之一的配置xml文件,该文件显示为spring bean。另外,我在同一个工作区中有一个独立的Java应用程序(从其pom.xml引用我的Web应用程序项目),该应用程序使用Spring TestContext框架运行测试,并且其中一个测试检查该XML文件的配置。 但是我从独立应用程序访问此xml文件时遇到问题: 在设置测试之前,在我之前

  • 我在AmazonEC2服务器上有一个WordPress网站,位于/var/www/html/directory。我还想主持另一个网站,可以使用www.domain访问。com/admin。我在WordPress目录中创建了一个文件夹“admin”,但每当我尝试访问这个新网站时,它只会显示WordPress的主网站。我几乎什么都试过了。htaccess文件,但没有运气。 目前,我的root. hta

  • 我有一个正在开发的Spring Boot应用程序,我最近将它从Spring3升级到Spring4(spring-boot-starter-parent 1.3.5.release到1.4.6.release)。 我在目录中有一个html模板(名为'test-template.html'),我一直在使用Thymeleaf的TemplateEngine创建html电子邮件内容。(在升级到版本4之前,这

  • 问题内容: 我有以下项目结构 如何从ConfigManager.py访问constants.cfg。 我有一个限制 我无法提供constants.cfg的完整路径(绝对路径),因为如果我在其他PC上运行,则无需进行任何修改 另外,如果我代表以下内容,则可以访问该文件。但是我不想每次都回击 目前,我正在做这样的事情。但这仅在constants.cfg和ConfigManager.py位于同一目录中时

  • 我试图在根目录外的文件夹中保存一个文件,然后读取它的内容。 例如,我的工作目录是/var/www/html/project_folder,我想将文件保存在/var/www/new_folder中 我使用的是Laravel5.2,所以我的根路径是/var/www/html/project\u folder/public 我已授予新文件夹的所有权限。我尝试了$\u SERVER['DOCUMENT\u