2011-10-19 80 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