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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

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

Q&A

解決済

1回答

2303閲覧

eclipse java.lang.ClassNotFoundException

nakku425

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

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

0グッド

0クリップ

投稿2021/07/06 10:00

前提・実現したいこと

jspファイルとサーブレットファイル連携させて簡単な機能を作りたいです。

発生している問題・エラーメッセージ

表示されているhtml(jspファイル)からサーブレットファイルに移動すると以下のエラーが発生します。

HTTPステータス 500 – Internal Server Error タイプ 例外報告 メッセージ サーブレットクラス [ex.Ex5_1] を初期化中にエラーが発生しました 説明 サーバーは予期しない条件に遭遇しました。それはリクエストの実行を妨げます。 例外 javax.servlet.ServletException: サーブレットクラス [ex.Ex5_1] を初期化中にエラーが発生しました org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1598) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base/java.lang.Thread.run(Thread.java:834) 根本原因 java.lang.ClassNotFoundException: ex.Ex5_1 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1598) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base/java.lang.Thread.run(Thread.java:834) 注意 原因のすべてのスタックトレースは、サーバのログに記録されています

該当のソースコード

formHtml.jsp

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>Insert title here</title> 8</head> 9<body> 10<form action="/example/Ex5_1" method="post"> 11名前:<br> 12<input type="text" name="name"><br> 13<input type="submit" value="登録"> 14</form> 15</body> 16</html>

Ex5_1.java

1package ex; 2 3import java.io.IOException; 4import java.io.PrintWriter; 5 6import javax.servlet.ServletException; 7import javax.servlet.annotation.WebServlet; 8import javax.servlet.http.HttpServlet; 9import javax.servlet.http.HttpServletRequest; 10import javax.servlet.http.HttpServletResponse; 11 12/** 13 * Servlet implementation class ex5_1 14 */ 15@WebServlet("/Ex5_1") 16public class Ex5_1 extends HttpServlet { 17 private static final long serialVersionUID = 1L; 18 19 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 // TODO Auto-generated method stub 21 request.setCharacterEncoding("UTF-8"); 22 String name = request.getParameter("name"); 23 24 25 26 String errorMsg = ""; 27 if(name == null || name.length() == 0) { 28 errorMsg += "名前が入力されていません<br>"; 29 } 30 String msg = name + "さんを登録しました"; 31 if(errorMsg.length() != 0) { 32 msg = errorMsg; 33 } 34 response.setContentType("text/html; charset=UTF-8"); 35 PrintWriter out = response.getWriter(); 36 out.println("<!DOCTYPE html >"); 37 out.println("<html>"); 38 out.println("<head>"); 39 out.println("<meta charset=\"UTF-8\">"); 40 out.println("<title>ユーザー登録結果</title>"); 41 out.println("</head>"); 42 out.println("<body>"); 43 out.println("<p>" + msg + "</p>"); 44 out.println("</body>"); 45 out.println("</html>"); 46 47 } 48 49}

試したこと

サーブレットファイルだけで自己完結するような処理内容のサーブレットファイルならエラーは起きないみたいです。調べてみたところ
https://www.it-swarm-ja.com/ja/java/eclipse%E3%81%A7%E3%81%AEtomcat%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%96%E3%83%AC%E3%83%83%E3%83%88%E3%81%AEjavalangclassnotfoundexception/1040656204/
これが☝️今の自分の状態に一番近いような気がするのですが????が20ついてるコメを見るに動的webプロジェクトをもう一度作り直さないとだめということですか?

補足情報(FW/ツールのバージョンなど)

mac os 10.15.7
tomcat 9
eclipse 2019-12
ここにより詳細な情報を記載してください。

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

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

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

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

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

K_3578

2021/07/07 02:01

該当のコメントは作り直すという意味では無いと思いますが。 プロジェクトをクリーンしてビルドし直してみろという事だと思います
nakku425

2021/07/07 08:42

このエラーを解決しようとファイルを作ったり消したりを繰り返していたら(おそらくアノテーションの重複が原因)のサーバエラーが起こるようになってしまいました(泣)
guest

回答1

0

自己解決

プロジェクト全体をクリーン処理したらサーバエラーと一500エラーが同時に解消できました。ありがとうございます。

投稿2021/07/07 11:43

nakku425

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問