如何配置自定义CookieGenerator Spring以覆盖cookie路径

时间:2017-03-21 05:15:47

标签: java session tomcat

我无法在Spring中配置自定义CookieGenerator。 要求非常简单,我需要将cookie的路径设置为root" /"但没有找到任何配置设置。由于我的war文件是portal.war而且bydefault spring正在设置我想要更改的path = / portal。 我在google搜索但是没有选项正在使用coz大多数解决方案,因为它指的是旧版本的spring。

以下是我的尝试: 创建了MyCookieGenerator:

public class MyCookieGenerator extends CookieGenerator {
        @Override
        public String getCookiePath() {
            return DEFAULT_COOKIE_PATH;
        }

        @Override
        public void setCookiePath(String cookiePath) {
            super.setCookiePath(DEFAULT_COOKIE_PATH);
        }

} 

在context.xml中添加了以下bean

< bean id="cookieGenerator" class="com.test.web.util.MyCookieGenerator" />

但这不起作用。它似乎是一些小配置,但我无法找到解决方案。

1 个答案:

答案 0 :(得分:0)

CookieGenerator有一个默认属性D​​EFAULT_COOKIE_PATH,它显示给根目录:

public class CookieGenerator {
    public static final String DEFAULT_COOKIE_PATH = "/";
...
}

如果在xml Spring声明中声明使用它,那么你的cookie路径将被设置为root

<bean id="cookieGenerator" class="com.test.web.util.MyCookieGenerator" />
    <property name="useDefaultPath" value="true"/>
</bean>

希望它有所帮助。 最好的问候!