Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
La seconda generazione della citycar elettrica di Dacia passa alla piattaforma RGEV small di Renault Group, cresce di 15 cm in lunghezza e 18 cm in larghezza, adotta un motore da 80 CV e una batteria LFP da 27,5 kWh per 250 km WLTP. Prezzi da 17.900 euro, produzione a Novo Mesto in Slovenia.
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-09-2006, 21:25   #1
Edde
Senior Member
 
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
[Java] Creare dell'html con una servlet

Ciao

Ho una serlvet che mi crea del codice html. Il problema è che non riesco ad inserire delle img in questa pagina linkandole dal mio disco rigido. E' come se non riuscisse a trovarle. Se invece le piazzo sul web e inserisco il link funziona tutto...

Posto i due esempi (il primo non funziona, il secondo si... non fate caso ai tag differenti... il risultato non cambia cmq):

out.println("<td><button name='sinonimi' type='submit'><img src=\"file:///C:\\Programmi\\Programmatio\\Tomcat 5.5\\webapps\\Ose\\img\\sinonimi.jpg\" width=\"100\" height=\"50\"></button></td>");

--------

out.println("<td><input name='sinonimi' type='image' src=\"http://img61.imageshack.us/img61/8447/sinonimiwl1.jpg\" width=\"100\" height=\"50\" value=\"sinonimi\"></td>");


Come posso risolvere?
Grazie
Edde è offline   Rispondi citando il messaggio o parte di esso
Old 28-09-2006, 21:40   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Edde
Posto i due esempi (il primo non funziona, il secondo si... non fate caso ai tag differenti... il risultato non cambia cmq):

out.println("<td><button name='sinonimi' type='submit'><img src=\"file:///C:\\Programmi\\Programmatio\\Tomcat 5.5\\webapps\\Ose\\img\\sinonimi.jpg\" width=\"100\" height=\"50\"></button></td>");

--------

out.println("<td><input name='sinonimi' type='image' src=\"http://img61.imageshack.us/img61/8447/sinonimiwl1.jpg\" width=\"100\" height=\"50\" value=\"sinonimi\"></td>");


Come posso risolvere?
Ma ovvio!! Non puoi mandare al client un riferimento ad un path residente in locale sul server!!!!

Concettualmente potrebbe funzionare se client e server "sono" sulla stessa macchina e il path fosse corretto. Ma alcuni browser non permettono di visualizzare immagini in locale da una pagina web.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2006, 16:16   #3
texerasmo
Senior Member
 
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
infatti è questione di path
Metti il path in questo modo /images/img.gif
/ rappresenta la root della tua web-application

oppure
puoi creare dei virtual path ma devi modificare il server.xml
texerasmo è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2006, 11:20   #4
Edde
Senior Member
 
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
Quote:
Originariamente inviato da texerasmo
infatti è questione di path
Metti il path in questo modo /images/img.gif
/ rappresenta la root della tua web-application

oppure
puoi creare dei virtual path ma devi modificare il server.xml
Scusa, sto provando, ma non mi riesce...
Allora, sto usando tomcat, e la mia applicazione si trova all'interno di:

\Tomcat 5.5\webapps\Ose

Ho provato a mettere la cartella delle img sia in:

\Tomcat 5.5\webapps\Ose\img

che in

\Tomcat 5.5\webapps\Ose\WEB-INF\img

Ma chiamando dalla servlet:

src=\"/img/Sinonimi.jpg\"

Non va... forse ora provo a modificare il file web.xml, ma mi sai dire cmq dove sbaglio?

Grazie
Edde è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2006, 18:06   #5
Edde
Senior Member
 
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
Ho Provato a modificare il file web.xml secondo quanto scritto qui:

http://www.jugsardegna.org/vqwiki/js...pplicationJ2EE

Continuo ad avere problemi...

Allora, ho aggiunto nel file web.xml la seguente parte:

----------- (Riguarda l'immagine)
<init-param>
<param-name>path</param-name>
<param-value>/WEB-INF/img/Sinonimi.jpg</param-value>
</init-param>

----------- (Riguarda un'altra cosa di cui ora vi dico)

<init-param>
<param-name>pathWordnet</param-name>
<param-value>/WEB-INF/file_properties.xml</param-value>
</init-param>

----------


All'inizio della servlet ho aggiunto le seguenti righe:


ServletConfig cfg = getServletConfig();
String path = cfg.getInitParameter("path");
String dizionario = cfg.getInitParameter("pathWordnet");


Ok. Ora, nella parte in cui dovrei caricare l'iimg ho messo:


out.println("<td><input name='sinonimi' type='image' src=\"file:///"+path+"\" width=\"100\" height=\"50\" value=\"sinonimi\"></td>");


(Omettendo il file:/// non cambia nulla).

Ma continua a non caricare l'immagine nella pagina html creata. D'altra parte a me sembra che con quell'aggiunta nel file web.xml io non stia facendo niente di particolare: aggiungo una "variabile" (in realtà è più una final) di nome path a cui assegno il valore /WEB-INF/img/Sinonimi.jpg
Dal punto di vista dell'applicazione, se io uso la variabile path o scrivo direttamente /WEB-INF/img/Sinonimi.jpg non mi sembra che ci sia differenza, ed infatti non funziona in nessuno dei 2 modi...

Andando alla seconda cosa, io devo leggere il file file_properties.xml per inizializzare un dizionario che poi uso per altre cose, e lo faccio col comando:

JWNL.initialize(new FileInputStream(propsFile));

Dove propsFile prima era:

String propsFile = "C:\\Programmi\\Programmatio\\Tomcat 5.5\\webapps\\Ose\\file_properties.xml";

Mentre ora, per evitare di usare il path assoluto, è diventata semplicemente :

String propsFile = dizionario; (ovvero la stringa pari al valore di pathWordnet, nel file web.xml)

Inutile dire che mi da un errore di "fileNotFound"...

Spero di non aver messo troppa carne sul fuoco, e soprattutto che siate in grado di aiutarmi

Grazie ancora per la pazienza...

Ah, è ovvio ma lo dico tanto per chiarezza: il file "file_properties.xml" l'ho spostato in /WEB-INF/ e le immagini sono state messe in /WEB-INF/img/

-----

Edit: Avevo saltato una parte...
La storia del file_properties.xml l'ho risolta facendomi restituire l'InputStream dal ServletContext, ma il discorso dell'img, facendomi restituire l'URL, ancora non va...
Ci sto lavorando... ma....

Ari-Edit: Visto che ci sono... volevo eliminare qualsiasi indirizzo assoluto presente nell'applicazione. Usando il discorso sul path virtuale sono quindi riuscito a risolvere quelle parti in cui io devo leggere un file.
Ma ServletContext non ha metodi che restituiscano un OutputStream, se io dovessi invece scrivere un file... in quel caso come potrei procedere?

Ultima modifica di Edde : 01-10-2006 alle 18:48.
Edde è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 10:57   #6
texerasmo
Senior Member
 
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
allora.
non credo che sia corretto mettere sotto WEB-INF la cartella img
sotto WEB_INF vi dovrebbe essere solamente classes e lib e il file web.xml

Per le img prova a fare così

img src="/img/nome.jpg" e basta. oppure se proprio non ti funziona prova a fare così

img src="/OSE/img/nome.jpg"


per il discorso path virtuale devi usasre il server.xml

Per il file non found se undi un file di itpo properties devi posizionarlo vicino alla calsse se usi un file .xml invece devi metterci il path assoluto esempio
c:\.....


ok?
texerasmo è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 13:30   #7
Edde
Senior Member
 
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
Quote:
Originariamente inviato da texerasmo
allora.
non credo che sia corretto mettere sotto WEB-INF la cartella img
sotto WEB_INF vi dovrebbe essere solamente classes e lib e il file web.xml

Per le img prova a fare così

img src="/img/nome.jpg" e basta. oppure se proprio non ti funziona prova a fare così

img src="/OSE/img/nome.jpg"


per il discorso path virtuale devi usasre il server.xml

Per il file non found se undi un file di itpo properties devi posizionarlo vicino alla calsse se usi un file .xml invece devi metterci il path assoluto esempio
c:\.....


ok?
/Ose/img/nome.jpg funge
Ero sicuro di averlo già provato, ma evidentemente mi sbagliavo.
Il file not found l'ho risolto facendomi restituire l'inputStream dal servletContext.

Riguardo all'outputstream mi sai dire qualcosa?

Ancora grazie
Edde è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 16:51   #8
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Scusa non aiuto la tua causa ma visto che si parla di path...

io ho una servlet che deve accedere a un file properties che risiede sul server. Se do il path assoluto tutto ok, ma per il relativo... Ho provato a prendere la cwd dalla stessa servlet ma mi dice tutt'altro percorso! Per esempio se la servlet si trova in /usr/local/tomcat/webapps/application/WEB-INF/classes/servlet.class, cwd mi restituisce /home/redcloud

Poi per scrupolo il file properties l'ho messo sia in

...../webapps/application/WEB-INF/classes/

che in

..../webapps/application/WEB-INF/

che in

..../webapps/application/

che in

..../webapps/

ma nisba Per correttezza essendo un file properties relativo a quella applicazione dovrebbe essere contenuto al massimo nella root dell'applicazione stessa!
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 17:15   #9
Edde
Senior Member
 
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
Qui forse posso aiutarti io

http://www.jugsardegna.org/vqwiki/js...pplicationJ2EE

Verso la fine fa proprio l'esempio con un property.
Edde è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 17:27   #10
texerasmo
Senior Member
 
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
Non ho capito bene l'altro pb

cmq
se usi un file .properties che è fatto in questo modo
chiave=valore
il file deve stare vicino alla classe.

se unsi un file.xml devi metterci tutto il path a partire dalla root.

ok?
texerasmo è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 17:58   #11
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Quote:
Originariamente inviato da Edde
Qui forse posso aiutarti io

http://www.jugsardegna.org/vqwiki/js...pplicationJ2EE

Verso la fine fa proprio l'esempio con un property.
L'esempio è ottimo ma se volessi inserire staticamente il path relativo all'interno di un'altra classe chiamata dalla servlet?
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 22:32   #12
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Quote:
Originariamente inviato da texerasmo
Non ho capito bene l'altro pb

cmq
se usi un file .properties che è fatto in questo modo
chiave=valore
il file deve stare vicino alla classe.

se unsi un file.xml devi metterci tutto il path a partire dalla root.

ok?
Io uso un file properties chiave=valore e l'ho messo nella stessa dir della classe che lo usa ma nisba
redcloud è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa Nuova Dacia Spring, del modello precedente resta...
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jensen Huang avrebbe nascosto ai vertici...
Le prime cuffie over-ear di Vivo arrivan...
GPU, CPU e fotoni: il piano di AMD per p...
La soluzione di Google per i nuovi occhi...
Il futuro di XBOX passa per l'intelligen...
Amazon, le 13 offerte da non perdere ogg...
Svendita TV su MediaWorld: OLED LG e Sam...
AMD si ricorda dei gamer, ma il messaggi...
Fate in fretta: su Mediaworld c'è...
Ho usato ArtCraft per trasformare un mio...
SSD e hard disk su AliExpress: 4TB a sol...
Due Mac agli antipodi in forte sconto su...
Quick Spectral Super Resolution (QSSR): ...
AMD Ryzen, prezzi interessanti su AliExp...
Zenbook S è un MacBook Air che co...
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: 17:08.


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