|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
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 |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
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, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
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 |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
|
Quote:
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 |
|
|
|
|
|
|
#5 |
|
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. |
|
|
|
|
|
#6 |
|
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? |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
|
Quote:
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 |
|
|
|
|
|
|
#8 |
|
Bannato
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... 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 |
|
|
|
|
|
#9 |
|
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. |
|
|
|
|
|
#10 |
|
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? |
|
|
|
|
|
#11 | |
|
Bannato
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
|
Quote:
|
|
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:36.




















