我有很多JSP页面,所有这些页面都调用相同的servlet。
是否可以从该servlet中获取调用servlet的JSP页面名称?
答案 0 :(得分:2)
Servlet是一个服务器端控制器,每当请求的URL与servlet的url-pattern匹配时,doGet
或doPost
方法都会从service
方法调用,如web.xml中所定义,或通过注释的使用。
也就是说,servlet 不是而不应该通过发送HTTP请求来了解调用它的HTML元素,就像点击链接一样相同的结果与触发它的<a>
元素无关。
当然,您可以将该信息作为请求参数传递,然后通过调用request.getParameter("name")
在servlet的方法中检索该信息,其中请求为HttpServletRequest
,name
是描述的参数名称发件人网址。
答案 1 :(得分: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);