前提・実現したいこと
reservationMenu.jsp(会員登録画面)のログアウトボタンを押すと、LogoutServlet.javaへ移行し、そこからLogin.jsp(ログイン画面)に戻るという処理を行いたいです。
しかしログアウトボタンを押すと、以下のようなエラーが出てしまいます。
LogoutServlet.javaから実行するとログイン画面に戻ってくれるので、reservationMenu.jspからLogoutServlet.javaへの移動がうまくいっていないと思われます。
そもそも、LogoutServlet.javaの正確なパス名は「C:\mz-training\OOSDBP-Servlet\workspace\oosdbp-servlet\src\main\java\com\ers\presentation\servlet」なのに、[/oosdbp-servlet/jsp/logout]は利用できないというメッセージにも違和感を感じます。なぜlogoutの上がjspになってしまうのでしょうか、、。
回答よろしくお願いいたします。
発生している問題・エラーメッセージ
HTTPステータス 404 – 見つかりません。 要求されたリソース [/oosdbp-servlet/jsp/logout] は利用できません。
該当のソースコード
[reservationMenu.jspの一部抜粋] <h1> ◆施設予約システム◆<span class="title-en">Equipment Reservation System</span> </h1> <p class="header_status"> ログインユーザ名:そら豆太郎 </p> <form method="Get" action="logout"> <input type="submit" value="ログアウト" /> </form> ------------------------------------------- [LogoutServlet.javaの一部抜粋] import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @WebServlet("/logout") public class LogoutServlet extends HttpServlet{ private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ HttpSession session = request.getSession(); session.invalidate(); response.sendRedirect("jsp/Login.jsp"); } }
試したこと
reservationMenu.jspのactionの部分を色々変えてみましたが、うまくいきませんでした。
個人的には「action="xxxxx"」と「@WebServlet("/xxxxx")」が一致していればいいという認識でしたが。。。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。