Toon posts:

[JSP] Probleem met deployen met ANT

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik moet voor school een opdracht maken: een soort bezoekersteller

Ik had dit gedaan en het werkte goed, maar ik had alles in de /webapp/ROOT/WEB-INF/classes geplaats van mijn tomcat server, en dit mocht niet want het moest een war file worden.

Nu de juiste structuur aangemaakt voor het gebruik van ANT
[code]
.:
ant.sh
build
build.properties
build.xml
build.xml~
catalina.sh
lib
META-INF
src
structuur.txt

./build:
classes
dist

./build/classes:
SaxStat.class

./build/dist:
saxstats.war

./lib:
catalina-ant.jar
catalina-root.jar
jstl.jar
servlet.jar
standard.jar

./META-INF:
MANIFEST.MF

./src:
api
web

./src/api:
saxstat

./src/api/saxstat:
SaxStat.java

./src/web:
image.gif
index.jsp
index.jsp~
statsstyle.css
test2.html
test3.html
test.html
test.html~
topimage.jpg
topimagepixel.jpg
web.xml
[code]

Als ik nu de het met ANT deploy krijg ik geen errors meer en ik kan de bestanden ook gewoon goed oproepen vanuit mijn browser. Maar met de indexJSP krijg ik een error zo snel als ik deze aanroep.

De volgende error verschijnt
[code]
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:94)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:404)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:359)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:190)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:458)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:523)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1577)
org.apache.jasper.compiler.Parser.parse(Parser.java:171)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:253)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:137)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:237)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:456)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[code]

Het heeft dus te maken met die C core

na een beetje prutsen kwam ik er achter dat ik een error kreeg als ik devolgende lijn in mijn index.jsp heb staan.
<%@ taglib prefix='c' uri='http://java.sun.com/jstl/core' %>

Zonder deze regel krijg ik geen error maar ook geen waarden van mijn class.

Ik weet btw niet cker of ik mijn class goed aanroep, in de test.html (dat is pagina die die moet tellen) staat de volgende tag om te tellen.

[img]"/SaxStat"[/img]

Maar ik betwijvel of deze goed is.

Weet iemand waar nou het probleem zit ?????

Als je nog vragen hebt over mijn uitleg hoor ik het graag !

Verwijderd

Die URI wordt geresolved in de web.xml of de JAR bestanden. Vindt tie hem daar niet dan doet tie niks.

Ik weet niet welke ontwikkelomgeving je gebruikt. Ik gebruik (door school vorgeschreven) Netbeans. Daarbij moet ik vanaf het intranet op school een zip downloaden met JAR bestanden. Ook zit daar een aparte web.xml bij. Zonder deze procedure krijg ik ook die fout mbt. de URI.

Zelf weet ik er ook niet zoveel vanaf. Ik ben pas enkele dagen bezig...

Succes

  • Ralluph
  • Registratie: Maart 2001
  • Laatst online: 20-05 22:52

Ralluph

Aus der Reihe...

Die error heeft niets met je ANT-build te maken. Wat er gebeurt is dat Jasper (de JSP-compiler die o.a. in Tomcat wordt gebruikt) de URI van je taglig niet kan resolven.
In de JSP syntax reference staat dat wanneer je hiervoor een URL gebruikt (wat jij doet bij http://java.sun.com/jstl/core) je in web.xml een correcte mapping naar een lokale resource moet opgeven. Ik zou dan ook beginnen om eens te kijken naar je taglib-tags in dit bestand.