Hi!
My platform is windows xp 32 bit, and right now I'm using Tomcat 7.0.2
I found a strange bug, using dom objects in JSP. Since Tomcat 6 and
higher JSP page compiler throws Exception: The method
getElementsByTagNameNS(String, String) is undefined for the type
Element. How can it be? Method getElementsByTagNameNS must be define and
it is define in Xerces Parser (last version), for example. I can use
method getElementsByTagName, instead, but problem stay... plenty of code
need to rewrite... can you help?
Log is in attachment. Source code of test JPS-page also attached.
________
Ryazantsev Anton
user id: [antonio3]
session id: [FD8291B6246A76C44C70B623825C329D]
time: 2010.08.24 11:46:24
Exception cause URI:
/brok/test.jsp
Root cause:
n/a
Cause:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 32 in the jsp file: /test.jsp
The method getElementsByTagNameNS(String, String) is undefined for the type
Element
29: catch (Exception e) {
30: e.printStackTrace();
31: }
32: NodeList nl = Message.getDocumentElement().getElementsByTagNameNS("*",
"qwerty");
33: %>
34: </body>
35: </html>
Stacktrace:
at
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:443)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:362)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at filters.AccessDenied.doFilter(AccessDenied.java:45)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:170)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:281)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1568)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
<%@ page import="org.w3c.dom.Document" %>
<%@ page import="javax.xml.parsers.DocumentBuilderFactory" %>
<%@ page import="javax.xml.parsers.DocumentBuilder" %>
<%@ page import="org.xml.sax.InputSource" %>
<%@ page import="java.io.StringReader" %>
<%@ page import="org.w3c.dom.NodeList" %>
<%--
Created by IntelliJ IDEA.
User: aryazantsev
Date: 24.08.2010
Time: 11:32:31
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Simple jsp page</title></head>
<body>
<%
Document Message = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance ();
dbf.setNamespaceAware ( true );
dbf.setValidating ( false );
try
{
DocumentBuilder db = dbf.newDocumentBuilder ();
InputSource is= new InputSource(new StringReader("<a></a>"));
Message=db.parse(is);
Message.getDocumentElement().normalize();
}
catch (Exception e) {
e.printStackTrace();
}
NodeList nl = Message.getDocumentElement().getElementsByTagNameNS("*",
"qwerty");
%>
</body>
</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]