如果我有兩個servlet:如何使用棘手的重定向從一個servlet重定向到另一個?
@WebServlet (urlPatterns = {"/s1"})
public class Servlet1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("A", 100);
map.put("B", 200);
map.put("C", 300);
req.setAttribute("map", map);
getServletContext().getRequestDispatcher("Servlet2").forward(req, resp);
}
}
public class Servlet2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Map map = (Map) req.getAttribute("map");
for (Object o : map.values()) {
System.out.println(o);
}
}
}
我怎樣才能讓他們之間的重定向?我需要在我的getRequestDispatcher方法中使用哪個路徑?還有一個條件 - Servlet2在註釋或web.xml中必須沒有任何映射。
映射對於servlet是必需的... –
但是我需要Servlet2對用戶不可見。它無法從瀏覽器訪問。如果我使用映射用戶可以訪問該servlet。 – user3163426
您確定要使用Servlet而不是說讓JSP(這是一種servlet,並且不會在web.xml中設置任何註釋或地址)嗎? – Pshemo