使用spring-session配置了Filter之后报错,我使用的是Java配置,以下是我的配置
public class ManagementWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class[]{RootConfig.class};
}
protected Class<?>[] getServletConfigClasses() {
return new Class[]{ServletConfig.class};
}
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
@ComponentScan(basePackages = {"com.pb.configuration"})
@Configuration
@PropertySource("classpath:redis.properties")
public class RootConfig {
@Value("${redis_hostName}")
private String hostname;
@Value("${redis_port}")
private String port;
@Value("${redis_password}")
private String password;
@Value("${redis_timeout}")
private String timeout;
@Bean
public JedisPoolConfig jedisPoolConfig(){
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(10);
jedisPoolConfig.setMaxTotal(100);
return jedisPoolConfig;
}
@Bean
public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig jedisPoolConfig)
{
JedisConnectionFactory factory = new JedisConnectionFactory();
factory.setPoolConfig(jedisPoolConfig);
factory.setHostName(hostname);
factory.setPort(Integer.parseInt(port));
factory.setPassword(password);
factory.setTimeout(Integer.parseInt(timeout));
factory.setUsePool(true);
return factory;
}
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
@Bean
public RedisHttpSessionConfiguration redisHttpSessionConfiguration(){
RedisHttpSessionConfiguration redisHttpSessionConfiguration = new RedisHttpSessionConfiguration();
redisHttpSessionConfiguration.setMaxInactiveIntervalInSeconds(600);
return redisHttpSessionConfiguration;
}
}
@ComponentScan(basePackages = {"com.pb"})
@Configuration
@EnableWebMvc
public class ServletConfig extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
public class WebApplication implements WebApplicationInitializer {
public void onStartup(ServletContext servletContext) throws ServletException {
javax.servlet.FilterRegistration.Dynamic springSessionRepositoryFilter = servletContext.addFilter("springSessionRepositoryFilter",DelegatingFilterProxy.class);
springSessionRepositoryFilter.addMappingForUrlPatterns(null,false,"/*");
}
}