0

我有很多 JSP 页面,它们都调用同一个 servlet。

是否可以从该 servlet 中获取调用该 servlet 的 JSP 页面名称?

4

2 回答 2

2

Servlet 是一个服务器端控制器,每当请求的 URL 与 web.xml 中定义的 servlet 的 url-pattern 或通过使用注释匹配时,它doGetdoPost方法都会从方法中调用。service

也就是说,servlet知道也不应该知道通过发送 HTTP 请求调用它的 HTML 元素,就像单击链接会产生与<a>触发它的元素无关的相同结果。

当然,您可以将该信息作为请求参数传递,然后通过调用在 servlet 的方法中检索该信息request.getParameter("name"),其中 request 是描述发送方 URL 的参数名称HttpServletRequestname

于 2013-04-10T12:17:04.900 回答
0

不确定你想要什么。

JSP 不直接调用 Servlet(尽管在底层,它们servlet)。

您应该将 URL 映射到 web.xml 中的 Servlet,然后将响应从 Servlet 中转发到 JSP。如果您想要请求 URL,请使用 request.getRequestURL();

如果您想要请求参数,请使用 request.getParameter("name");

转发到 JSP:

String nextJSP = "/searchResults.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
dispatcher.forward(request,response);
于 2013-04-10T12:24:42.260 回答