0

假设我想让路径看起来像这样 /Servlet1?id=34/Servlet2

我想根据 Servlet1 中接收到的 id 参数访问 Servlet2,但是当我尝试这样做时,系统只访问 Servlet1 的服务方法而不去 Servlet2

当我的路径为/Servlet1?id=34/Servlet2时,我只想跳过 Servlet1 的代码并移至 Servlet2,否则当路径为/Servlet1?id=34时在 Servlet 1 中运行代码

我不确定何时使用这种方法,在哪里访问类似于另一个 servlet 的后代的 Servlet。如果我有任何错误的概念,请纠正或提出一些解决方案以使其发挥作用

编辑:如果用户输入/Servlet1?id=34那么它会显示一个完全不同的页面,当用户输入/Servlet1?id=34/Servlet2我想根据Servlet1 中指定的id显示一个不同的页面。

问题是当用户输入路径/Servlet1?id=34/Servlet2时我在 Servlet1 中获得的 URI只是/Servlet1即 Servlet2 在 URI 中不存在所以我如何识别哪个 Servlet 用户正在寻找?

4

1 回答 1

0

使用RequestDispatcher("\servlet2")'sforward(req,res)方法Servlet1将控件转发到Sertvlet2.

编辑:

public class Servlet1 extends HttpServlet{

protected void doPost(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {

    String id= request.getParameter("id");
    /*
     * You can do any processing here. 
     * We will simply output the value of name parameter on server console.
     * 
     */


         if(id.equals("32")){
      RequestDispatcher rd =
          getServletContext().getRequestDispatcher("\Servlet2");
          rd.forward(request, response);
        }
}

}

于 2012-04-19T05:05:03.750 回答