Schwere: Parse-Fehler in Anwendung web.xml
Ich bin versucht, mir beibringen, Java, Java-EE und Tomcat ziemlich viel auf einmal.
(Erfahrene C/Obj-C-dev)
War ich nach einem tutorial auf YouTube an: http://www.youtube.com/watch?v=bd50C6XUnFw
Läuft bei mir:
- Apache Tomcat/7.0.47
- JVM-1.7.0_45-b18
- Mac OS X 10.8.5 x86_64
Die Fehler, die ich bin zu sehen ist:
SEVERE: Parse error in application web.xml file at jndi:/localhost/FirstServlet/WEB-INF/web.xml
org.xml.sax.SAXParseException; systemId: jndi:/localhost/FirstServlet/WEB-INF/web.xml; lineNumber: 8; columnNumber: 19; Error at (8, 19) : Can't convert argument: null
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2687)
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2719)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1054)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
Wie im video gezeigt die web.xml (Pfad /Library/Tomcat/webapps/firstservlet/WEB-INF
):
<web-app>
<servlet>
<servlet-name>My FirstServlet</servlet-name>
<servlet-class>FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<url-pattern>/myfirstservlet</url-pattern>
</servlet-mapping>
</web-app>
Den Fehler zeigt an, dass das Problem ein null-es ist das schlagen nach der </servlet-mapping>
Also meine einzige Vermutung ist, dass das tutorial auf YouTube fehlt was und ich muss fehlt ein argument. Vorschläge nachdrücklich begrüßt.
Hast du kompilieren der servlet mit dem servlet jar?
InformationsquelleAutor Lord Andrei | 2013-12-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, du bist fehlt
<servlet-name>...</servlet-name>
im<servlet-mapping>
Abschnitt:Haben Sie einen Blick auf basic web.xml Datei
InformationsquelleAutor PM 77-1
Zwischen dem element " servlet-mapping-element servlet-name fehlt
Den servlet-name ist eine Art von id, die erstellt eine Beziehung zwischen url und das guven-Servlet-Klasse.
InformationsquelleAutor Diversity
Verlassen Sie sich nicht auf ein einziges tutorial als Ihre alleinige Quelle von Informationen ...
Diese Dinge sind angegeben. Wenn Sie Zweifel haben über die Richtigkeit einer "Sekundär-Quelle", wie eine Dubiose video-tutorial, Blick auf die Spezifikation.
Beim Lesen einer Spezifikation ist zu schwierig für Sie sind1, dann suchen Sie nach einem zuverlässigen tutorial; z.B. für Java-bezogene Dinge, für einen Blick geschrieben von Oracle.
1 - Menschen, die label-Spezifikation "stumpf" sind wahrscheinlich fehlen die wirklichen Punkt der Spezifikation. Eine gute Spezifikation geschrieben ist, mit Genauigkeit, Präzision und Vollständigkeit als seine primären Ziele. Eine (so genannte) Spezifikation, liest sich wie ein tutorial ist wahrscheinlich nicht die Erfüllung seiner primären Ziele sind richtig.
In diesem Fall, die Servlet-spec 3.0 (Abschnitt 14.4.11) macht deutlich, dass Sie eine
servlet-name
element zu sagen, was Servlet die matching-Anforderungen zugeordnet werden.(Sie könnte wahrscheinlich finden Sie die gleichen Informationen in anderen tutorials, etc ...)
Google ist oft eine gute Möglichkeit zu finden, eine Spezifikation. In diesem Fall "servlet-Spezifikation 3.0" fand es (2. Treffer) und "servlet-Spezifikation" (ohne version), fanden andere. In diesem speziellen Fall, die Antwort sollte die gleiche für alle Versionen der spec.
+1. btw die offizielle Java-EE-Dokumentation - Seite einen Abschnitt Spezifikationen. Die Spezifikation Seiten haben die Liste ALLER die Spezifikationen, die Bestandteil der Java-EE mit dem entsprechenden download-links. Auch die OP kann es nützlich finden, nehmen Sie einen Blick auf diese Antwort Die Java-EE-Ansatz ist am besten für mich.
InformationsquelleAutor Stephen C