我正在尝试使用 tomacat 登录后将请求转发到 jsp 文件。但它(servlet)不转发请求。谁能找出这里的错误?
小服务程序:
public class AuthenticationServer extends HttpServlet {
public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doService(request, response);
}
public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doService (request, response);
}
public void doService (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String user = request.getRemoteUser();
request.setAttribute("user", user);
RequestDispatcher dispatcher = request.getRequestDispatcher("/" + request.getParameter("direct"));
dispatcher.forward(request, response);
}
}
当我打印 "/"+ request.getParameter("direct")
时,它会打印出 /welcome.jsp
。但它只是不转发它。
最佳答案
request.getRequestDispatcher(String path);
指定的路径可以是相对的,尽管它不能扩展到当前 servlet 上下文之外。如果路径以 "/" 开头,则它被解释为相对于当前上下文根。如果 servlet 容器无法返回 RequestDispatcher,此方法也会返回 null
。试试这个:RequestDispatcher dispatcher = request.getRequestDispatcher(request.getParameter("direct"));
关于java - 使用tomcat登录后将请求从servlet转发到jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30227797/