現在Javaの学習をしている者です。
掲題の通りではございますが、サーブレットクラスのマッピングを行うとTomcatの起動に失敗してしまい調査してみたものの原因がわからずご質問をさせて頂いた次第です。
Webxml
1<?xml version="1.0" encoding="UTF-8"?> 2<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://xmlns.jcp.org/xml/ns/javaee" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 5 id="WebApp_ID" version="4.0"> 6 <display-name>Reservation_program</display-name> 7 8 <servlet> 9 <servlet-name>loginaction</servlet-name> 10 <servlet-class>LoginAction</servlet-class> 11 </servlet> 12 <servlet-mapping> 13 <servlet-name>loginaction</servlet-name> 14 <url-pattern>/main</url-pattern> 15 </servlet-mapping> 16 17 <session-config> 18 <session-timeout>1</session-timeout> 19 </session-config> 20 21 <welcome-file-list> 22 <welcome-file>Login.jsp</welcome-file> 23 </welcome-file-list> 24</web-app>
LoginAction
1package Reservation_program; 2 3import java.io.IOException; 4 5import jakarta.servlet.RequestDispatcher; 6import jakarta.servlet.ServletException; 7import jakarta.servlet.annotation.WebServlet; 8import jakarta.servlet.http.HttpServlet; 9import jakarta.servlet.http.HttpServletRequest; 10import jakarta.servlet.http.HttpServletResponse; 11import jakarta.servlet.http.HttpSession; 12 13/** 14 * Servlet implementation class LoginAction 15 */ 16@WebServlet("/main") 17public class LoginAction extends HttpServlet { 18 private static final long serialVersionUID = 1L; 19 20 /** 21 * Default constructor. 22 */ 23 public LoginAction() { 24 25 } 26 27 /** 28 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 29 */ 30 protected void doGet(HttpServletRequest request, HttpServletResponse response) 31 throws ServletException, IOException { 32 33 response.getWriter().append("Served at: ").append(request.getContextPath()); 34 35 } 36 37 /** 38 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 39 */ 40 protected void doPost(HttpServletRequest request, HttpServletResponse response) 41 throws ServletException, IOException { 42 43 String user_id = request.getParameter("user_id"); 44 String user_pass = request.getParameter("user_pass"); 45 46 HttpSession session = request.getSession(true); 47 session.getMaxInactiveInterval(); 48 49 50 if (user_id == null || user_id.length() == 0 || user_pass == null || user_pass.length() == 0 ||session == null) { 51 session.setAttribute("errorMsg", "ログインセッションが無効です"); 52 response.sendRedirect("/Reservation_program"); 53 return; 54 } else { 55 session.setAttribute("user_id", user_id); 56 session.setAttribute("user_pass", user_pass); 57 RequestDispatcher dispatcher = request 58 .getRequestDispatcher ("/MainPage"); 59 dispatcher.forward(request, response); 60 } 61 } 62} 63
コンソールに表示されているエラー文
使用法:java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help | start | stop } 情報: Serverのバージョン名: Apache Tomcat/10.0.6 [木 10月 07 21:18:00 JST 2021] 情報: Server ビルド: May 8 2021 15:24:15 UTC [木 10月 07 21:18:00 JST 2021] 情報: サーバーのバージョン番号: 10.0.6.0 [木 10月 07 21:18:00 JST 2021] 情報: OS 名: Mac OS X [木 10月 07 21:18:00 JST 2021] 情報: OS バージョン: 10.16 [木 10月 07 21:18:00 JST 2021] 情報: アーキテクチャ: x86_64 [木 10月 07 21:18:00 JST 2021] 情報: Java Home: /Applications/Eclipse_2021-03.app/Contents/java/11/Home [木 10月 07 21:18:00 JST 2021] 情報: JVM バージョン: 11.0.10+9 [木 10月 07 21:18:00 JST 2021] 情報: JVM ベンダ: AdoptOpenJDK [木 10月 07 21:18:00 JST 2021] 情報: CATALINA_BASE: /Applications/Eclipse_2021-03.app/Contents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 [木 10月 07 21:18:00 JST 2021] 情報: CATALINA_HOME: /Users/macbook/apache-tomcat-10.0.6 [木 10月 07 21:18:00 JST 2021] 情報: コマンドライン引数: -Dcatalina.base=/Applications/Eclipse_2021-03.app/Contents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 [木 10月 07 21:18:00 JST 2021] 情報: コマンドライン引数: -Dcatalina.home=/Users/macbook/apache-tomcat-10.0.6 [木 10月 07 21:18:00 JST 2021] 情報: コマンドライン引数: -Dwtp.deploy=/Applications/Eclipse_2021-03.app/Contents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps [木 10月 07 21:18:00 JST 2021] 情報: コマンドライン引数: -Dfile.encoding=UTF-8 [木 10月 07 21:18:00 JST 2021] 情報: 商用環境に最適な性能を発揮する APR ベースの Tomcat ネイティブライブラリが java.library.path [/Users/macbook/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.] に存在しません。 [木 10月 07 21:18:00 JST 2021] 情報: プロトコルハンドラ ["http-nio-8080"] を初期化します。 [木 10月 07 21:18:00 JST 2021] 情報: サーバーの初期化 [1346]ms [木 10月 07 21:18:00 JST 2021] 情報: サービス [Catalina] を起動します [木 10月 07 21:18:01 JST 2021] 情報: サーブレットエンジンの起動:[Apache Tomcat/10.0.6] [木 10月 07 21:18:01 JST 2021] 情報: 少なくとも1つのJARが、まだTLDを含んでいないTLDについてスキャンされました。 スキャンしたが、そこにTLDが見つからなかったJARの完全なリストについては、このロガーのデバッグログを有効にしてください。 スキャン中に不要なJARをスキップすると、起動時間とJSPのコンパイル時間が改善されます。 [木 10月 07 21:18:01 JST 2021] 情報: 少なくとも1つのJARが、まだTLDを含んでいないTLDについてスキャンされました。 スキャンしたが、そこにTLDが見つからなかったJARの完全なリストについては、このロガーのデバッグログを有効にしてください。 スキャン中に不要なJARをスキップすると、起動時間とJSPのコンパイル時間が改善されます。 [木 10月 07 21:18:02 JST 2021] 重大: 子コンテナーを開始できません。 [木 10月 07 21:18:02 JST 2021] 重大: 子コンテナーを開始できません。 [木 10月 07 21:18:02 JST 2021] 重大: 必要なサーバーコンポーネントを開始できなかったため、Tomcat を開始できませんでした。 [木 10月 07 21:18:02 JST 2021] 情報: ProtocolHandler ["http-nio-8080"] を一時停止します。 [木 10月 07 21:18:02 JST 2021] 情報: サービス [Catalina] を停止します [木 10月 07 21:18:02 JST 2021] 情報: ProtocolHandler ["http-nio-8080"] を破棄します。 [木 10月 07 21:18:02 JST 2021] WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.apache.catalina.loader.WebappClassLoaderBase (file:/Users/macbook/apache-tomcat-10.0.6/lib/catalina.jar) to field java.io.ObjectStreamClass$Caches.localDescs WARNING: Please consider reporting this to the maintainers of org.apache.catalina.loader.WebappClassLoaderBase WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 警告: Webアプリケーション[Reservation_program]は[Abandoned connection cleanup thread]という名前のスレッドを開始したようですが、停止に失敗しました。 これはメモリリークを引き起こす可能性が非常に高いです。 スレッドのスタックトレース: java.base@11.0.10/java.lang.Object.wait(Native Method) java.base@11.0.10/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43) [木 10月 07 21:18:02 JST 2021]
上記エラーについてのご存じの方がいらっしゃいましたらご教示頂けますと幸いです。
宜しくお願い致します。
あなたの回答
tips
プレビュー