【发布时间】:2021-06-26 10:16:27
【问题描述】:
类似于this question,但我希望常规 servlet 只能通过 RequestDispatcher 访问。
例如,我有一个映射到/hiddenUrl 的servlet。这应该发生:
//forwards successfully
request.getRequestDispatcher(contextPath + "/hiddenUrl").forward(request,response);
//404 not found
response.sendRedirect(contextPath + "/hiddenUrl")
就像在WEB-INF 目录中移动的JSP 一样。有可能吗?
【问题讨论】:
-
抱歉,这看起来像 XY problem。你能解释一下你想要实现什么(这项技术并不新鲜,其他人可能已经有了更简单的解决方案来解决你的真正问题)?
-
@Pshemo 我在
中包含了一个部分,但现在我需要在显示部分之前执行一些数据检索。这意味着现在我需要执行 这会将我发送到返回 mypartial.jsp 的 servlet。但我不希望从外部访问“/urlPatternToServlet”。没有XY问题,我只是想知道这是否可能。 -
您是否尝试将 servlet 绑定到
/WEB-INF/urlPatternToServlet? -
@PiotrP.Karwasz 我真的确信这样的映射不会起作用,并且 localhost:8080/myapp/WEB-INF/urlPatternToServlet 仍然可以访问。相反,这不是真的! servlet 现在不能直接访问。感谢您的帮助(为什么不将其作为实际答案?)
标签: java tomcat servlets jakarta-ee