6

我正在尝试使用 RequestDispatcher 将数据从一个 servlet 传递到另一个。这是我的调度程序代码。

String address;

address = "/Java Resources/src/coreservlets/MapOut.java";

RequestDispatcher dispatcher =
  request.getRequestDispatcher(address);
dispatcher.forward(request, response);

当我尝试运行它时,它给了我一个错误,说路径不可用。我是否必须包含一些内容以供调度程序发送到另一个 servlet?

4

2 回答 2

12

你只需要servlet-mappingurl-pattern.getRequestDispatcher

假设您的 servlet 映射是 .中的“MapOut”Servlet 的“myMap” web.xml。那么它应该是

RequestDispatcher dispatcher = request.getRequestDispatcher("/myMap");
dispatcher.forward(request,response);

doGet()转发的 Servlet 将被调用。

示例:web.xml

      <servlet>
        <description></description>
        <servlet-name>MapOut</servlet-name>
        <servlet-class>coreservlets.MapOut</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>MapOut</servlet-name>
        <url-pattern>/myMap</url-pattern> <!-- You can change this-->
      </servlet-mapping>
于 2012-07-13T04:48:23.527 回答
1

您可以直接在其中写入您的servlet 名称,request.getRequestDispatcher("your servlet name");它将根据web.xml 配置获取路径。

RequestDispatcher rd= request.getRequestDispatcher("MyServletName");
rd.forward(request,response);
于 2014-02-12T10:53:30.690 回答