Toon posts:

[JSP] Applicatie vindt class niet

Pagina: 1
Acties:
  • 495 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo iedereen.

Ik heb lokaal een jsp applicatie ontwikkeld gebruik makend van de resin webserver. Nu heb ik een hosting account genomen met jsp ondersteuning. Wanneer ik mijn site upload kan hij de java class die ik gemaakt heb niet vinden.

Ik heb een jsp file gemaakt waar volgende lijn code in staat:
code:
1
Style s = new Style(new File(application.getRealPath("xml/config.xml")));


Ik het een bestand Style.java in mijn WEB-INF/classes folder staan. In mijn java file staat momenteel het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
public class Style {
    

    private File file;
    private String style, titel, mail, voetnoot;
    
    public Style(File f) {
        
        this.file = f;
    
    }
}


Wanneer ik mijn jsp file probeer te parsen krijg ik volgende foutmelding:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
type Exception report

message Internal Server Error

description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 2 in the jsp file: /portfolio/web/buynsell/index.jsp

Generated servlet error:
    [javac] Compiling 1 source file

/usr/local/psa/home/vhosts/***/tomcat/work/Standalone/localhost/_/portfolio/web/buynsell/index_jsp.java:48: cannot resolve symbol
symbol  : class Style 
location: class org.apache.jsp.index_jsp
    Style s = new Style(new File(application.getRealPath("xml/config.xml"))); 
        ^



An error occurred at line: 2 in the jsp file: /portfolio/web/buynsell/index.jsp

Generated servlet error:
/usr/local/psa/home/vhosts/***/tomcat/work/Standalone/localhost/_/portfolio/web/buynsell/index_jsp.java:48: cannot resolve symbol
symbol  : class Style 
location: class org.apache.jsp.index_jsp
    Style s = new Style(new File(application.getRealPath("xml/config.xml"))); 
                      ^
2 errors



Volgens de site van tomcat staat mijn jsp file in de juiste dir http://tomcat.apache.org/...oc/appdev/deployment.html


Ik zie waarschijnlijk iets dom over het hoofd maar ik vind niet wat...

  • prototype
  • Registratie: Juni 2001
  • Niet online

prototype

Cheer Bear

Volgens mij moet je eerst die java bestand (Style.java) compilen, en dan pas in je classes directory zetten ;)

[edit]
Hmmmm, gezien je error message heb je het voor elkaar gekregen om java files zelf te laten compilen door tomcat? Hoe heb je dat voor elkaar gekregen? Of heeft het bericht betrekking op index_jsp.java :) Sorry, 'k ben zelf ook vrij nieuw met JSP/Servlets :)

[ Voor 65% gewijzigd door prototype op 29-04-2006 17:03 ]


Verwijderd

Topicstarter
Als je een .java file in de classes folder zet gaat tomcat het zelf proberen te compileren bij mijn weten...

Ik heb het zowel getest met een Style.class file en een Style.java file dus daar kan het niet aan liggen.

  • ripperke
  • Registratie: Augustus 2003
  • Laatst online: 15-10-2025

ripperke

w00t!

Je moet je class in een package zetten.
in de map "classes" maak je een map "toet"

en dan in java:

code:
1
2
package toet;
class er {


aanroepen uit JSP met "toet.er"

If TCP/IP handshaking was less formal, perhaps SYN/ACK would be YO/WASSUP


Verwijderd

Topicstarter
is het nodig om een package te maken? Kan je niet gewoon de klasse aanroepen? Met de resin webserver kon ik gewoon de klasse aanroepen zonder dat het in een package zat, ik veronderstel dat dit ook mogelijk moet zijn met tomcat?

  • prototype
  • Registratie: Juni 2001
  • Niet online

prototype

Cheer Bear

Verwijderd schreef op zaterdag 29 april 2006 @ 18:08:
is het nodig om een package te maken? Kan je niet gewoon de klasse aanroepen? Met de resin webserver kon ik gewoon de klasse aanroepen zonder dat het in een package zat, ik veronderstel dat dit ook mogelijk moet zijn met tomcat?
Erm, zodra je het in je classes dir zet zit het toch al in een package? De default package wel te verstaan.

  • ripperke
  • Registratie: Augustus 2003
  • Laatst online: 15-10-2025

ripperke

w00t!

Verwijderd schreef op zaterdag 29 april 2006 @ 18:08:
is het nodig om een package te maken? Kan je niet gewoon de klasse aanroepen? Met de resin webserver kon ik gewoon de klasse aanroepen zonder dat het in een package zat, ik veronderstel dat dit ook mogelijk moet zijn met tomcat?
Ik meen het mij toch goed te herinneren dat dat echt moest ja :)
Probeer het gewoon even uit? Kost je 1 minuut werk ;)

If TCP/IP handshaking was less formal, perhaps SYN/ACK would be YO/WASSUP


  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
ripperke schreef op zaterdag 29 april 2006 @ 18:04:
Je moet je class in een package zetten.
[...]
Uit de Tomcat documentation:
src/ - Java source files that generate the servlets, beans, and other Java classes that are unique to your application. If your source code is organized in packages (highly recommended), the package hierarchy should be reflected as a directory structure underneath this directory.
Met andere woorden, het wordt aangeraden maar is volgens de tekst niet verplicht (hoewel dit niet expliciet vermeld wordt).

If you can't beat them, try harder


Verwijderd

Verwijderd schreef op zaterdag 29 april 2006 @ 16:28:
Wanneer ik mijn jsp file probeer te parsen krijg ik volgende foutmelding:
Even mierenneuken, maar parsen is geen synoniem voor 'iets doen'. Wat je hier krijgt is een compile error. Parsen is welliswaar een onderdeel van het compilatie process, maar daar heb jij als gebruiker nix mee te maken. Als je het toch wilt weten, deze foutmelding treed op in de linking fase van de compiler en dat is een goed eind na de parse fase.

Verwijderd

dingstje schreef op zaterdag 29 april 2006 @ 19:29:
[...]
Met andere woorden, het wordt aangeraden maar is volgens de tekst niet verplicht (hoewel dit niet expliciet vermeld wordt).
Als je Javabeans gebruikt (usebean tag) dan is een package wel degelijk verplicht. TS probeerd nu echter scriptlets in een JSP te zetten, en behalve voor wat testen of proto-typing is dat eigenlijk een zwaar deprecated practice in JSP. (gok: TS komt vanaf PHP ;) )
Pagina: 1