第一步: 自定义session管理器
package com.zhuang.config;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.LifecycleState;
import org.apache.catalina.Session;
import org.apache.catalina.session.ManagerBase;
import java.io.IOException;
public class NoSessionManager extends ManagerBase implements Lifecycle {
@Override
protected synchronized void startInternal() throws LifecycleException {
super.startInternal();
setState(LifecycleState.STARTING);
}
@Override
protected synchronized void stopInternal() throws LifecycleException {
setState(LifecycleState.STOPPING);
super.stopInternal();
}
@Override
public void load() throws ClassNotFoundException, IOException {
}
@Override
public void unload() throws IOException {
}
@Override
public Session createSession(String sessionId) {
return null;
}
@Override
public Session createEmptySession() {
return null;
}
@Override
public void add(Session session) {
}
@Override
public Session findSession(String id) throws IOException {
return null;
}
@Override
public Session[] findSessions() {
return null;
}
@Override
public void processExpires() {
}
}
第二步: 编写配置类,放入自定义session管理器
@Configuration
public class TomcatConfig {
@Bean
public WebServerFactoryCustomizer<TomcatServletWebServerFactory> cookieProcessorCustomizer() {
// 自定义session管理器,关闭session
return factory -> factory.addContextCustomizers(context -> context.setManager(new NoSessionManager()));
}
}
第三步: 获取session测试,获取的session为null