Har en Jsp fil och en servlet som jag gjort med hjälp av min nya bok, tyvärr verkar det inte fungera och jag vet inte hur jag ska lyckas. Är ny inom webbutveckling JSP och har märkt att det är en del trixande, snälla hjälp mig komma vidare :) Hade samma variant av denna mycket enkla applikation tidigare men då var allt i en JSP-fil och då fungerade det.
Felmeddelandet när jag ska testa sidan:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP
Generated servlet error:
jspbook.util.JspSuper cannot be resolved or is not a valid superclass
Generated servlet error:
The method getPageContext(Servlet, ServletRequest, ServletResponse, String, boolean, int, boolean) in the type JspFactory is not applicable for the arguments (customers_jsp, HttpServletRequest, HttpServletResponse, String, boolean, int, boolean)
Generated servlet error:
jspbook.util.JspSuper cannot be resolved or is not a valid superclass
...
JspSuper.java ligger i katalogen:
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF\classes\jspbook\util
Lägg in JspSuper.class dit istället för JspSuper.java
Nej det hjälpte inte, jag får fortfarande samma fel, men tack för svaret. Ibland när jag trycker på reload visas den gamla sidan, den som fungerade, dvs som bara bestod av jsp fil.
To compile the class, make sure you have j2ee.jar, or servlet-api.jar and jsp-api.jar in your classpath. This class is placed in the normal directory hierarchy under web-inf\classes. In other words, you place it in your server's classpath
Jag fattar inte? Vad ska jag göra med jar-filerna? servlet klassen jag gjorde för att testa skrev jag i en editor och sparade som .java, jag antar att jag inte får en .class fil förrän jag har lyckats komplimera?
jme skrev:
Har du skrivit package jspbook.util i klassen JspSuper?
Japp det har jag gjort, men vilket program är lättast att skriva servlets i? I netbeans får jag bara massa felmeddelanden, jag gjorde min i en enklare editor
jme skrev:
<%@ page extends="jspbook.util.JspSuper" %>
pröva med:
<%@ page import="jspbook.util.JspSuper" %>
Testade det du skrev men det hjälpte inte heller. Enligt boken ska det fungera med extends, dvs att JSP-sidan ärver från min servlet.
Jo, såg att extends verkligen finns: googlade lite :)
Filerna j2ee.jar och jsp-api.jar behövs. De ligger väl i TOMCAT_ROOT/common/lib?
Kör du med en vanlig texteditor som t ex UltraEdit och TextPad så måste du ange sökvägen till dessa klasser. Detta gör du genomatt ange sökvägen i CLASSPATH.
Kör du med NetBeans så kan du säkert ange sökvägen genom programmet. Kör själv med Eclipse så jag kan inte säga rakt av.
lägg till c:\TOMCAT_PATH\common\lib\j2ee.jar och c:\TOMCAT_PATH\common\lib\jsp-api.jar i CLASSPATH
Kontrollera om du måste använda j2ee.jar eller servlet-api.jar.
Med andra ord, kolla vilken av dem du har i /common/lib. :)
I mitt första inlägg ligger mina filer, skulle du vilja testa? 2 stycken filer totalt. Tack för ditt engagemang, hoppas jag får det att fungera, känns tungt just nu.
edit
Så här ser min classpath ut (enviroment variables\system variables\):
C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib
Grymt bussigt :birp Googlar lite, kanske någon annans som haft ett liknande fel.
Hur fungerar det här med .class filen, jag har ju ingen, brukar skapas per automatik när jag kör i exempelvis netbeans. Nu har jag gjort den i JEdit, har bara .java, ska det kunna fungera ändå?
Jag kopierade visserligen filerna från bokens hemsida för att testa och där fanns .class filen men det spelade ingen roll, samma fel ändå dvs.
JSP Parsing Error:The absolute uri: http://java.sun.com/jstl/core_rt cannot be resolved in either web.xml or the jar files deployed with this application
Hmm, nu får jag samma fel på andra filer som fungerat bra innan.
Så här ser min classpath ut (enviroment variables\system variables\):
C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib
Pröva med att inkludera kompletta sökvägen till servlet-api-jar och jsp-api.jar i CLASSPATH. Jag har för mig att jag har haft problem då jag inte kört med kompletta sökvägar.
Jag vet faktiskt inte varför.
Jag har själv .; i början av CLASSPATH. Det berättar för kompileraren att den skall leta efter klasser i current working directory.
Sedan har jag också C:\j2sdk1.4.2_06\lib i CLASSPATH.
Pröva att starta om Tomcat.
Får du samma fel igen?
Kontrollera att du har inkluderat sökvägarna till alla nödvändiga jar-filer i Netbeans.
Hmm, helst kör jag det inte netbeans, för den vill inte riktigt göra som jag, går det att göra samma JEdit? När jag komplimerar JspSuper.java där får jag fel i stil med:
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\jspBook\WEB-INF\classes\jspbook\util\JspSuper.java:3: package javax.servlet does not exist
import javax.servlet.ServletConfig;
jme stort tack för ditt engagemang, med hjälp av lite hints lyckades jag få det att fungera! Hurdå?
Jag importerade min befintliga katalogstruktur som jag skapat i utforskaren till netbeanas. Skapade ett nytt projekt och en web.xml, kopierade in nödvändiga .jar filer för JSTL-taggar, tryckte på lite knappar, build och allt vad det var och nu fungerar det :)