Kokoonpano:
Tomcat 5.5.15
J2SE Development Kit 5.0
Tomcatin kanssa olis seuraavanlainen ongelma.
Olen asentanut tomcatin ja se avaakin yksinkertaiset jsp -sivut mutta servletit eivät toimi, enkä myöskään saa luokkia käyttöön jsp sivulla eli tomcatti ei tule toimeen java- luokkien kanssa.
Java luokat ja servletit sijaisevat kansiossa:
\tomacat 5.5\webapps\Omat\WEB-INF\Classes
ja jsp- sivut ovat kansiossa
\tomacat 5.5\webapps\Omat\
Lisäksi olen määrittänyt seuraavat CLASSPATHIT.
C:\Tomcat 5.5\common\lib\servler-api.jar;C:\Tomcat 5.5\common\lib\jsp-api.jar;.;C:\Tomcat 5.5\webapps\Omat\WEB-INF\Classes
Itse jsp- sivun syntaksi pitäisi olla oikein joten epäilen ongelman olevan tomcatin asetuksissa.
Tomcat 5.5.15
J2SE Development Kit 5.0
Tomcatin kanssa olis seuraavanlainen ongelma.
Olen asentanut tomcatin ja se avaakin yksinkertaiset jsp -sivut mutta servletit eivät toimi, enkä myöskään saa luokkia käyttöön jsp sivulla eli tomcatti ei tule toimeen java- luokkien kanssa.
Java luokat ja servletit sijaisevat kansiossa:
\tomacat 5.5\webapps\Omat\WEB-INF\Classes
ja jsp- sivut ovat kansiossa
\tomacat 5.5\webapps\Omat\
Lisäksi olen määrittänyt seuraavat CLASSPATHIT.
C:\Tomcat 5.5\common\lib\servler-api.jar;C:\Tomcat 5.5\common\lib\jsp-api.jar;.;C:\Tomcat 5.5\webapps\Omat\WEB-INF\Classes
Itse jsp- sivun syntaksi pitäisi olla oikein joten epäilen ongelman olevan tomcatin asetuksissa.
Vastaukset 7
Vanhimmat
mmon\lib\jsp-api.jar;.;C:\Tomcat 5.5\
Ota tuo piste pois välistä ja ylimääräinen puolipiste. Tomcatin luokkia ei tarvitse laittaa
pathiin.
Ja olet varmaan importannut serveletit ja luokat
tyliin ?
Asetukset -> $TOMACT_HOME\conf\server.xml
LIsää saittisi sinne ja laita samalla reload="true"
Korjasin tuon Classpathin ohjeittesi mukaan ja lisäsin seuraavan koodin server.xml tiedostoon....
================================================
================================================
Importin olen tehnyt jsp-sivulla seuraavasti:
jossa Base siis package ja Tietokanta luokka.
Tuosta server.xml:n konffaamisesta en ole yhtään varma että miten se pitää tehdä.
Selain antaa seuraavanlaisen herjan:
org.apache.jasper.JasperException: /Aloitus.jsp(2,3) Invalid directive
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
org.apache.jasper.JasperException: /Aloitus.jsp(2,3) Invalid directive
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:86)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:515)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.jasper.JasperException: /Aloitus.jsp(2,3) Invalid directive
Katsoppa Aloitus.jsp sivuasi. Siellä on virhe tuon ilmoituksen mukaan... Laita se Aloitus.jsp tänne, jos et näe itse vikaa.
Virheilmoitusten lukutaito on tärkeä asia. :)
Kiitoksia vastauksesta =).
JSP- sivun koodi näyttää seuraavalta jossa ei siis toteutettu muuta kuin yritetty ottaa käyttöön packagen Base sisältämä luokka Tietokanta. Tarkoituksena kutsua Tietokanta luokassa olevia metodeja kunhan saisi ensin luokan esiteltyä...
Otsikko
ekasivu
>
Pitäsi olla
> \tomacat 5.5\webapps\Omat\WEB-INF\Classes
Tarkistappa, että tuon hakemiston nimi "classes" ei "Classes", voipi vaikuttaa asiaan.
> CLASSPATH: C:\Tomcat
> 5.5\webapps\Omat\WEB-INF\Classes
Web-applikaation luokkia ei tarvitse (eikä pidäkkään) laittaa Classpathiin. Tomcat (ym. standardeja noudattavat containerit) osaavat hakea tarvittavat luokat /WEB-INF/classes-nimisestä hakemistosta web-applikaation juurihakemiston alta.
Kai sulla on oikeanlainen pakettirakenne siellä classes-hakemistossa? (siis /WEB-INF/classes/Base/Tietokanta. BTW, javassa pakettien nimet on tapana kirjoittaa pienellä alkukirjaimella, näin pilkunnussintana sanottakoon..)
Vaihdoin tuon Classes kansion nimen joka on nyt siis pienellä kirjoitettu classes ja johan rupesi luokat löytymään...
Kiitoksia paljon avusta =)