package com.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import com.interceptor.AuthorizationInterceptor; @Configuration public class InterceptorConfig extends WebMvcConfigurationSupport{ @Bean public AuthorizationInterceptor getAuthorizationInterceptor() { return new AuthorizationInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(getAuthorizationInterceptor()).addPathPatterns("/**").excludePathPatterns("/static/**"); super.addInterceptors(registry); } /** * springboot 2.0配置WebMvcConfigurationSupport之后,会导致默认配置被覆盖,要访问静态资源需要重写addResourceHandlers方法 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("classpath:/resources/") .addResourceLocations("classpath:/static/") .addResourceLocations("classpath:/admin/") .addResourceLocations("classpath:/front/") .addResourceLocations("classpath:/public/"); super.addResourceHandlers(registry); } }
时间: 2023-06-10 11:08:09 浏览: 204
这是一个 Java Spring 的配置类,用于配置拦截器和静态资源访问路径。其中,@Configuration 注解表示这是一个配置类,@Bean 注解表示该方法返回一个 Bean 对象,getAuthorizationInterceptor() 方法返回一个 AuthorizationInterceptor 对象,用于验证用户登录状态。addInterceptors() 方法用于添加拦截器,这里将 AuthorizationInterceptor 对象添加到所有路径上,但排除了 /static/ 路径。addResourceHandlers() 方法用于配置静态资源访问路径,这里将 classpath:/resources/、classpath:/static/、classpath:/admin/、classpath:/front/、classpath:/public/ 这几个路径下的静态资源都配置为可访问的。
相关问题
package com.md.miniback.config.websocket; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.config.annotation.EnableWebSocket; import org.springframework.web.socket.server.standard.ServerEndpointExporter; import javax.websocket.server.ServerEndpointConfig; @Configuration @EnableWebSocket public class WebSocketConfig extends ServerEndpointConfig.Configurator { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } }
根据你提供的代码,你正在使用Spring Boot来配置WebSocket。在你的代码中,你使用了`@EnableWebSocket`注解来启用WebSocket支持,并使用`ServerEndpointExporter`作为Bean来导出WebSocket端点。
这是一个常见的WebSocket配置方法,确保你的项目中已经包含了正确的依赖项,例如`spring-boot-starter-websocket`。
另外,`ServerEndpointConfig.Configurator`是一个抽象类,用于配置WebSocket端点。在你的代码中,你继承了`ServerEndpointConfig.Configurator`,但没有对其进行任何自定义配置。
如果你没有特定的自定义配置需求,可以省略`ServerEndpointConfig.Configurator`的继承,因为`ServerEndpointExporter`会自动为标记有`@ServerEndpoint`注解的类创建并注册WebSocket端点。
请确保你的代码结构和依赖项正确,并尝试运行你的应用程序以查看WebSocket是否正常工作。
希望这能帮助到你!如果还有其他问题,请随时提问。
package com.aichen.socketwebchat.config; import org.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.server.standard.ServerEndpointExporter; @Configuration public class SocketConfig extends WebSocketMessagingAutoConfiguration { @Bean public ServerEndpointExporter serverEndpointExporter(){ return new ServerEndpointExporter(); } }
这是一个关于 WebSocket 的配置文件,其中定义了一个 ServerEndpointExporter 的 Bean。这个 Bean 可以将带有 @ServerEndpoint 注解的类注册为 WebSocket 端点。
阅读全文