Salve ragazzi,
volevo sapere se esiste un metodo java che restituisce il percorso assoluto della pagina che l'ha richiamato.
Grazie![]()
Salve ragazzi,
volevo sapere se esiste un metodo java che restituisce il percorso assoluto della pagina che l'ha richiamato.
Grazie![]()
Precisa il contesto! Java EE e quindi Servlet/JSP? Se è questo: getRequestURL() di HttpServletRequest (nota: non ritorna la parte query string)Originariamente inviato da user0
volevo sapere se esiste un metodo java che restituisce il percorso assoluto della pagina che l'ha richiamato.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
in questo caso credo sia java.
In pratica ho un metodo (creapdf) che è richiamato dalla pagina stampa.jsp che si trova nalla cartella foglio di questo percorso:
web root
|______index.jsp
|______pdf______filepdf.pdf
|______foglio____stampa.jsp
|______css
questo metodo non riesce a trovare il file pdf!
Mi intrometto perhè anch'io ho avuto a che fare con questa bestiaccia. Posta il percorso che dai tu al file e soprattutto controlla da dove parte la l'url che riguarda la tua applicazione, io molte volte l'ho dovuto gestire generallizzandolo con:
davanti al percorso fisico, in base a quante sotto directory c'erano prima della mia, partendo sempre però dalla root dell'applicazionecodice:../!! Spero di esserti stato utile....
Emix!!
Ciao e grazie per l'interessamento.Originariamente inviato da Emix_69
Mi intrometto perhè anch'io ho avuto a che fare con questa bestiaccia. Posta il percorso che dai tu al file e soprattutto controlla da dove parte la l'url che riguarda la tua applicazione, io molte volte l'ho dovuto gestire generallizzandolo con:
davanti al percorso fisico, in base a quante sotto directory c'erano prima della mia, partendo sempre però dalla root dell'applicazionecodice:../!! Spero di esserti stato utile....
il mio sistema informativo non è caricato nella cartella webapps di tomcat ma risiede nel workspace di eclipse.
Copiando il file pdf in C:\Programmi\Eclipse JEE\eclipse e scrivendo:
PdfReader reader = new PdfReader(nomeFilePdf);
il file viene caricato senza problemi. Scrivendo:
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(nomeFile));
viene creato il file sempre nella cartella "eclipse" del percorso: C:\Programmi\Eclipse JEE\eclipse
Quindi, eclipse considera come root del progetto la cartella "eclipse" del percorso: C:\Programmi\Eclipse JEE\eclipse
in ogni caso ho provato a fare il deploy del progetto caricandolo su tomcat e anche in quel caso non sono riuscito a capire quale percorso devo usare per accedere al fine presente nella cartella pdf![]()
Per quanto riguarda l'applicazione in locale da te è normale perchè la root, se non la imposti è quella del workSpace che utilizzi, mentre se invece crei un'aaplicazione web, la root, la setti nel file .xml dell'ear se non erro, comunque puoi postare la stack trace dell'errore che ti esce?? In modo da potergli dare un'occhiata!!
Emix!!
codice:org.apache.jasper.JasperException: java.io.IOException: ../PDF/foglio.pdf not found as file or resource. org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:492) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) root cause java.io.IOException: ../PDF/foglio.pdf not found as file or resource. com.itextpdf.text.pdf.RandomAccessFileOrArray.<init>(RandomAccessFileOrArray.java:107) com.itextpdf.text.pdf.RandomAccessFileOrArray.<init>(RandomAccessFileOrArray.java:79) com.itextpdf.text.pdf.PRTokeniser.<init>(PRTokeniser.java:112) com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:171) com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:161) stampaPDF.GestorePdf.stampa(GestorePdf.java:26) org.apache.jsp.foglio.stampa_jsp._jspService(stampa_jsp.java:128) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:376) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Ma è tutto qui?? Comunque utilizzi anche iText o qualche altra libreria?? E' solo per curiosità, ma tornando a noi, se ci fai caso, davanti al percorso, vedi che c'è "../" (naturalmente senza le virgolette), se come credo glielo hai messo tu, evidentemente uno non basta, perchè questo "../" sale di un livello, evidentemente ce n'è un altro, (anche perchè se la root è ancora quella che hai scritto prima e io non ho letto male, devi salire per due volte per arrivare alla root, quindi aggiungici un altra volta "../" senza le virgolette e riprovaci!! Se proprio vuoi fare un altra prova metti qualche breack point e falla girare in debug, così vedi perchè e dove scoppia
!!
Emix!!
beh si, è tutto qui...il problema è che non trova il file pdf altrimenti funziona tutto
Uso solo itext.
quel "../" l'ho messo io perchè, come spiegavo prima, ho un metodo (creapdf) che è richiamato dalla pagina stampa.jsp che si trova nalla cartella foglio di questo percorso:
web root
|______index.jsp
|______pdf______filepdf.pdf
|______foglio____stampa.jsp
|______css
interessante, come si fa sta cosa?Se proprio vuoi fare un altra prova metti qualche breack point e falla girare in debug, così vedi perchè e dove scoppia !!