Вариант 1: вы используете автономный сервер Tomcat и имеете доступ для изменения файлов на сервере tomcat.
Следуйте ответу от @linzkl
Вариант 2: вы используете автономный сервер Tomcat, но у вас нет доступа для изменения файлов на сервере tomcat.
Создайте новый файл с именем context.xml в папке src/main/webapp/META-INF в своем приложении и вставьте содержимое, указанное ниже.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" />
</Context>
Когда вы развертываете свое приложение в автономном Tomcat, файл context.xml, который вы поместили в папку META-INF, переопределит файл context.xml, указанный в tomcat/conf/context.xml.
Примечание. Если вы используете это решение, вы должны сделать это для каждого отдельного приложения, поскольку META-INF/context.xml зависит от приложения.
Случай 3. Вы используете Встроенный Tomcat.
Создайте новый компонент для WebServerFactoryCustomizer.
@Bean
WebServerFactoryCustomizer<TomcatServletWebServerFactory> cookieProcessorCustomizer() {
return new WebServerFactoryCustomizer<TomcatServletWebServerFactory>() {
@Override
void customize(TomcatServletWebServerFactory tomcatServletWebServerFactory) {
tomcatServletWebServerFactory.addContextCustomizers(new TomcatContextCustomizer() {
@Override
public void customize(Context context) {
context.setCookieProcessor(new LegacyCookieProcessor());
}
});
}
};
}
person
IamVickyAV
schedule
28.06.2019