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

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

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

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

JSP

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

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Apache Tomcat

Apache TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

0回答

2102閲覧

Tomcatで500エラー(contextpathが無視されてしまう)

irene555

総合スコア1

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

JSP

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

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Apache Tomcat

Apache TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2021/03/14 00:10

編集2021/03/16 09:21

#やりたいこと
tomcatでHelloServletを表示させる簡単なプログラムを実行したいです。
webアプリ、サーバ系初心者ですので、お助けいただけたらと思っています。
よろしくお願いいたします。

#起きているエラー

500error

1タイプ 例外報告 2 3メッセージ サーブレットクラス [HelloServlet] を初期化中のエラー 4 5説明 サーバーは予期しない条件に遭遇しました。それはリクエストの実行を妨げます。 6 7例外 8 9javax.servlet.ServletException: サーブレットクラス [HelloServlet] を初期化中のエラー 10 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) 11 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 12 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) 13 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353) 14 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616) 15 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 16 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) 17 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1629) 18 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 19 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 20 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 21 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 22 java.lang.Thread.run(Thread.java:748) 23根本原因 24 25java.lang.ClassNotFoundException: HelloServlet 26 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1372) 27 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1195) 28 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) 29 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 30 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) 31 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353) 32 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616) 33 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 34 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) 35 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1629) 36 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 37 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 38 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 39 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 40 java.lang.Thread.run(Thread.java:748)

tomcatlog

114-Mar-2021 08:47:58.352 情報 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor 配備記述子 [C:\apache-tomcat8\conf\Catalina\localhost\test.xml] を配備します 214-Mar-2021 08:47:58.383 警告 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor docBase [c:\apache-tomcat8\webapps\test] はホストの appBase に含まれるため無視します。 314-Mar-2021 08:47:58.525 重大 [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource アノテーションのWebリソース[/WEB-INF/classes/HelloServlet.class]を処理できません 4 java.io.IOException: Stream closed 5 at java.io.BufferedInputStream.getInIfOpen(BufferedInputStream.java:159) 6 at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) 7 at java.io.BufferedInputStream.read(BufferedInputStream.java:265) 8 at java.io.DataInputStream.readInt(DataInputStream.java:387) 9 at org.apache.tomcat.util.bcel.classfile.ClassParser.readID(ClassParser.java:199) 10 at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:78) 11 at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2008) 12 at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:1916) 13 at org.apache.catalina.startup.ContextConfig.processClasses(ContextConfig.java:1176) 14 at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1093) 15 at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:779) 16 at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299) 17 at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) 18 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5069) 19 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 20 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) 21 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) 22 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) 23 at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:606) 24 at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1766) 25 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 26 at java.util.concurrent.FutureTask.run(FutureTask.java:266) 27 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 28 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 29 at java.lang.Thread.run(Thread.java:748)

#ソースコードとcontextpath設定

HelloServlet

1//(1) 2import java.io.*; 3import javax.servlet.*; 4import javax.servlet.http.*; 5 6//(2) 7public class HelloServlet extends HttpServlet { 8 //(3) 9 public void service(HttpServletRequest req, 10 HttpServletResponse res) 11 throws ServletException, IOException { 12 13 //(4) 14 PrintWriter out = res.getWriter(); 15 //(5) 16 out.println("<HTML>"); 17 out.println("<BODY>"); 18 out.println("<H3>Hello World!</H3>"); 19 out.println("</BODY>"); 20 out.println("</HTML>"); 21 22 } 23}

webxml

1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 Licensed to the Apache Software Foundation (ASF) under one or more 4 contributor license agreements. See the NOTICE file distributed with 5 this work for additional information regarding copyright ownership. 6 The ASF licenses this file to You under the Apache License, Version 2.0 7 (the "License"); you may not use this file except in compliance with 8 the License. You may obtain a copy of the License at 9 10 http://www.apache.org/licenses/LICENSE-2.0 11 12 Unless required by applicable law or agreed to in writing, software 13 distributed under the License is distributed on an "AS IS" BASIS, 14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 See the License for the specific language governing permissions and 16 limitations under the License. 17--> 18<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 19 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 20 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 21 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 22 version="3.1" 23 metadata-complete="true"> 24 25 <servlet> 26 <servlet-name>Hello</servlet-name> 27 <servlet-class>HelloServlet</servlet-class> 28 </servlet> 29 <servlet-mapping> 30 <servlet-name>Hello</servlet-name> 31 <url-pattern>/Hello</url-pattern> 32 </servlet-mapping> 33 34</web-app> 35

testxml

1<Context path="/test" reloadable="true" docBase="c:/apache-tomcat8/webapps/test/" workDir="c:/apache-tomcat8/webapps/test/work" > 2</Context> 3

#ファイルの配置場所
HelloServlet.class
\apache-tomcat8\webapps\test\WEB-INF\classes
(確実にクラスファイルを置いています)

web.xml
\apache-tomcat8\webapps\test\WEB-INF

test.xml
\apache-tomcat8\conf\Catalina\localhost

環境変数は
CLASSPATH \apache-tomcat8\lib\servlet-api.jar に通しています。

#行ったこととエラー発生について

\apache-tomcat8\webapps\test\JSP\HelloJsp.jsp
は直接URL localhost:8080/test/JSP/HelloJsp.jspとたたくことでアクセスできますが

localhost:8080/test/Hello
とサーブレットを指定すると500エラーになります。

tomcatのcatalinaログを確認したところ、

14-Mar-2021 08:47:58.383 警告 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor docBase [c:\apache-tomcat8\webapps\test] はホストの appBase に含まれるため無視します。

14-Mar-2021 08:47:58.525 重大 [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource アノテーションのWebリソース[/WEB-INF/classes/HelloServlet.class]を処理できません

という警告と重大情報が記載されていました。

これはtest.xmlのコンテキストパスが通っていないということでしょうか?

以上、よろしくお願いいたします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問