前提
・開発未経験。独学。
・Java SE Gold試験勉強中。ITエンジニア就職に向けてポートフォリオ制作初期段階。
・ここでは実験的にサーブレットやhtmlの各種画面遷移処理を試しています。
実現したいこと
・ServletOne.javaにてリダイレクト処理→ServletTwo.javaにてフォワード処理→html
を404エラー無く正常に表示させたい。
発生している問題・エラーメッセージ
該当のソースコード
ServletOne.java
1package servlet; 2 3import java.io.IOException; 4 5import javax.servlet.ServletException; 6import javax.servlet.annotation.WebServlet; 7import javax.servlet.http.HttpServlet; 8import javax.servlet.http.HttpServletRequest; 9import javax.servlet.http.HttpServletResponse;//リダイレクト構文用 10 11@WebServlet("/ServletOne") 12public class ServletOne extends HttpServlet { 13 private static final long serialVersionUID = 1L; 14 15 protected void doGet(HttpServletRequest request, 16 HttpServletResponse response) 17 throws ServletException, IOException { 18 //リダイレクト 19 response.sendRedirect("ServletTwo"); 20 } 21}
ServletTwo.java
1package servlet; 2 3import java.io.IOException; 4 5import javax.servlet.RequestDispatcher;//フォワード構文用 6import javax.servlet.ServletException; 7import javax.servlet.annotation.WebServlet; 8import javax.servlet.http.HttpServlet; 9import javax.servlet.http.HttpServletRequest; 10import javax.servlet.http.HttpServletResponse; 11 12@WebServlet("/ServletTwo") 13public class ServletTwo extends HttpServlet { 14 private static final long serialVersionUID = 1L; 15 16 protected void doGet(HttpServletRequest request, 17 HttpServletResponse response) 18 throws ServletException, IOException { 19 20 // フォワード 21 RequestDispatcher dispatcher = 22 request.getRequestDispatcher("/WebContent/preIndex.html"); 23 dispatcher.forward(request, response); 24 } 25}
試したこと
・各ファイルが[@WebServlet("/クラス名")]となっていることを確認。
・doGetメソッドの定義を確認。
→ [response.sendRedirect("ServletTwo");]とリダイレクト処理を記述でok
(参考:https://qiita.com/orihikarumakan/items/71dc443fabc4967b9d40)
・server.xmlのpath の controllerの部分を削除し、/のみにする
(参考 : https://tmg0525.hatenadiary.jp/entry/2019/06/24/194630)
補足情報(FW/ツールのバージョンなど)
OpenJDK Runtime Environment 18.9
windows10 64bit
java se 11
tomcat9

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。