2011-10-19 79 views
5

我在jetty web-server中部署的jsf web應用程序中遇到問題。當在瀏覽器中訪問應用程序時,jsessionID被添加到url中。我想從那裏刪除它。 在此先感謝。刪除url中的jsessionid

回答

6

在應用程序web.xml或上下文配置中將org.mortbay.jetty.servlet.SessionURL參數設置爲none

請參閱Jetty jsessionId documentation

+0

喜麥克道爾的感謝答覆,我想這但是,我的問題沒有解決。雖然它隱藏了url中的jsessionid,但我仍然無法訪問下一個網頁。我使用Pretty-config來隱藏網址中的實際頁面名稱 – NAC

+0

聽起來像一個不同的問題,雖然沒有足夠的信息來建議解決方案。用足夠的信息發佈一個新問題來重現問題。 – McDowell

+0

我有一個Web應用程序,其中一些用戶可以從他們的機器註冊,而其他人無法使用相同的瀏覽器。他們中的一些人在url中附加了jsession-id,而另一些則沒有。 – NAC

1

您可以通過設置會話特徵來實現。將上下文參數org.eclipse.jetty.servlet.SessionIdPathParameterName設置爲none以禁用URL重寫並防止將jsession ID附加到URL。

在web.xml中,

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

或者,如果你正在使用註解配置,而不是web.xml中,

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

參見:Jetty's Session Management