0

我正在使用 Java Servlets 3.1.0 构建一个简单的 webapp。
有没有一种方法可以防止通过 URL 直接访问我的 WEB-INF 中的页面?

例如:
我的文件夹dashboard.jsp中有WEB-INF文件。我还有一个名为 the 的 servlet DashboardServlet,可以/dashbboard在其中使用RequestDispatcher来访问dashboard.jsp

所以现在,当我访问时localhost:8080/dashboarddashboard.jsp会显示。但是,当我尝试访问时,仪表板也会显示localhost:8080/dashboard.jsp

我怎样才能阻止访问,localhost:8080/dashboard.jsp同时仍然使转发成为localhost:8080/dashboard可能。

谢谢!

4

1 回答 1

1

WEB-INF 目录包含一个层次结构,您可以在其中找到 Web 应用程序的必要配置信息,以及由 JSP(Java 服务器页面)调用的 servlet 和类的所有类文件。WEB-INF 目录是 Web 应用程序的重要组成部分,没有它就无法运行!

这基本上意味着 WEB-INF 正是为了隐藏 Jsp 文件。

因此,如果您将 JSP 文件复制到 WEB-INF,它们将无法以 localhost:8080/dashboard.jsp 格式访问。

还要检查您的 Web.xml 以获取正确的 servlet 映射条目。

于 2013-11-14T11:05:12.837 回答