Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Percorso relativo da un'applicazione web
Forum - Java - Percorso relativo da un'applicazione web

Avatar
symonx80 (Normal User)
Pro


Messaggi: 107
Iscritto: 30/07/2009

Segnala al moderatore
Postato alle 12:15
Lunedì, 28/12/2009
Ciao,
sto sviluppando un'applicazione web in jsp con Eclipse 3.2,Tomcat 5.5
Vorrei inserire un'immagine nell'applicazione ma non riesco a dare il percorso relativo alla mia applicazione per poter trovare il file .jpg.
La cartella di Eclipse e' installata in c:\eclipse mentre il progetto in c:\workspace\ProgettoBeta\

Ho creato una cartella per le immagini in c:\workspace\ProgettoBeta\images\ con all'interno un file logo.jpg
il percorso che assegno nel codice e' questo

"./ProgettoBeta/images/Logojpg"

Quando provo a caricare l'applicazione l'errore riscontrato e' il seguente
codice:

Codice sorgente - presumibilmente Delphi

  1. C:\eclipse\.\ProgettoBeta\images\Logo.jpg (The system cannot find the path specified)
  2. java.io.FileNotFoundException: C:\eclipse\.\ProgettoBeta\images\Logo.jpg (The system cannot
  3. find the path specified)
  4.    at java.io.FileInputStream.open(Native Method)
  5.    at java.io.FileInputStream.<init>(FileInputStream.java:106)
  6.    at java.io.FileInputStream.<init>(FileInputStream.java:66)
  7.    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
  8.    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
  9.    at java.net.URL.openStream(URL.java:1010)
  10.    at com.itextpdf.text.Image.getInstance(Unknown Source)
  11.    at com.itextpdf.text.Image.getInstance(Unknown Source)
  12.    at org.me.betaLib.GeneraPdf.creaPdf(GeneraPdf.java:47)
  13.    at org.me.betaLib.Controller.doGet(Controller.java:62)
  14.    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
  15.    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
  16.    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
  17.    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
  18.    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  19.    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
  20.    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  21.    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
  22.  
  23.    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
  24.    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
  25.  
  26.    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
  27.    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
  28. (Http11BaseProtocol.java:665)
  29.    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
  30.    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
  31.    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
  32.    at java.lang.Thread.run(Thread.java:619)




Da quanto si legge il percorso di origine e' c:\eclipse anziche' la cartella del progetto e questo mi crea errore.
come posso risolvere la situazione?
Grazie a chiunque cerchera' di darmi una mano.

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 20:24
Mercoledì, 30/12/2009
le tue risorse devono stare nel pacchetto WAR, per accederci poi si usa:

Codice sorgente - presumibilmente Java

  1. <% String path = getServletContext().getRealPath("path interno al WAR"); %>



a parametro di getRealPath metti quindi il path interno del WAR per raggiungere quella risorsa. Se dentro il pacchetto tu metti la cartella images e vuoi il file logo.jpg:

Codice sorgente - presumibilmente Java

  1. <% String path = getServletContext().getRealPath("images/logo.jpg"); %>


Ultima modifica effettuata da netarrow il 30/12/2009 alle 20:28
PM Quote