🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JSP

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

Java

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

Eclipse

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

servlet

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

Tomcat

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

Q&A

解決済

1回答

18017閲覧

エラー:javax.servlet.http.HttpServletが見つかりません

Nano_3

総合スコア2

JSP

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

Java

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

Eclipse

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

servlet

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

Tomcat

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

0グッド

0クリップ

投稿2021/03/19 08:42

編集2021/03/19 10:32

前提・実現したいこと

動的Webプロジェクトについて学んでいる初心者です。今回、調べた対処法を試してみてもどうにも解決しないので質問させていただきます。JSPファイルに毎回必ずこのエラーが発生します。ファイルはデフォルトでもコードを書いても常にこのエラーの状態です。どのようにすればエラーを消せるでしょうか?ご教授よろしくお願い致します。

現在、Eclipse(英語版)を使用していて、サーバーにはTomcat(10.0)を導入した状態です。

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

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

3/19 19:00追記:
エラーが出たコードです。といっても、ファイルを作成した際に自動的に作成されるものから特に変更しておりませんのでデフォルトのものになります。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html> <html> <head> <meta charset="ISO-8859-1"> <title>Insert title here</title> </head> <body> </body> </html>

追記:実際のウィンドウのキャプチャです。
問題のエラーのキャプチャ

試したこと

  1. プロパティ>Java Build Path>ライブラリーにTomcatのファイルがあることを確認しました。
  2. 同じく、プロパティ>Java Build Path>ライブラリーにservlet.api.jarを追加しました。
  3. プロパティ>Project Facets>ランタイムにTomcatが設定され、有効化されていることを確認しました。
  4. プロジェクトエクスプローラーにTomcatのサーバーファイルが存在することを確認しました。

/5. プロジェクトと関連するファイルすべてをリフレッシュしました。
6. EclipseとPC本体を再起動しました。

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

Eclipse(2021/3現在最新版)
Tomcat(V.10.0)
JRE(1.8 GUIの関係上1.8を使用しています)

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

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

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

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

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

K_3578

2021/03/19 09:01

結構可能性は絞られてるのか、pom.xmlの依存関係にjavax.servlet.jsp.jstl-api がないとか?
m.ts10806

2021/03/19 09:39

プロジェクトはどうやって作りましたか? あと、コードも記載してください。 エラーだけでは何とも言えません。
Nano_3

2021/03/19 10:22 編集

コメントありがとうございます。 pom.xmlの依存関係に関しては未確認でした。差し支えなければ、確認方法をお教え願えますでしょうか? エラーが出たコードはファイルを作成した際にできるものがそのままになっています。念のため、質問の方に追記させていただきました。 プロジェクトは全てEclipse上で作成・編集を行っています。最初の動的Webプロジェクト作成画面にてRuntimeにTomcat(V.10.0)を指定しました。web.xmlの作成も行っています。
K_3578

2021/03/22 00:44

あぁ、申し訳ない。Eclipse英語版には最初からMavenは入ってないんでしたね。となると他の問題だと思いますのでこちらでも再確認してみます。
K_3578

2021/03/22 01:31

因みに聞きたいのですが、Eclipse英語版を使っておられる理由はなんでしょうか? 何か理由がない限り、Pleiades All in Oneを使った方が初心者の方なら良いかと思ったのですが。
Nano_3

2021/03/22 05:45

英語版ではありますが、Eclipse Enterprise Edition を使用しているので、どうやらMavenは利用可能な環境にあるようです。 ただ、無知ゆえにEclipseのMavenプロジェクトではなく動的Webプロジェクトとしてプロジェクトを作成してしまったので、pom.xmlを発見することができませんでした...。Mavenプロジェクトとして一度作成し直してみます。
Nano_3

2021/03/22 05:53

Pleiadesに関しまして、お心遣い痛み入ります。 英語版を使用しているのは、留学先でJava及びEclipseの素地を学んだので細かい設定などが、日本語版だとピンとこないというのが理由の一つです。 秋から再び留学予定なので、その際にEclipse日本語版だと現地で学ぶものをうまく変換しないといけないので英語版を使用しています。 Pleiades All in Oneの導入も検討しましたが、日本語化を除いた恩恵に与る術が見つからないので(当たり前ではありますが)断念しました。
K_3578

2021/03/22 05:55

動的Webプロジェクトとして作成してから、Mavenに変換することは出来ますよ? それはともかく、質問者さんはどのようにして学習されているのでしょうか?参考までに聞かせて頂ければ 有難いです。
K_3578

2021/03/22 05:57

>Pleiadesに関しまして、お心遣い痛み入ります。 そうでしたか。それは失礼しました。英語版を利用されているにしては日本語で質問文書かれているので 何かしら事情があると思いましたがそういう理由なら当然無理強いはしません。
Nano_3

2021/03/22 07:23

英語版の質問ですので、英語でするのが筋かとも思いましたがやはり母国語の方が楽でして…失礼いたしました。 ご指摘頂きました通り、Mavenに変換しpom.xmlを修復したことで無事にエラーが消えました! ご助力ありがとうございました!
guest

回答1

0

自己解決

K_3578様のご助力の元、無事に解決いたしました。
結論から申し上げますと、動的WebプロジェクトをMavenプロジェクトとしてコンバートし、pom.xmlから依存関係を修復しました。
同じ問題に苦しむ同志のためになります様、詳細を記しておきます。

  1. 動的WebプロジェクトをMavenプロジェクトへ構築しなおします。

参考:EclipseでJavaプロジェクトからMavenプロジェクトに変換する
2. pom.xmlの<build>の前に以下のコードを追加します。

<dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.0</version> <scope>provided</scope> </dependency> </dependencies>

以上です。
改めまして、サポートしてくださった、m.ts10806様、K_3578様ありがとうございました。

↓以下pom.xml全体

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.Test1</groupId> <artifactId>Test1</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.0</version> <scope>provided</scope> </dependency> </dependencies> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.3</version> <configuration> <warSourceDirectory>WebContent</warSourceDirectory> </configuration> </plugin> </plugins> </build> </project>

投稿2021/03/22 07:23

Nano_3

総合スコア2

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

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

K_3578

2021/03/22 07:51

上手くいったようで何よりです。 自己解決の方法もしっかりまとめてて後学のために記しててgoodなので高評価ポチっときます。 ご成長お祈りしてます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問