PDA

View Full Version : [JSP] Problema di compilazione servlet!!


>°°Pun][sh£r°°<
30-09-2005, 11:08
Ciao a tutti :D

Premetto che sono alle prime armi con la programmazione JSP e sto facendo delle prove di piccoli ''form'' creati per querare un database mysql, facendo uso cosi di JDBC e un po di html...Come Web Server per fare le prove tra le varie pagine dinamiche html sto utilizzando Apache Tomcat 5.5, entrando in localhost...

Ho creato una prima semplice pagina Aggiungi1.htm per l'inserimento di tre dati Nome, Cognome e Indirizzo con un bottone ''Aggiungi''. All'interno del codice html c'è ovviamente la chiamata alla pagina Aggiungi2.jsp, invocata da un tasto ''Aggiungi''. Il codice .jsp effettua la connessione e una insert nel database mysql (creato precedentemente con MySql server 4.1) e controlla l'avvenuto inserimento dei dati tramite un ciclo if sul risultato della executeUpdate. Una volta processata dal motore Tomcat, Aggiungi2.jsp restituirà al browser una pagina html con un messaggio di avvenuto inserimento dei dati e la possibilità di richiamare Aggiungi1.htm.

Come cosa non mi sembra estremamente complicata...Il codice java presente nel file Aggiungi2.jsp sembra funzionare se lanciato come applicazione java a parte: registra correttamente il driver jdbc, esegue la connessione e inserisce i dati..

All'invocazione della pagina .jsp, però, ricevo questo errore dal Tomcat:

http://superpunitore.altervista.org/screen/errore500.JPG

Se serve posso postare anche il codice dei due file ed eventualmente anche quello della Servlet .java che mi genera Tomcat....

Thx, ciao

DigitalKiller
30-09-2005, 11:22
Posta tutto :D così è un po' difficile capire il problema

pinok
30-09-2005, 11:23
Sembrerebbe che stai recuperando qualche parametro della form con il nome sbagliato, per cui setti a null il valore da scrivere. Poi magari ci fai qualche altro controllo sopra e lì ti salta fuori il problema.
E' un'ipotesi, ma prova a riguardare i nomi che hai dato nella form e quelli che stai recuperando.

>°°Pun][sh£r°°<
30-09-2005, 11:56
Posta tutto :D così è un po' difficile capire il problema

Aggiungi1.htm

<html>
<head>
<title>Aggiungi 1</title>
</head>
<body>
<form method=post action="Mostra.jsp">
<table border=1>
<tr>
<td>Nome:</td>
<td><input type=text name=nome></td>
</tr>
<tr>
<td>Cognome:</td>
<td><input type=text name=cognome></td>
</tr>
<tr>
<td>Tel:</td>
<td><input type=text name=tel></td>
</tr>
<tr>
<td colspan=2 align=center>
<input type=submit value=Aggiungi>
</td>
</tr>
</table>
</form>
</body>
</html>


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

aggiungi2.jsp

<%@ page language="java" import= "java.sql.*" %>
<HEAD>
<TITLE>Aggiungi 2</TITLE>
</HEAD>
<BODY>
<%
//Dichiariamo l'oggetto Connection
Connection con = null;
try{
//Istanzio il Driver
Class.forName("com:mysql:jdbc:Driver");

//inizializzo l'oggetto con
con=DriverManager.getConnection("jdbc:mysql://localhost/agenda?user=root&password=root");

}
catch (ClassNotFoundException e){
System.out.println("Impossibile caricare il driver: "+ e);
}

try{
//Istanzio e inizializzo l'oggetto st di tipo Statement
Statement st = con.createStatement();

String pNome = request.getParameter("nome");
String pCognome = request.getParameter("cognome");
String pTel = request.getParameter("tel");


String miaQuery = "insert into anagrafica (Nome,Cognome,Telefono) ";
miaQuery += "values('"+pNome+"','"+pCognome+"' ,'"+pTel+"')";

int nIns = st.executeUpdate(miaQuery);

if ( nIns == 1){
%>
<h1><center>Aggiunta del record riuscita</center></h1>
<h3><center><a href="aggiungi1.htm">Torna Indietro</a></center></h3>
<%
}
else{
%>
<h1><center>Aggiunta del record NON riuscita</center></h1>
<h3><center><a href="aggiungi1.htm">Torna Indietro</a></center></h3>
<%
}
st.close();
con.close();
}
catch (SQLException e){
System.out.println("Errore SQL: "+ e);
}
%>

</BODY>
</HTML>


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


Poi una cosa che non mi spiego, me ne sono accorto pochi minuti fa....La servlet generata dal motore jsp hp provato a ricompilarla e ha degli errori... :confused: :confused: Com'è possibile??

ceAlex80
30-09-2005, 13:05
Scusami un pò....premetto che non sono pratico di jsp, programmando in php, ma da quanto leggo nel file Aggiungi1.htm il submit della form dovrebbe richiamare aggiungi2.jsp e non mostra.jsp. Dovresti modificare l'action di aggiungi1.html mettendo aggiungi2.jsp.

Non ho provato perchè non ho gli strumenti sul portatile adesso...quindi perdonatemi se ho sparato cazzate.
In php avrei messo:

<form method=post action="aggiungi2.jsp">

>°°Pun][sh£r°°<
30-09-2005, 16:08
Scusami un pò....premetto che non sono pratico di jsp, programmando in php, ma da quanto leggo nel file Aggiungi1.htm il submit della form dovrebbe richiamare aggiungi2.jsp e non mostra.jsp. Dovresti modificare l'action di aggiungi1.html mettendo aggiungi2.jsp.

Non ho provato perchè non ho gli strumenti sul portatile adesso...quindi perdonatemi se ho sparato cazzate.
In php avrei messo:

<form method=post action="aggiungi2.jsp">

si scusa...Mi ero fatto un altra copia del file a gli avevo cambiato nome, ma il codice era identico...In piu in mostra.jsp c'era il codice per la select...Cmq ho risolto reinstallando Tomcat e configurandolo da capo, rifacendo il database in mysql e ora funzia tutto ;)

Piuttosto, qualcuno mi sa per caso consigliare un bel tutorial con frammenti di codice d'esempio riguardante l'utilizzo degli oggetti impliciti e magari anche dei Java Beans?

Vi ringrazio, ciao :cool:

Gremo
01-10-2005, 01:14
[sh£r°°<']si scusa...Mi ero fatto un altra copia del file a gli avevo cambiato nome, ma il codice era identico...In piu in mostra.jsp c'era il codice per la select...Cmq ho risolto reinstallando Tomcat e configurandolo da capo, rifacendo il database in mysql e ora funzia tutto ;)

Piuttosto, qualcuno mi sa per caso consigliare un bel tutorial con frammenti di codice d'esempio riguardante l'utilizzo degli oggetti impliciti e magari anche dei Java Beans?

Vi ringrazio, ciao :cool:

prova con questo...ma dei bean non se ne parla
http://www.novocode.com/doc/servlet-essentials/

cmq non puoi affidarti solo a jsp e bean.
l'ideale sarebbe applicare il modello MVC usando JSP, servlet, bean e tag personalizzati...
probabilmente sei alle prime armi come me :)
in breve:
controller=servlet: le servlet si devono occupare esclusivamente dell'input dell'utente, reindirizzando poi l'utente stesso alla pagina successiva
model=beans: i breans si occupano della logica dell'applicazione: devono ad esempio effettuare connessioni al db, gestire le sessioni, controllare form, stampare form
view=jsp: devono mostrare solo il codice xhtml e i tag per recuperare i dati dinamici dai bean.

io ho comprato un buon libro...eh inizio :)

OT: 4000 :sofico: :sofico:

anx721
01-10-2005, 23:23
www.coreservlets.com

c'è un intero pdf scaricabile in capitoli su servlet e jsp

>°°Pun][sh£r°°<
03-10-2005, 08:53
www.coreservlets.com

c'è un intero pdf scaricabile in capitoli su servlet e jsp

Ok Thx ;)

Devo dire che è bello corposo come pdf, stamattina ci do un'occhiata perchè sembra fatto bene...

x Gremo

Cosa intendi quando parli del modello MVC?

Ciao :D