Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-08-2007, 11:09   #1
nazkul
Member
 
Iscritto dal: Sep 2004
Messaggi: 44
[JSP] occorrente per una applicazione web

Ciao a tutti, devo realizzare un'applicazione web, siccome non so da che parte cominciare ho seguite varie guide su internet per capire che cosa devo creare. Il problema è che ogni esempio, che posso pure scaricare completo senza doverlo creare da me e quindi rischiare di commettere un errore, non funziona.
A questo punto mi sorge il dubbio che non ho installato tutto l'occorrente.
Io avevo SDK standard edition, poi avevo installato Tomcat 6 come application server e infine, anche se ancora non utilizzato visto che trovo i file .war giò pronti, avevo Eclipse Europa che mi risulta abbia già i Tools per le applicazioni web.
Nessun esempio funzionava, per cui mi è venuto il dubbio che servisse SDK Enterprise edition, ma una volta installato e ripetuta l'installazione di Tomcat e Eclipse, questi ultimi non mi hanno chiesto nulla nel settaggio in riferimento a SDK Enterprise e mi ritrovo allo stesso problema di prima, cioè gli esempi a mia disposizione non funzionano.
Se qualcuno mi sa dare una mano mi farebbe un grosso piacere, grazie
nazkul è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 12:47   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Forse gli esempi usano una base dati che sul tuo sistema non c'è. Lo dico perchè riuscire a fare una pagina JSP o una servlet che NON funziona significa veramente avere doti eccezionali.

Oppure gli esempi che hai scaricato sono applicazioni "enterprise" e non web. Cioè richiedono un server per applicazioni J2EE (tipo JSAS di Sun).

Basta aprire il war e leggere il descrittore di dispiegamento: lì vedi subito se il programma usa solo servlet, jsp e database o se richiede anche i fagioli d'impresa.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 13:01   #3
nazkul
Member
 
Iscritto dal: Sep 2004
Messaggi: 44
Ciao
Purtroppo l'applicazione è semplicissima, e metto anche il link così magari potrebbe servire a qualcuno che è agli inizi come me:

http://www.javaportal.it/libro_j2ee/war.htm#download

Si tratta di una pagina html, dove si inseriscono 2 numeri e l'applicazione restituisce il prodotto tra questi 2 numeri.
Serve un file html, una servlet, una jsp e un JavaBean; la guida tra l'altro spiega con cura come strutturare le directory in modo da essere un progettino adatto alle regole dei .war, poi si crea il .war e va lanciato.
Ho creato il mio .war da me, e ho anche provato a scaricare quello già pronto, che si trova sempre nella pagina che ho messo sopra.
Apro

http://localhost:8080/manager/html

dal browser e faccio il deploy del file .war; per sicurezza riavvio Tomcat, la mia applicazione si nota sin dall'inizio che ha qualcosa di strano perché ho letto in vari siti che dovrebbe essere avviata da tomcat stesso, cioè dovrebbe essere già stato fatto "start".
Invece è su stop e se provo a fare start mi compare questo messaggio nello spazio dedicato ai message di Tomcat:

FAIL - Application at context path /moltiplicazione could not be started

Un'altra semplice applicazione web è stata data dal docente del corso che seguo, anche quella molto semplice, è già su start ma se clicco sul link che mette Tomcat per farla partire, mi viene dato errore 404 Http e dice:

description: The requested resource (/NomeDellaRisorsa/) is not available

Non funzionano e non so veramente dove sbattere la testa, pensando soprattutto che devo realizzarne una che avrà bisogno di accedere a dati ecc..
nazkul è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 14:19   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Lancia tomcat da linea di comando. Nella cartella "bin" c'è un bat o un sh. La vedi se l'applicazione è dispiegata correttamente. Oppure consulta i file di log (cartella logs/).

Intantio io provo a caricare l'applicazione e poi ti dico.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 14:43   #5
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Il descrittore di dispiegamento è errato. Cambialo in:

Codice:
<?xml version="1.0"?>
<web-app>
    <servlet>
        <servlet-name>Servlet</servlet-name>
        <servlet-class>mvc.Servlet</servlet-class>
    </servlet>
    
    <servlet>
    	<servlet-name>ServletResults</servlet-name>
 		<jsp-file>/ServletResults.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>Servlet</servlet-name>
        <url-pattern>/Servlet</url-pattern>
    </servlet-mapping>
  
    <welcome-file-list>
        <welcome-file>ServletInput.html</welcome-file>
    </welcome-file-list>
</web-app>
Come dev'essere fatto questo web.xml lo trovi nelle specifiche servlet

http://jcp.org/aboutJava/communitypr...154/index.html
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 16:27   #6
nazkul
Member
 
Iscritto dal: Sep 2004
Messaggi: 44
Ciao, si adesso funziona, grazie mille

Tornando quindi alla domanda con cui ho aperto la discussione:
per fare una web application dovrò usare SDK EE oppure mi basta SE?
Non capisco perché al corso mi hanno fornito il link al Tutorial J2EE ( che tra l'altro non capisco cosa abbia in più rispetto a SE visto che il tutorial parla molto di XML e JSF ), quando fin'ora ha funzionato usando J2SE, perché al momento dell'installazione di Tomcat tra le poche cosa che chiede c'è dove si trovano i bin di J2SE se erro, comunque nulla di relativo a J2EE.

Il secondo esempio a cui facevo riferimento è strutturato in modo differente:
ha delle librerie a cui fa riferimento, dovrebbe essere un po come se si realizzasse un programma in java che fa le 4 operazioni fondamentali, poi le uso per fare un'applicazione web dove un utente fa i calcoli tramite browser.
Ho visto che sono in un .jar. Però non trovo nulla di .jsp o .html, sia nel .war che nel .jar a lui interno, insomma nulla di relativo alla "vista" in pratica. Ma è possibile che sia delegato tutto ai file java?

Io ti ringrazio ancora, sei stato molto gentile nel problema del web.xml
nazkul è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 16:49   #7
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Quel che ti serve per sviluppare web-application è:

1. Un Java SDK, fu JDK.
2. Tomcat.

Il JDK ti serve per compilare le servlet, i javabean... per creare le classi java.

Se guardi, nella cartella "lib" di tomcat c'è un jar, servlet.jar. Quel Jar contiene una versione concreta delle specifiche servlet che, a loro volta, determinano il come/quando/dove di una web-application j2ee.

Se escludiamo la scrittura fisica di una servlet, tutto il resto dell'applicazione web è convenzionale, nel senso che si tratta di scrivere le cose giuste al posto giusto senza un procedimento di "compilazione" separato dal dispiegamento dell'applicazione.

La risposta alla domanda "è possibile che sia delegato tutto alle classi Java" è "sì col trucco".

Che non è po' 'sto gran trucco.

E' possibile che un'applicazione web non abbia pagine html perchè una servlet può creare pagine html e tramite l'associazione tra un nome ed una servlet, che realizzi nel descrittore di dispiegamento, puoi far sì che, ad esempio, l'indirizzo "bimbumbam/ciccio" corrisponda non ad una pagina statica ma al prodotto di una servlet (cioè alla pagina che la servlet crea al volo tramite i suoi metodi di servizio).

Le pagine JSP sono un altro modo di fare servlet, quindi diciamo che puoi benissimo risolvere tutto il programma a colpi di servlet.

Le Servlet sono classi Java, sono file ".class", le specifiche servlet stabiliscono che le classi Java usate da un'applicazione web possono essere impacchettate in un jar (che andrà posizionato in WEB-INF/lib), ergo è possibile che non ci siano nè file jsp, nè file html e neppure classi in WEB-INF/classes ma solo un jar in WEB-INF/lib.

Se esamini il descrittore di dispiegamento dell'applicazione web (i file web.xml) scoprirai quali sono i componenti dell'applicazione. Con ogni probabilità troverai solo servlet e un po' di "mapping" (cioè associazioni tra indirizzi relativi e nomi di servlet, che realizzano l'effetto "io scrivo l'indirizzo x e risponde la servlet y").
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 18:25   #8
nazkul
Member
 
Iscritto dal: Sep 2004
Messaggi: 44
Purtroppo dopo la tua completa spiegazione ho i miei dubbi che il file web.xml sia fatto come si deve.
Infatti io non trovo solo servlet e mapping come in maniera chiara mi spiegavi tu nel tuo ultimo messaggio, ma c'è anche questa parte qui:

Codice:
<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
Se non ho capito male la tua spiegazione, a questo punto mi sorge il dubbio che l'esempio fornitomi non è corretto, anche se mi sembra molto strano.
Però d'altra parte penso che a questo punto si capisca anche il perché quando cliko sul link dell'applicazione nel manager di Tomcat, mi compare la pagina con errore 404 dell'Http e mi dice che in pratica non è stato trovato ciò che è chiesto.
Grazie mille,
nazkul è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 20:16   #9
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Le specifiche dicono che il contenuto del nodo:

welcome-file

è un URI parziale.

Un URI è tipo un URL ma più generico ancora (un URL è un URI). Molto tecnica come spiegazione .

Comunque, il tuo ragionamento non è sbagliato. Se welcome-file contiene

index.html

"normalmente" uno si aspetta di trovare un file index.html all'interno del war.

Questo non è strettamente necessario. L'URI del welcome-file può essere anche il "mapping" di una servlet.

Cioè se io avessi una servlet pippo:

<servlet>
<servlet-name>Pippo</servlet-name>
<servlet-class>cin.cin.Pippo</servlet-class>
</servlet>

Potrei creare un indirizzo "alias" (l'utente digita x e Tomcat gli rifila la servlet):

<servlet-mapping>
<servlet-name>Pippo</servlet-name>
<url-pattern>/index.html</url-pattern>
</servlet-mapping>

Qui che succede? Succede che il nome relativo (allo URL dell'applicazione web) "/index.html" causa l'invocazione del servizio offerto dalla servlet Pippo.

A questo punto se io dicessi:

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

con poca magia otterrei un "index.html" che Tomcat associa alla servlet Pippo.

E' questo il tuo caso? Be', per scoprilo basta leggere i nodi servlet-mapping. Se scopri che gli URI contenuti nei welcome-file sono tutti "alias" delle servlet, allora l'applicazione web non necessita dei file index.html eccetera: sono tutte associazioni che rinviano a delle servlet.

Se i "mapping" non definiscono gli alias index.html, index.jsp eccetera, allora il tuo dubbio diventa certezza: quei file dovrebbero esserci ma non ci sono.

La seconda è molto più probabile della prima.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 20:46   #10
nazkul
Member
 
Iscritto dal: Sep 2004
Messaggi: 44
Ho dato un'occhiata al mapping, in effetti roba sugli alias c'è, però è un po differente, in quanto fa così:

Codice:
<servlet-mapping>
	<servlet-name>
		WebApp
	</servlet-name>
	<url-pattern>
		/UnaClasseDellaLibreria
	</url-pattern>
</servlet-mapping>
pare che venga fatto un alias per un file che ho trovato dentro il .jar che si trova nella cartella lib, file che ha estensione .class.
Cosa molto casinosa ma che temo sia proprio una specie di quello che dovrò realizzare io se, per tornare all'esempio dei primi messaggi, dovessi creare una applicazione che offre librerie per esempio per fare dei calcoli con l'input inserito dall'utente.
Ciao
nazkul è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2007, 22:47   #11
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Quel pezzo lì ti dice che nel contesto dell'applicazione web l'indirizzo

/UnaClasseDellaLibreria

chiama in causa la servlet di "nome" WebApp.

Il nome della classe Java che definisce la servlet WebApp la trovi in un nodo

<servlet>...</servlet>

Leggendo il descrittore dovresti vedere che c'è un nodo "servlet" con un figlio "servlet-name" che vale WebApp. Quello stesso nodo avrà anche un figlio "servlet-class" che contiene il nome pienamente qualificato della classe Java che definisce quella servlet.

Messa così pare complicata (e forse è un po' più complicata di come potrebbe essere se le specifiche fossero un attimino più furbe) ma è veramente una banalità.

Quanto al problema di dover definire delle classi "di servizio", qui dipende dalla dimestichezza che hai con lo sviluppo di programmi Java. Se è poca allora ci vorrà un po' più di tempo per acclimatarsi alla lingua e ai suoi arzigogoli. Ma è tutto qui, una questione di tempo ed esercizio. Vai tranquillo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2007, 07:57   #12
nazkul
Member
 
Iscritto dal: Sep 2004
Messaggi: 44
Ok, più o meno diciamo che ho chiarito molte cose, anche l'ultima spiegazione è chiarissima, non sono riuscito a capire come mai non fa ma devo andare a vedere, credo, chi e come chiama quell'alias /Board.
Ma apparte questo, a questo punto credo sia ora di progettare e implementare la mia applicazione
Sarà dura
Grazie mille PGI-Bis
nazkul è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Windows 10 immortale! Microsoft estende ...
Nothing Phone (4b) arriverà a luglio: il...
Adobe acquisisce Topaz Labs: upscaling e...
Samsung Galaxy A27 5G è ufficiale e pron...
Ultime ore di Prime Day, finisce tutto a...
GPT-5.6, la Casa Bianca frena OpenAI: ri...
È ufficiale, Apple ha alzato i pr...
Il telescopio spaziale ESA Euclid ha fot...
L'astronauta ESA Sophie Adenot ha provat...
Leica SL3-P: la full frame più ev...
All'interno della capsula Starfall di Sp...
8BitDo Arcade Controller Pro è il...
Dead or Alive 6 Last Round: una chiusura...
DXC e Anthropic insieme per portare l'IA...
Lenovo presenta nuove soluzioni per l'IA...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:56.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v