[英]How to forward from servlet to another servlet located in separate package?
我無法將請求forward
到存在於不同包中的另一個servlet。
這是發送方Servlet的有效代碼:
RequestDispatcher rDispatcher=request.getRequestDispatcher("/RecieverServlet");
rDispatcher.forward(request, response);
這是目錄結構:
Source Packages --> servlets.senderServ.SenderServlet.java
Source Packages --> servlets.a.b.RecieverServlet.java
//a and senderserv are subpackages of servlet package
//b is subpackage of a package
網址: /RecieverServlet
無法正常工作,並且我收到HTTP Status 404 - Not Found
錯誤。
提供給getRequestDispatcher()
方法的參數不引用Servlet類名稱,而是引用其映射。
您可以通過以下方式定義servlet映射:
web.xml
@WebServlet
批注。 試試這個使用Servlet上下文
ServletContext context = getServletContext().getContext("package name of other servlet");
RequestDispatcher rd = context.getRequestDispatcher("/name of servlet");
rd.forward(request, response);
檢查您的web.xml配置文件中的/RecieverServlet
映射。 確保正確的servlet(包無關緊要)映射到此url
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.