내용

글번호 1136
작성자 허진경 (나자바바)
작성일 2022-09-20 12:04:20
제목 jstl xml xpath 오류
내용 JSP JSTL XML 태그라이브러리를 사용할 때 아래와 같은 오류가 발생했다. 원인 : JSTL 라이브러리를 톰캣의 라이브러리를 사용할때 발생(x:select에서 xpath를 인식 못함) 해결방법 : 메이븐에서 jar 파일을 직접 내려받아 사용해서 해결함 참고주소 : https://search.maven.org/artifact/javax.servlet/jstl/1.2/jar 오류내용 --------------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
HTTP 상태 500 – 내부 서버 오류
타입 예외 보고
 
메시지 행 [27]에서 [/jstltest3.jsp]을(를) 처리하는 중 예외 발생
 
설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다.
 
예외
 
org.apache.jasper.JasperException: 행 [27]에서 [/jstltest3.jsp]을(를) 처리하는 중 예외 발생
 
24:  
25:
26: <x:parse xml="${booklist}" var="blist">
27: <x:out select="$blist/booklist/book[1]/author" escapexml="true">
28:
29:
 
 
Stacktrace:
  org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:610)
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:489)
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
근본 원인 (root cause)
 
javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/xpath/XPath
  org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:657)
  org.apache.jsp.jstltest3_jsp._jspService(jstltest3_jsp.java:167)
  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
근본 원인 (root cause)
 
java.lang.NoClassDefFoundError: org/apache/xpath/XPath
  java.base/java.lang.Class.getDeclaredFields0(Native Method)
  java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3329)
  java.base/java.lang.Class.getDeclaredFields(Class.java:2403)
  org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:104)
  org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:116)
  org.apache.jsp.jstltest3_jsp._jspx_meth_x_005fout_005f0(jstltest3_jsp.java:256)
  org.apache.jsp.jstltest3_jsp._jspService(jstltest3_jsp.java:151)
  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
근본 원인 (root cause)
 
java.lang.ClassNotFoundException: org.apache.xpath.XPath
  org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1412)
  org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
  java.base/java.lang.Class.getDeclaredFields0(Native Method)
  java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3329)
  java.base/java.lang.Class.getDeclaredFields(Class.java:2403)
  org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:104)
  org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:116)
  org.apache.jsp.jstltest3_jsp._jspx_meth_x_005fout_005f0(jstltest3_jsp.java:256)
  org.apache.jsp.jstltest3_jsp._jspService(jstltest3_jsp.java:151)
  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
비고 근본 원인(root cause)의 풀 스택 트레이스를, 서버 로그들에서 확인할 수 있습니다.
</x:out></x:parse>
첨부파일 jstl-1.2.jar (414,240byte)