PDA

View Full Version : Tomcat: aiuto configurazione


CyberTop
12-09-2006, 15:47
Ragazzi qualcuno di voi sa come configurare tomcat...mi spiego meglio, preaticamente il server in realtà funziona infatti le jsp si aprono alla perfezione, l'unico problema e che quando importo una classe nella jsp tomcat non riesce a compilare la servelt poichè non trova la classe...il problema e che evidentemente le classi vanno messe in qualche altra cartella di tomcat,( io le ho messe in una sottocartella in cui ho le jsp), o evidentemente va settato il classpath o qualcosa di simile....

Grazie anticipatamente a tutti

ally
12-09-2006, 17:49
...non ho Tomcat sotto mano...ma le librerie esteren vanno nelle lib della cartella commons...

...ciao...

CyberTop
12-09-2006, 18:44
...non ho Tomcat sotto mano...ma le librerie esteren vanno nelle lib della cartella commons...

...ciao...
ho appena provato ma non va..da sempre il solito errore:
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 3 in the jsp file: /Progetti/Compagnia Aerea/jsp/verificaNuovoUtente.jsp
Generated servlet error:
Utente cannot be resolved


non trova sto maledetto package che ho fatto...


e da un mese che ci sbatto ma niete....datemi qualche consiglio....

ally
12-09-2006, 19:38
...sicuro che non sia un errore di dichiarazione?...potresti postare la pagina?...

...ciao...

CyberTop
13-09-2006, 13:54
...sicuro che non sia un errore di dichiarazione?...potresti postare la pagina?...

...ciao...
questo è l'errore:
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: Unable to compile class for JSP

An error occurred at line: 3 in the jsp file: /Progetti/Compagnia Aerea/jsp/verificaNuovoUtente.jsp
Generated servlet error:
Utente cannot be resolved

An error occurred at line: 3 in the jsp file: /Progetti/Compagnia Aerea/jsp/verificaNuovoUtente.jsp
Generated servlet error:
Utente cannot be resolved


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: Unable to compile class for JSP

An error occurred at line: 3 in the jsp file: /Progetti/Compagnia Aerea/jsp/verificaNuovoUtente.jsp
Generated servlet error:
Utente cannot be resolved

An error occurred at line: 3 in the jsp file: /Progetti/Compagnia Aerea/jsp/verificaNuovoUtente.jsp
Generated servlet error:
Utente cannot be resolved


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
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)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.17


la pagina che da l'errore è questa:

<%@ page import="java.net.*,java.sql.*,compagniaaerea.*" %>

<%
String username = (String)request.getParameter("id");
String pwd = (String)request.getParameter("pwd");
String nome = (String)request.getParameter("nome");
String cognome = (String)request.getParameter("cognome");
String Via = (String)request.getParameter("indirizzo");
String citta = (String)request.getParameter("citta");
String provincia = (String)request.getParameter("provincia");
String telefono = (String) request.getParameter("telefono");
String ncc = (String)request.getParameter("ncc");
String scc = (String)request.getParameter("scc");
String email = (String)request.getParameter("email");



if(Utente.salvadati(nome,cognome,Via,citta,provincia,telefono,email,scc,ncc,username,pwd)){
session.setAttribute("login",Utente.verificalogin(username,pwd));
out.print("Iscritto correttamente !!!");
out.print("<meta http-equiv=\"Refresh\" content=\"1; url=nuovoutente.jsp\">");
}
else{
out.print("Errore !");
out.print("<meta http-equiv=\"Refresh\" content=\"1; url=index.jsp\">");
}
%>

ho letto più volte ma mi sembra tutto giusto...
vedete voi...

MA non devo settare niente path classpath ecc...???

GRAZIE

ally
13-09-2006, 14:05
...non mi sembra tu abbia importato l'oggetto Utente...e non mi sembra nemmeno tu l'abbia inizializzato o preso in qualche maniera dalla sessione...è contenuto in compagnia aerea?...prova a specificare l'import del singolo oggetto in maniera esatta...

...ciao...

kingv
13-09-2006, 16:11
le classi compilate (di servlet e classi di supporto) mettile in:
$CATALINA_HOME/webapps/nomewebapp/WEB-INF/classes

se vuoi che siano disponibili per la tua web application.

CyberTop
14-09-2006, 12:00
le classi compilate (di servlet e classi di supporto) mettile in:
$CATALINA_HOME/webapps/nomewebapp/WEB-INF/classes

se vuoi che siano disponibili per la tua web application.
Scusate la mia ignoranza ma la cartella $CATALINA_HOME/ come la trovo dove la trovo...............dove sarebbe

kingv
14-09-2006, 13:27
Scusate la mia ignoranza ma la cartella $CATALINA_HOME/ come la trovo dove la trovo...............dove sarebbe


è la directory dove hai installato Tomcat

CyberTop
14-09-2006, 14:37
è la directory dove hai installato Tomcat
non va ti spiego questa è la mia cartella dove ci sono le jsp:
C:\Programmi\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\Progetti\Compagnia Aerea\jsp

poi in un livello superiore ci sono le classi che sono raggruppate in un package :
C:\Programmi\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\Progetti\Compagnia Aerea\classes dentro c'e' il package
C:\Programmi\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\Progetti\Compagnia Aerea\classes\compagniaaerea


io ho fatto questo:
C:\Programmi\Apache Software Foundation\Tomcat 5.5\webapps\Compagnia Aere\WEB-INF\classes
come mi hai detto tu e poi qui ho copiato il package compagniaaere...

ho sbagliato rispetto a come dicevi tu???

kingv
14-09-2006, 15:23
qui:
http://tomcat.apache.org/tomcat-5.5-doc/appdev/deployment.html

spiega come deve essere organizzato un deploy di una web application, dove mettere le jsp e dove le servlet e le classi di supporto.

dentro ROOT c'e' l'applicazione di default di tomcat, io la lascerei stare e organizzerei il tuo deploy dentro una nuova directory
C:\Programmi\Apache Software Foundation\Tomcat 5.5\webapps\CompagniaAerea
sotto questa devi creare le sottodirectory:
WEB-INF
WEB-INF\classes
all'interno della seconda metterai le servlet e le classi di supporto (eventualmente organizzate in packages).
se hai delle servlet ti occorre anche un file web.xml con cui descrivi i mapping.

CyberTop
14-09-2006, 16:13
ho cambiato cartella alle classi e...guardate quest errore

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: Unable to compile class for JSP

An error occurred at line: 3 in the jsp file: /Progetti/Compagnia Aerea/jsp/verificaNuovoUtente.jsp
Generated servlet error:
The type Utente is not visible

An error occurred at line: 3 in the jsp file: /Progetti/Compagnia Aerea/jsp/verificaNuovoUtente.jsp
Generated servlet error:
The type Utente is not visible


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: Unable to compile class for JSP

An error occurred at line: 3 in the jsp file: /Progetti/Compagnia Aerea/jsp/verificaNuovoUtente.jsp
Generated servlet error:
The type Utente is not visible

An error occurred at line: 3 in the jsp file: /Progetti/Compagnia Aerea/jsp/verificaNuovoUtente.jsp
Generated servlet error:
The type Utente is not visible


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
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)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.17

kingv
14-09-2006, 16:17
la classe Utente è definita come "public" ?

CyberTop
14-09-2006, 16:33
la classe Utente è definita come "public" ?
si certo questa è la classe:

package compagniaaerea;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Utente {

private String nome;
private String cognome;
private String Via;
private String citta;
private String provincia;
private int telefono;
private String email;
private int data_scadenza;
private int n_carta;
private String username;
private String pwd;
Statement stm1=null;
//Costruttore
public Utente(String nome,String cognome,String Via,String citta, String provincia,int telefono,String email,int data_scadenza,int n_carta,String username,String pwd){


this.nome = nome;
this.cognome = cognome;
this.Via = Via;
this.citta = citta;
this.provincia = provincia;
this.telefono = telefono;
this.email = email;
this.data_scadenza = data_scadenza;
this.n_carta = n_carta;
this.username = username;
this.pwd = pwd;
}

// Getter/setter methods


public String getnome()
{
return nome;
}
public void setnome( String nome )
{
this.nome = nome;
}


public String getcognome()
{
return cognome;
}
public void setcognome( String cognome )
{
this.cognome = cognome;
}

public String getVia()
{
return Via;
}
public void setvia( String Via )
{
this.Via = Via;
}


public String getcitta ()
{
return citta;
}
public void setcitta ( String citta)
{
this.citta = citta;
}

public String getprovincia (){
return provincia;
}
public void setprovincia ( String provincia){
this.provincia = provincia;
}

public int gettelefono ()
{
return telefono;
}
public void settelefono ( int telefono )
{
this.telefono = telefono;
}


public String getemail ()
{
return email;
}
public void setemail ( String email )
{
this.email = email;
}


public int getdata_scadenza ()
{
return data_scadenza;
}
public void setdata_scadenza ( int data_scadenza )
{
this.data_scadenza = data_scadenza;
}


public int getn_carta ()
{
return n_carta;
}
public void setn_carta ( int n_carta)
{
this.n_carta = n_carta;
}


public String getusername ()
{
return username;
}
public void setusername ( String username )
{
this.username=username;
}


public String getpwd ()
{
return pwd;
}
public void setpwd ( String pwd )
{
this.pwd=pwd;
}

public boolean salvadati(String nome,String cognome,String Via,String citta, String provincia,int telefono,String email,int data_scadenza,int n_carta,String username,String pwd){

setnome(nome);
setcognome(cognome);
setvia(Via);
setcitta(citta);
setprovincia(provincia);
settelefono(telefono);
setemail(email);
setdata_scadenza(data_scadenza);
setn_carta(n_carta);
setusername(username);
setpwd(pwd);

try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/compagniaAerea","root","");
stm1 = con.createStatement();
String query1 = "INSERT INTO Utente (Nome,Cognome,Via,Citta,Provincia,Tel,n_carta,data_scadenza,email,username,pwd) VALUES('"+getnome()+"','"+getcognome()+"','"+getVia()+"','"+getcitta()+"','"+getprovincia()+"','"+gettelefono()+"','"+getn_carta()+"','"+getdata_scadenza()+"','"+getemail()+"','"+getusername()+"','"+getpwd()+"')";
ResultSet rs=stm1.executeQuery(query1);
int i = 0;
while(rs.next()){
i++;

}
}catch(Exception e){return false;}

return true;

}
public static Login verificaLogin (String id, String pwd){
Login l = null;


return l;}
}