小编典典

如何隐藏WEB-INF文件夹中的JSP文件?

jsp

例如,在一个简单的Java Web应用程序中,假设您有一个Servlet
TestServlet.java。在部署描述(web.xml)中,您可以例如将要说的请求映射/testpage
到TestServlet,以便在/testapplication/testpage请求时,TestServlet可以处理该请求。例如,您可以编写“
Hello World”并发送响应。

在目录结构(已部署到Web服务器的应用程序)中,TestServlet.java将驻留在:

webapps\testapplication\WEB-INF\classes\com\packagename\TestClass.java

这意味着无法使用浏览器访问此文件。(就像输入URL)

您还可以获取请求分配器,并将请求和响应对象转发到JSP文件,例如.getRequestDispatcher("/test.jsp")。但随后文件将在

webapps\testapplication\test.jsp

因此,连接到http:\\ server.com \ test.jsp也将获得此文件。

我想将文件隐藏在WEB-INF文件夹中,以便客户端无法访问,除非提供了我提供的映射。

什么是合适的方法?


阅读 382

收藏
2020-06-08

共1个答案

小编典典

我想将文件隐藏在WEB-INF文件夹中,以便客户端无法访问该文件。

将您的jsp文件保存在WEB-INF例如- 之下(WEB-INF/jsp),以便默认情况下Web容器不允许客户端直接访问WEB-
INF文件夹下的资源,但是RequestDispatcher可以访问它。

request.getRequestDispatcher("/WEB-INF/test.jsp").forward(request, response);

2020-06-08