HTMLからServletにリクエストを送りたい。
HTMLのformタグからServletリクエストを送り、ServletからJSPにフォワード
をしたいのですが、うまくリクエストを送ることができず、Servletまでたどり着けません(404エラー)
パッケージの配置位置がおかしいのか色々とformに記載するURLを変更してみたのですが
上手くいきませんでした。
コードまたはファイルの配置場所に問題があるのでしょうか?
前提
使用ツール:Eclipse2023
Webコンテナ:Tomcat10
ファイル配置場所
発生している問題・エラーメッセージ
HTTPステータス 404 – 見つかりません タイプ ステータスレポート メッセージ 要求されたリソース [/DbConnection/list-servlet] は利用できません。 説明 オリジンサーバーは、ターゲットリソースの現在の表現を見つけられなかったか、またはそれが存在することを開示するつもりはありません。 Apache Tomcat/10.1.10
該当のソースコード
HTML
1 <h1>Todo 管理Webアプリケーション</h1> 2 <form action="/DbConnection/list-servlet" method="get"> 3 <input type="submit" value="一覧を表示"> 4 </form>
該当のソースコード
JSP
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8" import="java.util.List, java.util.ArrayList, model.dao.dto.TodoDTO"%> 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>Todo List</title> 8</head> 9<body> 10 <% 11 List<TodoDTO> todoList = (List) request.getAttribute("todoList"); 12 %> 13 <% for(TodoDTO todo: todoList){ %> 14 <%=todo.getTodo() %> 期限:<%=todo.getTimeLimit() %><br> 15 <% } %> 16</body> 17</html>
該当のソースコード
Servlet
1@WebServlet("/list-servlet") 2public class ListServlet extends HttpServlet { 3 private static final long serialVersionUID = 1L; 4 5 /** 6 * @see HttpServlet#HttpServlet() 7 */ 8 public ListServlet() { 9 super(); 10 // TODO Auto-generated constructor stub 11 } 12 13 /** 14 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 15 */ 16 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 // todoの一覧を保持する変数を宣言 18 List<TodoDTO> todoList = new ArrayList<>(); 19 20 // DAOを生成し、Todo一覧を取得する 21 TodoListDAO dao = new TodoListDAO(); 22 try { 23 // todo一覧を取得する 24 todoList = dao.getTodoList(); 25 }catch(SQLException | ClassNotFoundException e) { 26 e.printStackTrace(); 27 } 28 29 // todo一覧をリクエストスコープに設定する 30 request.setAttribute("todoList", todoList); 31 // todo一覧画面に遷移する 32 RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/jsp/list.jsp"); 33 rd.forward(request, response); 34 }
参考にしたサイト
情報: Serverのバージョン名: Apache Tomcat/10.1.10 [月 7月 31 19:59:31 GMT+09:00 2023]
情報: Server ビルド: Jun 2 2023 18:11:59 UTC [月 7月 31 19:59:32 GMT+09:00 2023]
情報: サーバーのバージョン番号: 10.1.10.0 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: OS 名: Windows 10 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: OS バージョン: 10.0 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: アーキテクチャ: amd64 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: Java Home: D:\Eclipse\java\17 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: JVM バージョン: 17.0.7+7 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: JVM ベンダ: Eclipse Adoptium [月 7月 31 19:59:32 GMT+09:00 2023]
情報: CATALINA_BASE: D:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: CATALINA_HOME: D:\Eclipse\tomcat\10 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: -Dcatalina.base=D:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: -Dcatalina.home=D:\Eclipse\tomcat\10 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: -Dwtp.deploy=D:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: --add-opens=java.base/java.lang=ALL-UNNAMED [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: --add-opens=java.base/java.io=ALL-UNNAMED [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: --add-opens=java.base/java.util=ALL-UNNAMED [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: -Dfile.encoding=UTF-8 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: コマンドライン引数: -XX:+ShowCodeDetailsInExceptionMessages [月 7月 31 19:59:32 GMT+09:00 2023]
情報: 商用環境に最適な性能を発揮する APR ベースの Tomcat ネイティブライブラリが java.library.path [D:\Eclipse\java\17\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Users\ユーザー\Downloads\WINDOWS.X64_193000_db_home\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Java\jdk-11\bin\bin;C:\xampp\mysql\bin;C:\xampp\php;C:\Users\ユーザー\AppData\Local\Microsoft\WindowsApps;C:\Users\ユーザー\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\Java\jdk-11\bin;;.] に存在しません。 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: プロトコルハンドラ ["http-nio-8080"] を初期化します。 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: サーバーの初期化 [445] ミリ秒 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: サービス [Catalina] を起動します [月 7月 31 19:59:32 GMT+09:00 2023]
情報: サーブレットエンジンの起動:[Apache Tomcat/10.1.10] [月 7月 31 19:59:32 GMT+09:00 2023]
情報: 少なくとも1つのJARでTLDをスキャンしましたが、TLDが含まれていませんでした。スキャンしたもののTLDが見つからなかったJARの完全なリストについては、このロガーのデバッグログを有効にしてください。スキャン中に不要なJARをスキップすると、起動時間とJSPのコンパイル時間が短縮されます。 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: 少なくとも1つのJARでTLDをスキャンしましたが、TLDが含まれていませんでした。スキャンしたもののTLDが見つからなかったJARの完全なリストについては、このロガーのデバッグログを有効にしてください。スキャン中に不要なJARをスキップすると、起動時間とJSPのコンパイル時間が短縮されます。 [月 7月 31 19:59:32 GMT+09:00 2023]
情報: プロトコルハンドラー ["http-nio-8080"] を開始しました。 [月 7月 31 19:59:33 GMT+09:00 2023]
情報: サーバーの起動 [873] ミリ秒 [月 7月 31 19:59:33 GMT+09:00 2023]
上記のエラーからtomcatがうまく動いていないのでしょうか?

回答1件
あなたの回答
tips
プレビュー