Passing data from servlet to another servlet using RequestDispatcher

别说谁变了你拦得住时间么 提交于 2019-12-30 06:35:55

问题


I am trying to pass data from one servlet to another using the RequestDispatcher. This is my code for the Dispatcher.

String address;

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

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

When I try to run it, it gives me an error saying the path is unavailable. Do I have to include something for the dispatcher to send to another servlet?


回答1:


You just need to pass servlet-mapping 's url-pattern in the getRequestDispatcher.

Let say your servlet mapping is "myMap" for the "MapOut" Servlet in the web.xml.Then it should be

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

doGet() of forwarded Servlet will be called.

Example: 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>



回答2:


You can directly write your name of the servlet in request.getRequestDispatcher("your servlet name"); it will fetch the path according to the web.xml configuration.

RequestDispatcher rd= request.getRequestDispatcher("MyServletName");
rd.forward(request,response);


来源:https://stackoverflow.com/questions/11457336/passing-data-from-servlet-to-another-servlet-using-requestdispatcher

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!