質問: jspからservletを呼び、元のjspページに戻るにはどうしたらよいですか? ・jspページにあるボタンを押すとservletに値を渡す。 ・servletで処理をする。 ・処理の結果を元のjspページに表示する。 というプログラムを作りたいと考えています。 jspページ→servletで処理をする、という所までは出来たのですが その後元のページに戻すというところで困っています。 jspページは複数(十数ページ)あり、servletは1つです。 a.jsp→servlet→a.jsp b.jsp→servlet→b.jsp このように、どのjspページから呼ばれても、元のjspページに 戻したいのですが、どのようにすれば実現できるでしょうか?
回答: dogetメソッドなら import java.io.*; import java.net.*; import javax.servlet.*; import javax.servlet.http.*; public class サーブレット名 extends httpservlet { public void doget(httpservletrequest req, httpservletresponse res) throws servletexception, ioexception { try { res.sendredirect(new uri(req.getheader("referer")).getpath()); } catch (urisyntaxexception e) { e.printstacktrace(); } } } (jdkやサーバーなどの環境、eclipse等を使用しているかなど、詳しく書いたほうがいいですよ^^!ロジック自体はもっといいものがあるかどうか検討してみてください。sendredirectメソッドはリクエスト属性を保持しないので、必要な場合はrequestdispatcher#forwardメソッドの使用も考えられます。その場合はパスの記述が/アプリ名/ファイル名ではなく/ファイル名 になりますが(余談))