PDA

Visualizza la versione completa : [JAVA/JSP] Uso di database MySQL e configurazione del file "web.xml"


Auri
07-03-2006, 10:55
Salve a tutti vorrei creare un in jsp che si connette a un database mysql.Ho gia creato qualche applicazione in jsp ed ho omesso il file web.xml e tutto è andato bene .Anche con questa applicazione ho omesso il file web.xml(ho letto da qualche parte che il web.xml si puo ommettere nei jsp).Tuttavia l'applicazione non vuol funzionare.Penso che ci voglia il file web.xml ma io un file del genere con un database non l'ho mai configurato.Qualcuno mi potrebbe mandare un semplice esempio (di file web.xml)con quest'applicazione di database.
Mille grazie :cry:

Auri
16-03-2006, 11:31
:messner: Salve a tutti ho creato il seguente file web.xml
<?xml version="1.0" ?>
<web-app>
<servlet>
<servlet-name>Index</<servlet-name>
<jsp-file>Index.jsp</jsp-file>
<init-param>
<param-name>Mydriver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</init-param>
<init-param>
<param-name>URL</param-name>
<param-value>jdbc:mysql://localhost:3306/miodatabase</param-value>
</init-param>
</servlet>
</<web-app>

poi nella pagina index.jsp per collegarmi al datatabase ho in serito il seguente codice:
<%
String driver=getInitParameter("Mydriver");
if(driver==null) throw new ServletException("Impossibile caricare il driver");
String url=getInitParameter("URL");
if(url==null) throw Nnew ServletException("Impossibile connettersi al database");Ho inoltre messo il file jconnector nella directory WEB-INF/lib;
Tuttavi ogni volta che lancio Tomcat per caricare la pagina mi esce sempre la mia eccezione new ServletException("Impossibile caricare il driver) oltre ad un altra sfilza di eccezioni di Tomcat.Poichè il rimanente codice Index.jsp non contiene errori penso che ho configurato male il web.xml
Qualcuno potrebbe aiutarmi
Grazie mille. :messner:

alka
16-03-2006, 12:03
Ho unito le discussioni in quanto ne avevi già aperta una sull'argomento.

floyd
16-03-2006, 12:25
il metodo che usi ritorna i parametri della servlet
devi fare
getServletContext().getInitParameter("nome");
credo che legga i parametri del web.xml

Auri
16-03-2006, 18:33
ok!grazie mille seguirò il tuo consiglio.
ciao

Auri
17-03-2006, 10:58
Ciao Floyd ho provato il tuo metodo ma non nè vuole proprio saper di leggere i parametri del web.xml.Ho anche modificato il web.xml nel seguente modo:
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>Driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/miodatabase</param-value>
</context-param>
<servlet>
<servlet-name>Index></servlet-name>
<jsp-file>Index.jsp</jsp-file>

</servlet>

</web-app>
di conseguenza ho modificato il file Index.jsp
con l'oggetto application:
<%
String driver=application.getInitParameter("Driver");
if(driver==null)
throw new ServletException ("Impossibile caricare il driver");

String a = application.getInitParameter("url");

if(a==null)
throw new ServletException ("Impossibile effettuare la connessione");
%>
Cioè dovrebbe funzionare il JConnector è nella WEB-INF\lib eppure
mi sta letteralmente mandando in fusione il cervello
Qualcuno può aiutarmi.
Grazie mille e ciao

floyd
17-03-2006, 11:06
non si capisce nulla
driver o a sono null?
che c'entra il jconnector? che eccezione hai?

Auri
17-03-2006, 11:35
Allora nella stringa a (l'ho chiamata cosi avrei potuto chiamare in qualsiasi altro modo per motivi di velocità ho scritto solo a) il parametro Driver del web.xml in modo da caricare il driver mysql e se questo parametro è null la stringa a dell'istruzione if(a==null)cioè se il driver non è stato caricato ha un valore null mi riporta l'eccezione della ServletException ("Impossibile caricare il driver):Stessa cosa dicasi per reperire il database dal parametro url dell'xml.Per quanto riguarda il jconnector è il Driver jdbc di Mysql che mi permette di collegarmi col database di mysql

Andrea1979
17-03-2006, 11:53
Per prima cosa: vengono letti i valori (Fai un bel print a video di quel che peschi). Secondo: quando compari String (ed Object in genere) si usa equals...

Auri
17-03-2006, 11:54
OK! grazie acoltero il tuo consiglio.

Loading