質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

896閲覧

HTMLからServletにリクエストを送るパスについて

magmag123

総合スコア15

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2023/07/31 11:10

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 }

参考にしたサイト

https://uha-blog.com/java/web-app-sample-3/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

magmag123

2023/07/31 11:40

情報: 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がうまく動いていないのでしょうか?
guest

回答1

0

自己解決

自己解決しました。
原因はTomcatのJavaバージョンと実際に使用しているJavaのバージョンが異なっているのが原因でした。

jdk11を使用しているので『Tomcat9 Java17』でなく『Tomcat9 Java11』に変更することで正常に起動すること出来ました。

投稿2023/07/31 12:38

magmag123

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問