【问题标题】:How do I access the files in WEB-INF folder easily?如何轻松访问 WEB-INF 文件夹中的文件?
【发布时间】:2014-07-11 22:48:44
【问题描述】:

我希望能够访问在本地 glassfish 服务器上运行的 Web 应用程序的 WEB-INF 文件夹中的 jsp 和 html 文件。我该怎么做呢 ?我知道这违背了安全的目的。但是,我想试试这个。

谢谢。

【问题讨论】:

  • 你想怎么访问它?
  • 你想访问什么?如果它是 HTML/JSP,那么只需使用 RequestDispatcher 只有应用程序可以访问它。 WEB-INF 中的内容不公开可见。
  • 使用servletContext.getResourceAsStream("/WEB-INF/myfile");Read more...
  • @JigarJoshi - 我想做一些事情,只需单击 glassfish/web 服务器中的 web 应用程序的 url 就可以访问它。也就是说,它应该打开我的 index.jsp,它位于 WEB-INF 文件夹中。有没有一些简单的方法可以做到这一点,比如为此更改一些服务器配置或网络配置?我不想做需要我修改许多 jsp 和 html 的事情。谢谢
  • 您的意思是通过网络客户端(网络浏览器)访问驻留在 WEB-INF 中的文件?如果是这样,那是不可能的

标签: java jsp jakarta-ee


【解决方案1】:

使用ServletContext.getResource("/WEB-INF/resource-file") 以Java 加载文件。

对于直接访问,请在 web.xml 中使用一些 servlet 映射

<servlet>
  <servlet-name>myFoo</servlet-name>
  <jsp-file>myJSPfile.jsp</jsp-file>
</servlet>
<servlet-mapping>
  <servlet-name>myFoo</servlet-name>
  <url-pattern>/main</url-pattern>
</servlet-mapping>

有关更多文档,请参阅http://docs.oracle.com/cd/E11035_01/wls100/webapp/configurejsp.html#wp162442

【讨论】:

  • 或@Braj 建议的getResourceAsStream() :-)
  • 我用 ServletContext.getResource("/WEB-INF/resource-file") 就够了,谢谢!
【解决方案2】:

WEB-INF里面的文件不能直接读取,它不是公共网络空间,你可以做的是你可以创建一个servlet,它将你的请求转发到WEB-INF/里面的jsp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    相关资源
    最近更新 更多