Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25

Discussione: jsp problema con link

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312

    jsp problema con link

    Salve a tutti,
    sto realizzando un'applicazione in java su jboss in cui devo visualizzare dei file tramite browser.
    Ho notato che l'unica cartella in cui sono visualizzabili è metterli nella cartella di jboss .../server/default/deploy/ROOT.war.
    In questo modo se digito nel browser http://localhost:8080/nomefile lo visualizzo correttamente.
    Il problema è che in una jsp di un mio progetto devo mettere un link a questi file e non funziona.
    Supponiamo che la mia applicazione si chiami APPLICAZIONE. Se metto il link questo diventa:
    http://localhost:8080/APPLICAZIONE/h...nomefile....in poche parole lo aggiunge al percorso corrente in cui si trova la jsp, come mai? Come posso fare?

    Grazie in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    allora la web application ha anche un context root che di default dovrebbe essere il nome della tua applicazione (il nome del war per essere precisi) ed è un parametro che devi specificare in caso non vuoi inserirlo o vuoi che sia differente.

    dai una rapida occhiata qui riguardo al set di un context root.

    In genere io ti consiglio di tenerlo, più che altro se nello stesso server deploy diverse applicazioni dai modo al container di riconoscere quella a cui ti riferisci

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Il problema è proprio questo...la mia context root è il nome della mia applicazione e questo mi sta bene...il problema è che quando metto il link a questi file il percorso deve essere assoluto e non passare per la context root, sono stato chiaro? Spero di essermi spiegato decentemente

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    il percorso non è mai assoluto, è relativo alla posizione in cui sei (e soprattutto tu hai accesso fino alla context root, altrove puoi avere limitazioni).

    se tu hai un file
    WebContent/webpages/quello/che/ti/pare/file.jsp

    e vuoi andare a

    WebContent/webpages/file2.jsp

    il tuo indirizzo è del tipo

    ../../../../file2.jsp

    cioè sali di 4 livelli e a quel punto trovi file2.jsp

    o al max puoi riferirti a

    /contextroot/webpages/file2.jsp

    ma un path assoluto partendo da http in genera non li hai (almeno io non l'ho mai visto usare, ho sempre parlato di path relativi internamente al context root)

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    il problema valia è che la cartella ROOT.war fa parte di jboss non dell'applicazione e sembra l'unico posto in cui puoi mettere file da visualizzare via browser. Se uso Web Content, come mi dissi te, ad ogni deploy perdo i file...dove li posso mettere? ma se risalgo l'albero con .// non posso uscire dalla context root?

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    non ho capito che devi fare, perché devi uscire dalla context root?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Non posso mettere i miei file che sono soggetti a modifiche nella context root anche perchè ad ogni undeploy li perderei. Quindi mi serve una posizione a cui poter accedere da browser e sembra che l'unica possibile sia la root.war di jboss e non dell'applicazione. In conclusione, non so dove piazzarli

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Si suppone che in produzione i deploy siano molto pochi e quindi volendo potresti usare la web root, ma non è una soluzione.
    Per queste robe l'amministratore del server assegna un percorso (noto) al server, scritto in un file di configurazione, da dove la tua applicazione ha permesso di accesso.

    Quando ho messo su un sistema di questo tipo, per i miei test in locale ho usato un percorso del tipo

    /home/valia/myfiles

    e il server lanciato da utente valia ha accesso alla locazione e/o può salvare/leggere files.

    Il percorso ovviamente è configurabile (tramite parametri ecc), ma l'applicazione non parte se non lo trova (visto che per i suoi mestieri ne ha bisogno).

    In generale sul server non è così semplice come per l'utente (cioè non è detto che ti vai a prendere la home ed esegui), ma devi fare in modo che in un file di configurazione scrivi un path assoluto accessibile dalla tua applicazione stessa, in modo tale che questo path è letto all'avvio. Per accessibile si intende che l'utente che esegue jboss deve avere permessi di lettura/scrittura su quella locazione.

    Non è una buona cosa usare la web root per mantenere informazioni dell'application, sia perché la web root nasce per mantenere le applicazioni web, sia perché alla prima pulizia i file verrebbero cancellati.

    Ti consiglio anche di rivedere la politica di memorizzazione di file (visto che questi occupano spazio e in genere lo spazio lasciato ad un web server è limitato).

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Il mio scenario è questo... un utente tramite interfaccia web può fare upload di file e visualizzare una lista dei file di cui ha fatto l'upload sotto forma di link. Cliccandoci sopra lo visualizza. Se inserisco questi file fuori da jboss, magari settando il context-param come può l'utente vedere questi file tramite browser? è fattibile?

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    per l'utente devi creare tu una pagina web in cui hai la lista dei file e il relativo link per il download, l'utente deve sapere solo che li ha buttati sul server, come il server si organizza sono fatti del developer, non dell'utente. L'utente non deve avere accesso all'effettiva locazione fisica del file, all'utente basta un link per il download (ovviamente il download lo gestisci tu).

    Il link che tu metti ti rimanda ad una pagina o uno script che fa solo il download (come parametro avrà il nome del file su cui hai cliccato)

    Io ho parlato di download, ovviamente la visualizzazione mica cambia il principio di funzionamento/collegamento

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.