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

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

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

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

JSP

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

Java

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

servlet

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

解決済

JSTLを用いたjspで起こるエラーを解決したい

PineApplePen
PineApplePen

総合スコア1

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

JSP

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

Java

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

servlet

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

1回答

0リアクション

0クリップ

3341閲覧

投稿2021/07/23 07:49

編集2021/07/27 01:51

前提・実現したいこと

javaのサーブレットとjspでログイン機能を作っています。
jatlを用いて作成したjspを開く際にエラーが発生しました。

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

jatlを用いて作成したjspを開く際にエラーが発生しました。

エラーメッセージ タイプ 例外報告 メッセージ java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator 説明 サーバーは予期しない条件に遭遇しました。それはリクエストの実行を妨げます。 例外 jakarta.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) servlet.LoginServlet.doGet(LoginServlet.java:36) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:663) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

該当のソースコード

jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ログイン画面</title> </head> <body> <form action="/login/Login" method="post"> IDまたはメールアドレス<input type="text" name="idMail"><br> パスワード<input type ="password" name="pass"> <input type="submit" value="ログイン"> </form> <a href ="/login/Create">ユーザー登録</a> <c:if test="{errorMsg} != null"> {errorMsg} </c:if> </body> </html>

java

classpathです。 <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src/main/java"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-16"> <attributes> <attribute name="module" value="true"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Tomcat10 (Java16)"> <attributes> <attribute name="owner.project.facets" value="jst.web"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/> <classpathentry kind="output" path="build/classes"/> </classpath>

java

Web-xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_ID" version="2.5"> <display-name>login</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>LoginServlet</display-name> <servlet-name>LoginServlet</servlet-name> <servlet-class>test.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/LoginServlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>CreateServlet</display-name> <servlet-name>CreateServlet</servlet-name> <servlet-class>Servlet.CreateServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CreateServlet</servlet-name> <url-pattern>/CreateServlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>LogoutServlet</display-name> <servlet-name>LogoutServlet</servlet-name> <servlet-class>servlet.LogoutServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LogoutServlet</servlet-name> <url-pattern>/LogoutServlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>ChangeServlet</display-name> <servlet-name>ChangeServlet</servlet-name> <servlet-class>servlet.ChangeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ChangeServlet</servlet-name> <url-pattern>/ChangeServlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>PassChangeServlet</display-name> <servlet-name>PassChangeServlet</servlet-name> <servlet-class>servlet.PassChangeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>PassChangeServlet</servlet-name> <url-pattern>/PassChangeServlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>passChangeServlet</display-name> <servlet-name>passChangeServlet</servlet-name> <servlet-class>servlet.passChangeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>passChangeServlet</servlet-name> <url-pattern>/passChangeServlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>DeleteServlet</display-name> <servlet-name>DeleteServlet</servlet-name> <servlet-class>servlet.DeleteServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DeleteServlet</servlet-name> <url-pattern>/DeleteServlet</url-pattern> </servlet-mapping> </web-app>

試したこと

jspのタグライブラリの指定のコードとtaglibディレクティブを削除した際にはエラーが起こりませんでした。
jspで直接リクエストしたときもエラーが発生しました。

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

Tomacat10_Java16
javaEE
WEB-INF/libにjstl-api-1.2.jarとjstl-impl-1.2.jarを配置しています。
イメージ説明

ビルドパスのライブラリ
イメージ説明
イメージ説明
![イメージ説明]
(2292ce1b81e37bfa7136e74e953b26cd.png)
イメージ説明

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

m.ts10806

2021/07/23 09:56

>WEB-INF/libにjstl-api-1.2.jarとjstl-impl-1.2.jarを配置しています。 クラスパスへの追加って必要ないですか?
PineApplePen

2021/07/25 07:59

クラスパスについての詳細を追記しました。 足りない情報がありましたら、教えていただけると助かります。
m.ts10806

2021/07/25 08:30

これはEclipseですかね。 クラスパスの設定画面も追加してもらえますか?
PineApplePen

2021/07/25 16:08

Eclipseです。クラスパスの設定画面はビルドパスのライブラリのことであっていますか? 間違っていたら、開き方を教えていただけると助かります。 初心者なのでまだ用語がわからないことが多く、お手数おかけしてすみません。
m.ts10806

2021/07/25 20:19

eclipseのバージョンにより違うかもしれませんが プロジェクト右クリック→プロパティ→ビルド・パス→ライブラリー です。
PineApplePen

2021/07/26 01:56

ありがとうございます。 追加しました。
K_3578

2021/07/27 00:17

web.xmlにエラー出てるみたいですけどどこに出てるんですか?
PineApplePen

2021/07/27 01:53

コードを追加しました。エラーは二行目と、<display-name>,<description>の記述があるところで発生しています。

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

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

JSP

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

Java

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

servlet

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