前提
初歩的な質問失礼いたします。私が記述したweb.xmlのどこがおかしいのかご教授いただきたいです。
現在、ブラウザ上でログイン機能を実装したいため、servletとtomcatを用いて行っています。そこでtomcatにエラーが出ておりサーバーが起動できていない状況です。
自身でいろいろ試した結果、WEB-INFディレクトリに格納しているweb.xmlが原因であるとわかり、web.xmlを削除すると上手く作動しました。
そこでwb.xmlの記述を確認しましたがエラー等は確認されず、なぜサーバーが起動しなかったのかわからない状態です。自分のweb.xmlのどこが悪いのか、お手数をおかけしますがご教授いただければ幸いです。
発生している問題・エラーメッセージ
情報: Serverのバージョン名: Apache Tomcat/9.0.56 [木 9月 01 18:11:34 JST 2022] 情報: Server ビルド: Dec 2 2021 14:30:07 UTC [木 9月 01 18:11:34 JST 2022] 情報: サーバーのバージョン番号: 9.0.56.0 [木 9月 01 18:11:34 JST 2022] 情報: OS 名: Windows 10 [木 9月 01 18:11:34 JST 2022] 情報: OS バージョン: 10.0 [木 9月 01 18:11:34 JST 2022] 情報: アーキテクチャ: amd64 [木 9月 01 18:11:34 JST 2022] 情報: Java Home: C:\ForDevelop\pleiades\eclipse\jre [木 9月 01 18:11:34 JST 2022] 情報: JVM バージョン: 17.0.1+12 [木 9月 01 18:11:34 JST 2022] 情報: JVM ベンダ: Eclipse Adoptium [木 9月 01 18:11:34 JST 2022] 情報: CATALINA_BASE: C:\ForDevelop\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1 [木 9月 01 18:11:34 JST 2022] 情報: CATALINA_HOME: C:\ForDevelop\pleiades\tomcat\9 [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: -Dcatalina.base=C:\ForDevelop\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1 [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: -Dcatalina.home=C:\ForDevelop\pleiades\tomcat\9 [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: -Dwtp.deploy=C:\ForDevelop\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: --add-opens=java.base/java.lang=ALL-UNNAMED [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: --add-opens=java.base/java.io=ALL-UNNAMED [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: --add-opens=java.base/java.util=ALL-UNNAMED [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: -Dfile.encoding=UTF-8 [木 9月 01 18:11:34 JST 2022] 情報: コマンドライン引数: -XX:+ShowCodeDetailsInExceptionMessages [木 9月 01 18:11:34 JST 2022] 情報: 商用環境に最適な性能を発揮する APR ベースの Tomcat ネイティブライブラリが java.library.path [C:\ForDevelop\pleiades\eclipse\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/ForDevelop/pleiades/eclipse/jre/bin/server;C:/ForDevelop/pleiades/eclipse/jre/bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files\Java\jdk-17.0.2\bin;C:\Program Files (x86)\Common Files\Apple\Apple Application Support;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Fujitsu\FJAgent\Core\bin;C:\Program Files\nodejs\;C:\Users\Owner\Anaconda3;C:\Users\Owner\Anaconda3\Script;C:\Program Files\Git\cmd;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;C:\Users\Owner\AppData\Roaming\npm;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;C:\Users\Owner\AppData\Local\Programs\Microsoft VS Code\bin;;C:\ForDevelop\pleiades\eclipse;;.] に存在しません。 [木 9月 01 18:11:34 JST 2022] 情報: プロトコルハンドラ ["http-nio-8080"] を初期化します。 [木 9月 01 18:11:34 JST 2022] 情報: サーバーの初期化 [1150]ms [木 9月 01 18:11:34 JST 2022] 情報: サービス [Catalina] を起動します [木 9月 01 18:11:35 JST 2022] 情報: サーブレットエンジンの起動:[Apache Tomcat/9.0.56] [木 9月 01 18:11:35 JST 2022] 情報: 少なくとも1つのJARが、まだTLDを含んでいないTLDについてスキャンされました。 スキャンしたが、そこにTLDが見つからなかったJARの完全なリストについては、このロガーのデバッグログを有効にしてください。 スキャン中に不要なJARをスキップすると、起動時間とJSPのコンパイル時間が改善されます。 [木 9月 01 18:11:36 JST 2022] 警告: セッション ID を生成するための SecureRandom インスタンスの作成に [101] ミリ秒かかりました。アルゴリズムは [SHA1PRNG] です。 [木 9月 01 18:11:36 JST 2022] 重大: 子コンテナーを開始できません。 [木 9月 01 18:11:36 JST 2022] 重大: 子コンテナーを開始できません。 [木 9月 01 18:11:36 JST 2022] 重大: 必要なサーバーコンポーネントを開始できなかったため、Tomcat を開始できませんでした。 [木 9月 01 18:11:36 JST 2022] 情報: ProtocolHandler ["http-nio-8080"] を一時停止します。 [木 9月 01 18:11:36 JST 2022] 情報: サービス [Catalina] を停止します [木 9月 01 18:11:36 JST 2022] 情報: ProtocolHandler ["http-nio-8080"] を破棄します。 [木 9月 01 18:11:36 JST 2022]
該当のソースコード
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>Login2</servlet-name> <servlet-class>work.Login2</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login2</servlet-name> <url-pattern>/Login2</url-pattern> </servlet-mapping> <servlet> <servlet-name>ExecuteLogin2</servlet-name> <servlet-class>work.ExecuteLogin2</servlet-class> </servlet> <servlet-mapping> <servlet-name>ExecuteLogin2</servlet-name> <url-pattern>/ExecuteLogin2</url-pattern> </servlet-mapping> </web-app>
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
EclipseVersion: 2021-12 (4.22.0)
Tomcat9
0 コメント