If you download the latest version of JBoss w/ Jetty (jboss-3.2.1) it works great. I tried it in 3.2.0 too and just fine. I haven't tried Jetty pre-3.2.0 but I've heard that it used to not completely support JSP 1.2
-Tim -----Original Message----- From: James CE Johnson [mailto:[EMAIL PROTECTED] Sent: Monday, June 02, 2003 11:33 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: Going nuts with JSTL tag lib installation I'm not Karsten but... Some time ago I tried to use standard-examples.war with JBoss 3.0.6 (which uses Jetty) and got very similar (or maybe identical, its been a while) errors. I posted (here I think) and got some info but never a "how to make it work" :-( I believe I saw in jetty in the stack trace in Karsten's original post. Maybe Jetty just doesn't play nice with JSTL? That would be terribly odd... > Hi Karsten, > > I can tell you that I'm using JSTL in exactly the way > you're describing, so it can be done. > > Which servlet/JSP container are you using? I use > Tomcat 4.1.24. I put the all 11 jars that come in the > JSTL lib directory in the WEB-INF/lib directory of my > application, not in the server/lib or common/lib. > > Can you deploy and run the standard-examples.war that > you downloaded with the standard tag library? If I > put that war file in TOMCAT_HOME/webapps directory and > start the server, I can run examples for all the tag > libraries. I KNOW that's deployed properly. > > If you can't run that, you've got a serious problem. > If you can, it says your deployment still isn't > correct, and you'll have a template to compare your > stuff to. Try it and see. - MOD > > > --- Karsten Wutzke <[EMAIL PROTECTED]> wrote: >> I tried the things (both of) you mentioned, however >> it still doesn't >> work, and I'm running out of ideas. >> >> Here's the head of the front controller class I use >> for my index.jsp and >> all other JSP's: >> >> public class MainServletFC extends HttpServlet >> { >> //a date and time format for each log file >> private static final DateFormat df = new >> SimpleDateFormat("yyyy-MM-dd-HH-mm-ss"); >> >> private Logger l; >> private Handler h; >> >> public MainServletFC() >> { >> //create logger for each front controller >> (for debugging) >> //log file name is "fc-" + time of this >> class' instantiation >> h = HandlerFactory.createHandler("fc-" + >> df.format(new Date())); >> l = LoggerFactory.createLogger(this); >> l.addHandler(h); >> >> l.info("Front controller instance >> created!"); >> >> //get class path system property >> String strClassPath = >> System.getProperty("java.class.path"); >> >> l.info("Class path is '" + strClassPath + >> "'."); >> >> //try to instantiate a sample class >> instance from JSTL >> try >> { >> Object o = >> Class.forName("javax.servlet.jsp.jstl.core.Config") >> .newInstance(); >> >> l.info("Successfully created an >> instance of '" + >> o.getClass().getName() + "'."); >> } >> catch( Exception e ) >> { >> l.info( e.toString() ); >> } >> >> } >> >> >> public void doGet(HttpServletRequest req, >> HttpServletResponse res) >> throws ServletException, IOException >> { >> l.info("A new request has arrived!"); >> . >> . >> . >> <do processing> >> >> It never gets that far when having a tag lib >> descriptor in the index.jsp >> file. When outcommenting those, processing runs >> through. >> >> index.jsp: >> >> <%@ taglib prefix="c" >> uri="http://java.sun.com/jstl/core" %> >> >> <html> >> >> <head> >> <title>TV Dieburg Basketball - Home</title> >> <meta http-equiv="content-type" >> content="text/html; >> charset=iso-8859-1"> >> </head> >> >> <body bgcolor="white" text="black" link="blue" >> vlink="navy" >> alink="turquoise"> >> >> <h3> <a href="index.jsp" >Home</a> >> </h3> >> <h3> <a href="MainServletFC?home">Seasons</a> >> </h3> >> >> </body> >> >> </html> >> >> Requesting page >> http://localhost:8080/bluedemons/index.jsp leads to >> the >> following log file: >> >> 01.06.2003 18:23:03 >> de.bluedemons.servlet.MainServletFC <init> >> INFO: Front controller instance created! >> 01.06.2003 18:23:03 >> de.bluedemons.servlet.MainServletFC <init> >> INFO: Class path is >> > 'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'. >> 01.06.2003 18:23:03 >> de.bluedemons.servlet.MainServletFC <init> >> INFO: Successfully created an instance of >> 'javax.servlet.jsp.jstl.core.Config'. >> >> From this, you can see that the sample class can be >> loaded and >> instantiated, so the jstl.jar (and standard.jar) got >> loaded, though >> these jars don't appear in the system property >> "java.class.path". >> >> When commenting out the taglib tag in the jsp, the >> following log file is >> generated: >> >> 01.06.2003 18:35:07 >> de.bluedemons.servlet.MainServletFC <init> >> INFO: Front controller instance created! >> 01.06.2003 18:35:07 >> de.bluedemons.servlet.MainServletFC <init> >> INFO: Class path is >> > 'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'. >> 01.06.2003 18:35:07 >> de.bluedemons.servlet.MainServletFC <init> >> INFO: Successfully created an instance of >> 'javax.servlet.jsp.jstl.core.Config'. >> 01.06.2003 18:35:44 >> de.bluedemons.servlet.MainServletFC doGet >> INFO: A new request has arrived! >> . >> . >> . >> >> This is exactly the same as above, just the extra >> entry tells, that the >> process did not throw an exception. >> >> When forwarding the next request to a JSP page >> referencing the tablib, >> the error from before occurs. So there must be some >> problem for Tomcat >> finding the TLD. The strange thing is that the JSTL >> sample class can be >> found, and the c.tld library descriptor is inside. >> >> I have no idea what else to try. >> >> Out-of-Luck-Karsten >> >> >> Michael Duffy wrote: >> >> > Hi Karsten: >> > >> > I had this problem, too. Shawn Bayern explained >> it >> > perfectly in a note that's in the archive. Since >> it's >> > down right now, I'll do my best. >> > >> > If you look in the standard.jar, you'll see that >> it >> > has the .tlds in its META-INF directory. The >> > classloader will find them in the jar, since you >> have >> > it in your classpath. There's no need to copy >> .tld >> > files anywhere. >> > >> > If you look inside any of the .tlds, you'll see a >> > <uri> tag underneath <taglib> with >> > "http://java.sun.com/jstl/core" as its value. >> This is >> > the string that you should have in your JSPs: >> > >> > <%@ taglib uri="http://java.sun.com/jstl/core" >> > prefix="c" %> >> > >> > I never put <taglib> in my web.xml file, in spite >> of >> > what the books all say. They're already available >> in >> > the standard.jar. >> > >> > When I set things up this way Tomcat has no >> problem >> > finding the standard tag libraries. See if it >> helps >> > you, too. - MOD >> > >> > >> > --- Karsten Wutzke <[EMAIL PROTECTED]> wrote: >> > >> >>Hi all! >> >> >> >>I'm really going nuts with the JSTL >> installation... >> >>I only want to use >> >>the core tag lib. >> >> >> >>I really did everything as described: >> >> >> >>1. Download the current version >> >>jakarta-taglibs-standard-current.zip >> >>from here: >> >>>http://www.apache.org/dist/jakarta/taglibs/standard/ >> >> >> >>2. Unzip anywhere. >> >> >> >>3. Copy the c.tld tag library desciptor to >> >><mywebapp>/web/WEB-INF >> >> >> >>4. Copy the jstl.jar and standard.jar to >> >><mywebapp>/web/WEB-INF/lib >> >> >> >>Please note that I'm using Ant to build my >> >>application war file like this: >> >> >> >><target name="dist" depends="compile,manifest" >> >>description="Create WAR"> >> >> <war destfile="${dist.file}" >> >>webxml="${webxml.file}" >> >>manifest="${manifest.file}"> >> >> <classes dir="${build.dir}"/> >> >> <lib dir="${lib.dir}" includes="*.jar"/> >> >> <fileset dir="${web.dir}" >> >>excludes="WEB-INF/web.xml"/> >> >> </war> >> >> <!--unwar src="${dist.file}" >> >>dest="${dist.dir}"/--> >> >></target> >> >> >> >>This makes sure, that files and dirs in the web >> dir >> >>end up in the root >> >>in the WAR file. I can verify this with the >> >>outcommented unwar task. >> >> >> >>5. Leave away any web.xml entries, since I'm using >> >>Tomcat 4.1.24. >> >> >> >>6. Place <%@ taglib >> >>uri="http://java.sun.com/jstl/core" prefix="c" %> >> >>before the <html> tag in each JSP file wanting to >> >>access JSTL. >> >> >> >>However: IT DOES NOT WORK AT ALL... >> >> >> >>I get the following exception: >> >> >> >> >> >>HTTP Status 500 - >> >> >> >>type Exception report >> >> >> >>message >> >> >> >>description The server encountered an internal >> error >> >>() that prevented >> >>it from fulfilling this request. >> >> >> >>exception >> >> >> >>org.apache.jasper.JasperException: This absolute >> uri >> >> >> >>(http://java.sun.com/jstl/core) cannot be resolved >> >>in either web.xml or >> >>the jar files deployed with this application >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler. java:105) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:430 ) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154 ) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:354) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.Parser.parseDirective(Parser.java:381) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.Parser.parseElements(Parser.java:795) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.Parser.parse(Parser.java:122) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.ParserController.parse(ParserController.java:199) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.ParserController.parse(ParserController.java:153) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.compiler.Compiler.compile(Compiler.java:369) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:4 73) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:1 90) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) >> > >> >> at >> >> >> >> >> > >> > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) >> > >> >> at >> >> >> >> >> > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:256) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:171) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172 ) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) >> > >> >> at >> >> >> >> >> > >> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >> > >> >> at >> >> >> >> >> > >> > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) >> > >> >> at >> >> >> >> >> > >> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594) >> > >> >> at >> >> >> >> >> > >> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:392) >> > >> >> at >> >> >> >> >> > >> > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) >> > >> >> at >> >> >> >> >> > >> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:619) >> > >> >> at java.lang.Thread.run(Thread.java:536) >> >> >> >>Apache Tomcat/4.1.24 >> >> >> >> >> >>Looks like the server can't find the tag >> library... >> >>can't resolve the >> >>URI. This is really bad. I sat all night for >> >>nothing, it's almost 6 AM >> >>and I'm totally stuck on this. >> >> >> >>Where does the parser look for this URI? In the >> >>c.tld? Well, as I said >> >>I'm using Ant, plus the new install, uninstall, >> >>deploy etc. tasks. I >> >>realized that when using install, the c.tld is not >> >>expanded to the >> >>server web app /WEB-INF dir, although it is in the >> >>WAR file. Copying the >> >>c.tld to there manually unfortunately doesn't have >> >>any effect. >> >> >> >>Can anyone help??? I'd really like to use JSTL, >> Java >> >>code in JSP's is >> >>not that great... >> >> >> >>Thanks! >> >>Karsten >> >> >> >>PS: Struts? >> >> >> >> >> >> >> >> >> > >> > --------------------------------------------------------------------- >> > >> >>To unsubscribe, e-mail: >> >>[EMAIL PROTECTED] >> >>For additional commands, e-mail: >> >>[EMAIL PROTECTED] >> >> >> >> >> > >> > >> > __________________________________ >> > Do you Yahoo!? >> > Yahoo! Calendar - Free online calendar with sync >> to Outlook(TM). >> > http://calendar.yahoo.com >> > >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: >> [EMAIL PROTECTED] >> > For additional commands, e-mail: >> [EMAIL PROTECTED] >> > >> > >> >> >> >> > --------------------------------------------------------------------- >> To unsubscribe, e-mail: >> [EMAIL PROTECTED] >> For additional commands, e-mail: >> [EMAIL PROTECTED] >> > > > > __________________________________ > Do you Yahoo!? > Yahoo! Calendar - Free online calendar with sync to Outlook(TM). > http://calendar.yahoo.com > > --------------------------------------------------------------------- To > unsubscribe, e-mail: [EMAIL PROTECTED] For > additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]