Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    230

    [Servlet] impostare path per sendRedirect

    suppunete di voler accedere all'indirizzo
    http://localhost/pool/test/question.html
    mediante un sendRedirect di una servlet


    al momento quello che faccio ed è piuttosto "bruttarello"
    String path="http://localhost/pool/test/question.html
    response.sendRedirect(path)

    Io vorrei evitare di inserire nel codice il path, allora in un file.txt conservo /test/question.html (è una mia esisgenza salvare solo questa parte dell'indirizzo) mentre vorrei ricavare in maniera automatica la parte "http://localhost/pool" e poi lo concateno con /test/question.html ed infine passo tutto al metodo sendRedirect
    Il mio problema è ricavare proprio la parte "http://localhost/pool"...
    Grazie

  2. #2
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    dai un occhio al metodo .getContextPath() di ServletContext

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    230
    Scusami nether forse un poco rinco.......
    Il metodo getContextPath() per la classe ServletContext non esiste ma esiste un altro che si chiama getRealPath il quale restituisce un stringa del tipo C:\Apache\Tomcat......
    e non va bene per sendRedirect il quale vuole una stringa che indica un indirizzo del tipo http:/localhost... perchè deve far fare un get al client.

    In realtà il metodo getContextPath() esiste per HttpServletRequest e quindi dovrei prendere l'informazione del contesto proprio dalla request, non so se è una cosa tanto buona...

  4. #4
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    come non esiste?
    http://java.sun.com/javaee/5/docs/ap...tContextPath()

    in ogni caso prova a stampare sia quello preso dal ServletContext (request.getSession().getServletContext().getConte xtPath()), sia quello preso direttamente da request (request.getContextPath()) e vedi se si differenziano e come... quello a te necessario dovrebbe essere il primo, nel caso siano diversi.

    getRealPath() ti confermo che ovviamente non c'entra nulla con quanto scritto sopra

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    230
    Scusami se mi faccio vivo solo adesso.
    Ora ti posso spiegare perchè secondo me il metodo getContextPath() non esiste.
    Io sto usando Tomcat 5.5 il quale fa uso delle servlet fino alla versione 2.4 la cui classe ServletContext non supporta il metodo che mi hai suggerito che fa parte della versione 2.5 in poi!
    Non esiste un altro modo per estrarre l'indirizzo?
    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Un pezzo alla volta, usando request.
    codice:
    String url = request.getScheme()+"://"+
       request.getServerName()+":"+
       request.getServerPort()+
       request.getContextPath();

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    230
    grazie, proverò e ti faccio sapere

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    230
    Ok funziona grazie

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.