У меня есть страница JSP, я пытаюсь загрузить данные из некоторого XML-файла, когда я запускаю страницу JSP я получаю следующее сообщение об ошибке:Исключение обработки JSP страница - DocumentBuilder.parse
java.io.IOException: An exception occurred processing JSP page /guest/news.jsp at line 7
4: <%
5: DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
6: DocumentBuilder db = dbf.newDocumentBuilder();
7: Document doc = db.parse(application.getRealPath("/news.xml"));
8: NodeList Title = doc.getElementsByTagName("Title");
9: NodeList Date = doc.getElementsByTagName("Date");
10: NodeList Text = doc.getElementsByTagName("Text");
и стек след:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.net.MalformedURLException: unknown protocol: c
java.net.URL.<init>(Unknown Source)
java.net.URL.<init>(Unknown Source)
java.net.URL.<init>(Unknown Source)
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
org.apache.jsp.guest.news_jsp._jspService(news_jsp.java:120)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Я не могу понять эту ошибку и почему она происходит.
Вот мой код JSP и XML-файла:
JSP -
<%@ page contentType="text/html; charset=utf-8" language="java"
import="javax.xml.parsers.DocumentBuilderFactory,javax.xml.parsers.DocumentBuilder,org.w3c.dom.*"
errorPage=""%>
<%
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(application.getRealPath("/news.xml"));
NodeList Title = doc.getElementsByTagName("Title");
NodeList Date = doc.getElementsByTagName("Date");
NodeList Text = doc.getElementsByTagName("Text");
NodeList Picture = doc.getElementsByTagName("Picture");
NodeList Journalist = doc.getElementsByTagName("Journalist");
%>
<html>
<head>
<title>חדשות</title>
<style type="text/css">
td {
align: right;
direction: rtl;
}
</style>
</head>
<body>
<br />
<h1 align="center" style="color: red">חדשות</h1>
<marquee behavior="scroll" height="400" width="80%" direction="UP">
<table width="70%" align="center">
<%
int i;
for (i = 0; i <= Title.getLength() - 1; i++) {
%>
<tr>
<td
style="border-style: double; border-color: aqua; border-right-color: white;">
<h6><%=Title.item(i).getFirstChild().getNodeValue()%></h6> <%=Text.item(i).getFirstChild().getNodeValue()%>
<h6 style="color: red"><%=Date.item(i).getFirstChild().getNodeValue()%></h6>
<h6 style="color: blue"><%=Journalist.item(i).getFirstChild().getNodeValue()%></h6>
</td>
<td style="border-style: double; border-color: aqua;"><img
src='<%="../img/" + Picture.item(i).getFirstChild().getNodeValue()%>'
width="200" /></td>
</tr>
<%
}
%>
</table>
</marquee>
</body>
</html>
XML -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<xmldata>
<message>
<Title>תלמידים שובתים בחמש רשויות: "חייבים להתייחס אלינו"</Title>
<Date>08.05.16</Date>
<Text>במסגרת "השביתה הנודדת" שעליה הכריזה מועצת התלמידים לא הגיעו
התיכוניסטים לבתי ספר באופקים, יקנעם, ראש העין, רמת גן ודיר אל-אסד.
מחר יושבתו חמש רשויות אחרות. "אי-אפשר להתעלם מהפגיעה בנו", הם אומרים</Text>
<Picture>2.jpg</Picture>
<Journalist>איתי בלומנטל</Journalist>
</message>
<message>
<Title>מלא אך שפוי: התוכנית להורדת מחירי הלחם המלא </Title>
<Date>03/05/2016</Date>
<Text>משרד הבריאות נחוש לפקח על מחירי הלחם המלא כדי שכולנו נוכל להנות
מהייתרונות של לחם בריא, כי מסתבר שלייצר אותו לא עולה יותר מלייצר את
הלחם הרגיל.
</Text>
<Picture>3.jpg</Picture>
<Journalist>נגה ניר נאמן</Journalist>
</message>
</xmldata>
Я не могу понять, даже ошибка и как ее решить.
У меня этот файл. Я добавил код здесь. – DAVIDBALAS1
Если у вас есть файл, вы можете получить к нему доступ с относительным путем вместо метода getRealPath(). –
Можете ли вы объяснить, как? Путь: C: \ Users \ dodob \ Desktop \ לימודים \ מחשבים \ EEworkspacee \ Final \ WebContent \ news.xml Также есть ли проблемы с еврейскими буквами? Когда я добавил изображение, его не было. – DAVIDBALAS1