2011-10-19 11 views
5

Sono di fronte a un problema nell'applicazione Web jsf distribuita nel server Web jetty. Quando si accede all'applicazione nel browser, jsessionID viene aggiunto nell'URL. Voglio rimuoverlo da lì. Grazie in anticipo.rimuovere jsessionid nell'url

risposta

6

Impostare il parametro org.mortbay.jetty.servlet.SessionURL su none nell'applicazione web.xml o nella configurazione del contesto.

Vedere Jetty jsessionId documentation.

+0

hi McDowell grazie per la risposta, ho provato questo ma, il mio problema non è risolto. Anche se nasconde jsessionid in url ancora non riesco ad accedere alla prossima pagina web. Sto usando Pretty-config per nascondere il nome effettivo della pagina nell'URL – NAC

+0

Sembra un problema diverso, anche se non ci sono abbastanza informazioni per suggerire una soluzione. Pubblica una nuova domanda con informazioni sufficienti per riprodurre il problema. – McDowell

+0

ho un'applicazione web in cui alcuni utenti sono in grado di registrarsi dalle loro macchine mentre altri non sono in grado di farlo nonostante usino lo stesso browser. Alcuni di loro ottengono l'id jsession aggiunto in url mentre altri no. – NAC

1

È possibile farlo impostando le caratteristiche di sessione. Impostare il parametro di contesto org.eclipse.jetty.servlet.SessionIdPathParameterName su none per disabilitare la riscrittura dell'URL e impedire l'ID jsession aggiunto all'URL.

in web.xml,

<context-param> 
    <param-name>org.eclipse.jetty.servlet.SessionIdPathParameterName</param-name> 
    <param-value>none</param-value> 
</context-param> 

Oppure, se si utilizza l'annotazione config invece di web.xml,

@Override 
public void onStartup(ServletContext servletContext) throws ServletException { 
     servletContext.setInitParameter("org.eclipse.jetty.servlet.SessionIdPathParameterName", "none"); 
} 

consultare: Jetty's Session Management