PDA

View Full Version : [JSP] Gli inizi...


Corvo80
01-02-2006, 13:42
Salve a tutti, sto smanettando un po'compiendo i primi passi per imparare questo linguaggio/filosofia di programmazione. Ho iniziato col fare copia/incolla da un codice riportato su una guida...

<!-- PROVA.JSP -->
<HTML>
<BODY>

<%out.println("PRIMA PROVA DI JSP");%>

</BODY>
</HTML>

... ad un nuovo file nominato prova.jsp.

A detta della guida (e ragionevolmente), aprendo il file col browser dovrebbe creare un oggetto servlet e visualizzare a video il messaggio PRIMA PROVA DI JSP. Purtroppo però, apre la pagina mostrando semplicemente %out.println("PRIMA PROVA DI JSP");% come corpo del testo.

Ora io chiedo a voi... per caso, serve un qualche tipo di supporto? Mi sono dimenticato di scaricare qualcosa?

Tengo a precisare che ho le J2SE 1.5.0

gaglioppo
01-02-2006, 14:05
Ti spiego in parole povere, magari interverranno altri.
Dovresti scaricare Tomcat e Apache, in pratica, il tuo computer diventerebbe un server, configurato correttamente, dovresti accedere alle pagine .jsp
non aprendole semplicemente con il tuo browser (ie, opera, mozilla), digitando
http://localhost oppure http://127.0.0.1.
Fattti un giro su google e trova i tutorial giusti...
Se hai problemi magari torna a chiedere info, c'è sempre qualcuno pronto ad aiutarti.

a presto

Ultrabyte
01-02-2006, 14:28
Ciao allora come diceva gaglioppo
giustamente...hai bisogno del tomcat ovvero un servlet container... ovvero grazie a tomcat le tue pagine jsp saranno compilate e interpretate e avrai cosi la possibilità di visualizzarle sul tuo browser le tue pagine jsp...quello di cui hai bisogno sono il Java Dvelopment Kit ( e ho visto che già ce l'hai ) e appunto il Tomcat per quello che posso dirti io nn hai bisogno di apache basta semplicemente il tomcat una volta istallato e avviato il tomcat prova a richiamare in questo modo http://localhost:8080 oppure http://127.0.0.1:8080
se apparira la schermata della index del tomcat significa che la macchina è stata configurata correttamente altrimenti dovrai cercare su internet come settare la JAVA_HOME ( variabile d'ambiente dove indicherai dove si trova la cartella della jdk con il suo percorso ).Dopo di che per vedere le tue pagine sul browser devi creare una cartella con un nome a tuo piacimento...ma la devi mettere precisamente sotto la cartella webapps presente sotto la cartella principale del tuo tomcat...questo è molto importante perchè se nn la metti li sotto nn riuscirai mai a visualizzare le tue pagine jsp.Una volta messa la tua cartella sotto la cartella webapps ...dovrai creare al interno della tua cartella un altra cartella importantissima che dovra chiamarsi esattamente (WEB-INF) e dove dentro creerai altre 2 fondamentali cartelle che dovrai chiamare esattamenete, una classes ( che conterra le classi java qualora volessi farle ) e una lib ( dove conterrà i jar o librerie x la tua web application che creerai) sono essensiali anche se vuote ci devono assolutamente essere poi magari ti spieghero piu avanti a cosa servono nel dettaglio..cmq una volta seguite queste procedure nn devi far altro che mettere sotto la cartella che hai creato dove ora dentro c'è solo la cartella WEB-INF metti la tua pagina jsp vai sul tuo browser e richiamare questo url sul browser http://localhost:8080/NOME_TUA_CARTELLA/NOME_PAGINA.JSP
ah ti dò un consiglio visto che è una prova rinomina la pagina da prova.jsp in index.jsp cosi te la caricherà immediatamente appena scrivi http://localhost:8080/NOME_TUA_CARTELLA/
mi raccomando segui alla lettera queste mie indicazioni e vedrai che andrà tutto alla grande ciao buona fortuna :D

Corvo80
01-02-2006, 14:33
Ok ora scarico e poi ti dico come è andata. Grazie mille! :D

Corvo80
01-02-2006, 14:50
Yeahhh, fungeee!!!!

Grazie 1000! :D

(aspettatevi altri topic di richiesta d'aiuto, cmq... :stordita: )

Corvo80
01-02-2006, 16:39
Ok ho un nuovo quesito. Sto scrivendo un codice jsp per accedere ad un database (Microsoft SQL Server 2000) e ho deciso di utilizzare i driver del tipo "bridge JDBC - ODBC", caricati dall'url com.microsoft.jdbc.sqlserver.SQLServerDriver testato e certificato. Ho scritto il seguente codice:

<%@ page language="java" import="java.sql.*" %>
<html>
<head>
<title>Java Server Pages: Hello World</title>
</head>
<body>
<%String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
try {
out.println(driverName);
Class.forName(driverName);
System.out.println("Mi sto per connettere al server...");
Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://server2:1433;DatabaseName=SISMAG-TEST", "SISMAG", "SISMAG");
out.println("Connessione effettuata.");
} catch (ClassNotFoundException e) {
out.println("Could not find the database driver");
} catch (SQLException e) {
out.println("Could not connect to the database");
} catch (ArrayIndexOutOfBoundsException e) {
out.println("Result Set contains 0 elements");
}%>
</body>
</html>

Ma, ovviamente (tra un po'vi dirò perchè) mi dà ClassNotFoundException. Il punto è che devo includere gli archivi del driver (archivi che ho prontamente scaricato): 3 file con estensione *.jar. Ora, conosco la sintassi per includerli in un codice HTML e farli funzionare con un applet ma non ho idea di come essi vadano inclusi in questo caso. Qualcuno mi illumina?

:D

wireless
01-02-2006, 17:20
ti conviene leggere questo
http://pdf.coreservlets.com/
nn aggiornatissimo ma molto scorrevole

Ultrabyte
01-02-2006, 19:13
hey là allora vediamo un pò di cosa si tratta allora tu hai dei file *.jar che vuoi utilizzare per fare delle connessioni da una pagina jsp ?Se è questo il problema allora ecco la soluzione...Per prima cosa devi inserire questi file .jar dentro la cartella lib che ti avevo detto di creare dentro la WEB-INF
ricorda nella lib vanno messe tutte le librerie che vuoi usare per quella specifica webapplication ( altrimenti mettendolo dentro il C:\...\common\lib che trovi dentro la cartella del Tomcat...mettendola la dentro quelle librerie *.jar saranno visibili a tutte le tue web application.....ke sono dentro la cartella webapps ) dopo di chè dovrebberò funzionare fammi sapere altrimenti se si tratta di qualcos'altro posta pure......ciauz

Corvo80
02-02-2006, 15:57
Ok funziona. Ho però due nuovi problemi:

1- Ho messo nella directory /classes delle classi compilate di cui il codice fa uso; ma non le trova o non riesce a compilarle. Ecco il codice:

<%@ page language="java" import="java.sql.* "import="java.util.*"%>
<html>
<head>
<title>Java Server Pages: Hello World</title>
</head>
<body>
<%String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
try {
Vector lista = new Vector();
String serverAddr = "jdbc:microsoft:sqlserver://server2:1433;DatabaseName=SISMAG-TEST";
Vector campiTesto = new Vector();
String FormName = "PR019";
String sCodOperatore = "CRX7460";
String sTipoLista = "Tipo 01";
Class.forName(driverName);
Connection connection = DriverManager.getConnection(serverAddr, "SISMAG", "SISMAG");
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("select T.TIPOGESTIONE from STRUTTURAFORM);
RigaComposta actual;
while (rs.next()) {
actual = new RigaComposta(rs.getString("LABEL"));
if (!rs.getString("TIPOGESTIONE").equals("F")) {
lista.add(actual);
campiTesto.add(actual.campoTesto);
}
}
RigaComposta ultimaRiga = (RigaComposta)lista.get(lista.size()-1);
GUIManager nuovo = new GUIManager();
nuovo.creaGUI(lista, campiTesto, "Titolo", stmt);
} catch (ClassNotFoundException e) {
out.println("Could not find the database driver");
} catch (SQLException e) {
out.println("Could not connect to the database");
} catch (ArrayIndexOutOfBoundsException e) {
out.println("Result Set contains 0 elements");
}%>

2- Ho modificato il codice e provato a fargli generare un frame ma non lo visualizza...

Ecco il codice aggiornato:

<%@ page language="java" import="java.sql.*" import="java.util.*" import="java.awt.*"%>
<html>
<head>
<title>Java Server Pages: Hello World</title>
</head>
<body>
<%String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
try {
String titolo;
Frame frame;
Vector lista = new Vector();
Vector campiTesto = new Vector();
String FormName = "PR019";
String sCodOperatore = "CRX7460";
String sTipoLista = "Tipo 01";
Class.forName(driverName);
Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://server2:1433;DatabaseName=SISMAG-TEST", "SISMAG", "SISMAG");
out.println("Connessione effettuata.");
Statement stmt = connection.createStatement();
ResultSet dt = stmt.executeQuery("select * from FORM where codform='" + FormName + "'");
if (dt.next()) {
titolo = dt.getString("DESFORM") + " - (" + sCodOperatore + ")";
} else {
titolo = "";
}
ResultSet rs = stmt.executeQuery("select T.TIPOGESTIONE as TIPOGESTIONE, R.TIPOCAMPO as TIPOSQL, T.LABEL as LABEL, T.LEFTMM as LEFTMM, T.FUNCINI as FUNCINI, T.FUNCOUT as FUNCOUT, T.FUNCVIS as FUNCVIS, T.NOMECAMPO as NOMECAMPO, T.POSIZIONE as POSIZIONE, T.POSFUNCOUTOK as POSFUNCOUTOK, T.FACOLTATIVO as FACOLTATIVO, T.RIPROPONI as RIPROPONI from STRUTTURAFORM as T JOIN CAMPI R ON T.NOMECAMPO=R.NOMECAMPO where T.posizione<>0 and T.CODFORM='" + FormName + "' order by T.posizione");
while (rs.next()) {
out.println(rs.getString("LABEL"));
}
frame = new Frame(titolo);
int width = 300;
int height = 300;
frame.setSize(width, height);
frame.setVisible(true);
} catch (ClassNotFoundException e) {
out.println("Could not find the database driver");
} catch (SQLException e) {
out.println("Could not connect to the database");
} catch (ArrayIndexOutOfBoundsException e) {
out.println("Result Set contains 0 elements");
}%>
</body>
</html>

Qualche idea?

Corvo80
03-02-2006, 11:10
UP (si, sono cocciuto! :muro: )

PS Non mi riesce di trovare il file jspengine.jar, qualcuno mi dice come procurarmelo?

Ultrabyte
24-02-2006, 15:29
PS Non mi riesce di trovare il file jspengine.jar, qualcuno mi dice come procurarmelo?


Cioè ? chi o cosa nn riesce a trovarlo..

http://www.vijaymukhi.com/documents/books/javajsp/chap6.html

vedi qui se c'è qualcosa che ti serve a te :read: