Saya memiliki servlet yang ada di jalur:

/myservlet1/doit

Ketika servlet ini dipanggil, saya ingin meneruskan permintaan (di akhir) ke servlet kedua yang disebut:

/myservlet2/finish

Saya telah mengkodekan:

ServletContext ctx = this.getServletContext().getContext("/myservlet2");
RequestDispatcher dispatcher = 
ctx.getRequestDispatcher("/myservlet2/finish");
dispatcher.forward(request, response);

Tapi saya gagal dengan indikasi "/myservlet2/finish" tidak ditemukan.

0
Kolban 9 November 2017, 17:59

1 menjawab

Jawaban Terbaik

Saat menjalankan getRequestDispatcher, kami menyediakan URL yang relatif dengan konteks petugas operator. Karena kami meminta konteks servlet untuk /myservlet2 maka ketika kami meminta operator permintaan, jalur yang diberikan ke getRequestDispatcher adalah relatif terhadap konteksnya. Ini berarti bahwa fragmen kode yang benar harus:

ServletContext ctx = this.getServletContext().getContext("/myservlet2");
RequestDispatcher dispatcher = ctx.getRequestDispatcher("/finish");
dispatcher.forward(request, response);
0
Kolban 9 November 2017, 14:59