前提・実現したいこと
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
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4<!DOCTYPE html> 5<html> 6<head> 7<meta charset="UTF-8"> 8<title>ログイン画面</title> 9</head> 10<body> 11<form action="/login/Login" method="post"> 12IDまたはメールアドレス<input type="text" name="idMail"><br> 13パスワード<input type ="password" name="pass"> 14<input type="submit" value="ログイン"> 15</form> 16<a href ="/login/Create">ユーザー登録</a> 17<c:if test="{errorMsg} != null"> 18 {errorMsg} 19</c:if> 20</body> 21</html>
java
1classpathです。 2<?xml version="1.0" encoding="UTF-8"?> 3<classpath> 4 <classpathentry kind="src" path="src/main/java"/> 5 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-16"> 6 <attributes> 7 <attribute name="module" value="true"/> 8 </attributes> 9 </classpathentry> 10 <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Tomcat10 (Java16)"> 11 <attributes> 12 <attribute name="owner.project.facets" value="jst.web"/> 13 </attributes> 14 </classpathentry> 15 <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> 16 <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> 17 <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/> 18 <classpathentry kind="output" path="build/classes"/> 19</classpath>
java
1Web-xml 2<?xml version="1.0" encoding="UTF-8"?> 3<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"> 4 <display-name>login</display-name> 5 <welcome-file-list> 6 <welcome-file>index.html</welcome-file> 7 <welcome-file>index.htm</welcome-file> 8 <welcome-file>index.jsp</welcome-file> 9 <welcome-file>default.html</welcome-file> 10 <welcome-file>default.htm</welcome-file> 11 <welcome-file>default.jsp</welcome-file> 12 </welcome-file-list> 13 <servlet> 14 <description></description> 15 <display-name>LoginServlet</display-name> 16 <servlet-name>LoginServlet</servlet-name> 17 <servlet-class>test.LoginServlet</servlet-class> 18 </servlet> 19 <servlet-mapping> 20 <servlet-name>LoginServlet</servlet-name> 21 <url-pattern>/LoginServlet</url-pattern> 22 </servlet-mapping> 23 <servlet> 24 <description></description> 25 <display-name>CreateServlet</display-name> 26 <servlet-name>CreateServlet</servlet-name> 27 <servlet-class>Servlet.CreateServlet</servlet-class> 28 </servlet> 29 <servlet-mapping> 30 <servlet-name>CreateServlet</servlet-name> 31 <url-pattern>/CreateServlet</url-pattern> 32 </servlet-mapping> 33 <servlet> 34 <description></description> 35 <display-name>LogoutServlet</display-name> 36 <servlet-name>LogoutServlet</servlet-name> 37 <servlet-class>servlet.LogoutServlet</servlet-class> 38 </servlet> 39 <servlet-mapping> 40 <servlet-name>LogoutServlet</servlet-name> 41 <url-pattern>/LogoutServlet</url-pattern> 42 </servlet-mapping> 43 <servlet> 44 <description></description> 45 <display-name>ChangeServlet</display-name> 46 <servlet-name>ChangeServlet</servlet-name> 47 <servlet-class>servlet.ChangeServlet</servlet-class> 48 </servlet> 49 <servlet-mapping> 50 <servlet-name>ChangeServlet</servlet-name> 51 <url-pattern>/ChangeServlet</url-pattern> 52 </servlet-mapping> 53 <servlet> 54 <description></description> 55 <display-name>PassChangeServlet</display-name> 56 <servlet-name>PassChangeServlet</servlet-name> 57 <servlet-class>servlet.PassChangeServlet</servlet-class> 58 </servlet> 59 <servlet-mapping> 60 <servlet-name>PassChangeServlet</servlet-name> 61 <url-pattern>/PassChangeServlet</url-pattern> 62 </servlet-mapping> 63 <servlet> 64 <description></description> 65 <display-name>passChangeServlet</display-name> 66 <servlet-name>passChangeServlet</servlet-name> 67 <servlet-class>servlet.passChangeServlet</servlet-class> 68 </servlet> 69 <servlet-mapping> 70 <servlet-name>passChangeServlet</servlet-name> 71 <url-pattern>/passChangeServlet</url-pattern> 72 </servlet-mapping> 73 <servlet> 74 <description></description> 75 <display-name>DeleteServlet</display-name> 76 <servlet-name>DeleteServlet</servlet-name> 77 <servlet-class>servlet.DeleteServlet</servlet-class> 78 </servlet> 79 <servlet-mapping> 80 <servlet-name>DeleteServlet</servlet-name> 81 <url-pattern>/DeleteServlet</url-pattern> 82 </servlet-mapping> 83</web-app>
試したこと
jspのタグライブラリの指定のコードとtaglibディレクティブを削除した際にはエラーが起こりませんでした。
jspで直接リクエストしたときもエラーが発生しました。
補足情報(FW/ツールのバージョンなど)
Tomacat10_Java16
javaEE
WEB-INF/libにjstl-api-1.2.jarとjstl-impl-1.2.jarを配置しています。
回答3件
あなたの回答
tips
プレビュー