From 14c85838f46e4f9059582b207c2e729c53a5d33d Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Wed, 11 Jun 2025 10:06:25 +0800 Subject: [PATCH] springboot3 --- libs/smiley-http-proxy-servlet-2.0.jar | Bin 0 -> 18516 bytes pom.xml | 25 ++++-- .../genersoft/iot/vmp/VManageBootstrap.java | 8 +- .../genersoft/iot/vmp/conf/DynamicTask.java | 2 +- .../iot/vmp/conf/ProxyServletConfig.java | 6 +- .../AnonymousAuthenticationEntryPoint.java | 4 +- .../security/JwtAuthenticationFilter.java | 8 +- .../iot/vmp/conf/security/JwtUtils.java | 2 +- .../iot/vmp/conf/security/LogoutHandler.java | 6 +- .../vmp/conf/security/WebSecurityConfig.java | 78 ++++++++---------- .../iot/vmp/conf/webLog/LogChannel.java | 6 +- .../controller/CommonChannelController.java | 2 +- .../vmp/gb28181/controller/DeviceQuery.java | 4 +- .../controller/GBRecordController.java | 2 +- .../gb28181/controller/MediaController.java | 2 +- .../gb28181/controller/PlayController.java | 2 +- .../controller/PlaybackController.java | 2 +- .../vmp/gb28181/controller/SseController.java | 4 +- .../event/alarm/AlarmEventListener.java | 2 +- .../vmp/jt1078/config/JT1078Controller.java | 2 +- .../vmp/media/zlm/ZLMHttpHookListener.java | 2 +- .../RedisPushStreamListMsgListener.java | 2 +- .../service/redisMsg/dto/RpcController.java | 2 +- .../controller/StreamProxyController.java | 2 +- .../controller/StreamPushController.java | 2 +- .../cloudRecord/CloudRecordController.java | 4 +- .../iot/vmp/vmanager/log/LogController.java | 4 +- .../vmp/vmanager/server/ServerController.java | 2 +- .../iot/vmp/vmanager/user/UserController.java | 4 +- 29 files changed, 96 insertions(+), 95 deletions(-) create mode 100644 libs/smiley-http-proxy-servlet-2.0.jar diff --git a/libs/smiley-http-proxy-servlet-2.0.jar b/libs/smiley-http-proxy-servlet-2.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..876b56c61c001a4fc61f1c40c9afa87532b20b3f GIT binary patch literal 18516 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 MO@QataJhhZ02R%`t^fc4 literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 2ba98012b..ad5ba5bf6 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.18 + 3.3.5 com.genersoft @@ -56,6 +56,9 @@ ${project.build.directory}/asciidoc ${project.build.directory}/asciidoc/html ${project.build.directory}/asciidoc/pdf + + 17 + 17 @@ -121,7 +124,7 @@ org.mybatis.spring.boot mybatis-spring-boot-starter - 2.2.2 + 3.0.3 com.zaxxer @@ -209,6 +212,7 @@ javax.validation validation-api + 2.0.1.Final @@ -294,7 +298,14 @@ org.mitre.dsmiley.httpproxy smiley-http-proxy-servlet - 1.12.1 + 2.0 + system + ${basedir}/libs/smiley-http-proxy-servlet-2.0.jar + + + org.apache.httpcomponents + httpclient + 4.5.14 @@ -374,7 +385,7 @@ org.springframework.boot spring-boot-maven-plugin - 2.7.2 + 3.3.1 true true @@ -386,8 +397,8 @@ maven-compiler-plugin 3.8.1 - 1.8 - 1.8 + 17 + 17 org.projectlombok @@ -412,7 +423,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.2 + 3.2.5 true diff --git a/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java b/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java index 9a7912d20..cabb8b2ca 100644 --- a/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java +++ b/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java @@ -13,10 +13,10 @@ import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.scheduling.annotation.EnableScheduling; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.SessionCookieConfig; -import javax.servlet.SessionTrackingMode; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.SessionCookieConfig; +import jakarta.servlet.SessionTrackingMode; import java.util.Collections; /** diff --git a/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java b/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java index a020fcb94..3a1fb917a 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java @@ -6,7 +6,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.time.Instant; import java.util.Date; import java.util.Map; diff --git a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java index ab9c2d458..6fb02ac0d 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java @@ -15,9 +15,9 @@ import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.util.ObjectUtils; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.ConnectException; diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java b/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java index ab85c458c..08827c564 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java @@ -10,8 +10,8 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.stereotype.Component; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.nio.charset.StandardCharsets; diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java b/src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java index 9a5701e2b..dc667daf2 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java @@ -11,10 +11,10 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java b/src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java index 37a3307e5..d045710df 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java @@ -24,7 +24,7 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Component; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.io.BufferedReader; import java.io.File; import java.io.InputStream; diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/LogoutHandler.java b/src/main/java/com/genersoft/iot/vmp/conf/security/LogoutHandler.java index 48b40cbec..4809e3268 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/LogoutHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/security/LogoutHandler.java @@ -5,9 +5,9 @@ import org.springframework.security.core.Authentication; import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; import org.springframework.stereotype.Component; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; /** diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java index 40809beeb..6c5dd8e9a 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java @@ -12,9 +12,12 @@ import org.springframework.security.config.annotation.authentication.builders.Au import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.CorsConfigurationSource; @@ -35,7 +38,7 @@ import java.util.List; @EnableGlobalMethodSecurity(prePostEnabled = true) @Order(1) @Slf4j -public class WebSecurityConfig extends WebSecurityConfigurerAdapter { +public class WebSecurityConfig { @Autowired private UserSetting userSetting; @@ -55,15 +58,15 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private JwtAuthenticationFilter jwtAuthenticationFilter; + @Bean + public AuthenticationManager authenticationManager(HttpSecurity http) throws Exception { + return http.getSharedObject(AuthenticationManagerBuilder.class) + .authenticationProvider(authProvider()) + .build(); + } - /** - * 配置认证方式 - * - * @param auth - * @throws Exception - */ - @Override - protected void configure(AuthenticationManagerBuilder auth) throws Exception { + @Bean + public DaoAuthenticationProvider authProvider() { DaoAuthenticationProvider provider = new DaoAuthenticationProvider(); // 设置不隐藏 未找到用户异常 provider.setHideUserNotFoundExceptions(true); @@ -71,11 +74,11 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { provider.setUserDetailsService(userDetailsService); // 设置密码加密算法 provider.setPasswordEncoder(passwordEncoder()); - auth.authenticationProvider(provider); + return provider; } - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { List defaultExcludes = new ArrayList<>(); defaultExcludes.add("/"); defaultExcludes.add("/#/**"); @@ -101,33 +104,30 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { defaultExcludes.add("/api/device/query/snap/**"); defaultExcludes.add("/index/hook/abl/**"); - - if (userSetting.getInterfaceAuthentication() && !userSetting.getInterfaceAuthenticationExcludes().isEmpty()) { defaultExcludes.addAll(userSetting.getInterfaceAuthenticationExcludes()); } - http.headers().contentTypeOptions().disable() - .and().cors().configurationSource(configurationSource()) - .and().csrf().disable() - .sessionManagement() - .sessionCreationPolicy(SessionCreationPolicy.STATELESS) + http + .headers(headers -> headers.contentTypeOptions(contentType -> contentType.disable())) + .cors(cors -> cors.configurationSource(configurationSource())) + .csrf(csrf -> csrf.disable()) + .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) // 配置拦截规则 - .and() - .authorizeRequests() - .requestMatchers(CorsUtils::isPreFlightRequest).permitAll() - .antMatchers(defaultExcludes.toArray(new String[0])).permitAll() - .anyRequest().authenticated() + .authorizeHttpRequests(auth -> auth + .requestMatchers(CorsUtils::isPreFlightRequest).permitAll() + .requestMatchers(defaultExcludes.toArray(new String[0])).permitAll() + .anyRequest().authenticated() + ) // 异常处理器 - .and() - .exceptionHandling() - .authenticationEntryPoint(anonymousAuthenticationEntryPoint) - .and().logout().logoutUrl("/api/user/logout").permitAll() - .logoutSuccessHandler(logoutHandler) - ; - http.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); + .exceptionHandling(exception -> exception.authenticationEntryPoint(anonymousAuthenticationEntryPoint)) + .logout(logout -> logout.logoutUrl("/api/user/logout") + .permitAll() + .logoutSuccessHandler(logoutHandler)); + http.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); + return http.build(); } CorsConfigurationSource configurationSource() { @@ -139,7 +139,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { if (userSetting.getAllowedOrigins() != null && !userSetting.getAllowedOrigins().isEmpty()) { corsConfiguration.setAllowCredentials(true); corsConfiguration.setAllowedOrigins(userSetting.getAllowedOrigins()); - }else { + } else { // 在SpringBoot 2.4及以上版本处理跨域时,遇到错误提示:当allowCredentials为true时,allowedOrigins不能包含特殊值"*"。 // 解决方法是明确指定allowedOrigins或使用allowedOriginPatterns。 corsConfiguration.setAllowCredentials(true); @@ -156,17 +156,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { /** * 描述: 密码加密算法 BCrypt 推荐使用 **/ - @Bean public BCryptPasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } - - /** - * 描述: 注入AuthenticationManager管理器 - **/ - @Override - @Bean - public AuthenticationManager authenticationManager() throws Exception { - return super.authenticationManager(); - } -} +} \ No newline at end of file diff --git a/src/main/java/com/genersoft/iot/vmp/conf/webLog/LogChannel.java b/src/main/java/com/genersoft/iot/vmp/conf/webLog/LogChannel.java index e999b2717..bd94fbc02 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/webLog/LogChannel.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/webLog/LogChannel.java @@ -2,13 +2,13 @@ package com.genersoft.iot.vmp.conf.webLog; import lombok.extern.slf4j.Slf4j; -import javax.websocket.*; -import javax.websocket.server.ServerEndpoint; +import jakarta.websocket.*; +import jakarta.websocket.server.ServerEndpoint; import java.io.IOException; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; - @ServerEndpoint(value = "/channel/log") +@ServerEndpoint(value = "/channel/log") @Slf4j public class LogChannel { diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/CommonChannelController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/CommonChannelController.java index bb6d2fd34..c13637a88 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/CommonChannelController.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/CommonChannelController.java @@ -31,7 +31,7 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.DeferredResult; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.net.MalformedURLException; import java.net.URL; import java.util.List; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/DeviceQuery.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/DeviceQuery.java index 9f4cebf3d..a0edfc2df 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/DeviceQuery.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/DeviceQuery.java @@ -31,8 +31,8 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.DeferredResult; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/GBRecordController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/GBRecordController.java index 4b9129af1..368538f68 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/GBRecordController.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/GBRecordController.java @@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.context.request.async.DeferredResult; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.UUID; import java.util.concurrent.TimeUnit; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java index af2062b59..861594162 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java @@ -19,7 +19,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; @Tag(name = "媒体流相关") diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlayController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlayController.java index 4eb682156..d4b75bf3b 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlayController.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlayController.java @@ -37,7 +37,7 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.DeferredResult; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.net.MalformedURLException; import java.net.URL; import java.util.List; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlaybackController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlaybackController.java index 3b1fb108c..fa6c86a7b 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlaybackController.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlaybackController.java @@ -33,7 +33,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.context.request.async.DeferredResult; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import javax.sip.InvalidArgumentException; import javax.sip.SipException; import java.net.MalformedURLException; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/SseController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/SseController.java index 08cb88579..8e97295df 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/SseController.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/SseController.java @@ -8,8 +8,8 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/alarm/AlarmEventListener.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/alarm/AlarmEventListener.java index a5ffc1a1e..46c4cc14c 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/alarm/AlarmEventListener.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/alarm/AlarmEventListener.java @@ -6,7 +6,7 @@ import org.jetbrains.annotations.NotNull; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; -import javax.annotation.Resource; +import jakarta.annotation.Resource; /** * 报警事件监听器. diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/config/JT1078Controller.java b/src/main/java/com/genersoft/iot/vmp/jt1078/config/JT1078Controller.java index 0c71d26a9..b5783ff1e 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/config/JT1078Controller.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/config/JT1078Controller.java @@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; +import jakarta.annotation.Resource; /** * curl http://localhost:18080/api/jt1078/start/live/18864197066/1 diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java index 95dcf514e..742548fbf 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java @@ -20,7 +20,7 @@ import org.springframework.context.ApplicationEventPublisher; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; diff --git a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamListMsgListener.java b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamListMsgListener.java index ca7048288..127b92a9c 100755 --- a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamListMsgListener.java +++ b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamListMsgListener.java @@ -13,7 +13,7 @@ import org.springframework.data.redis.connection.MessageListener; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/dto/RpcController.java b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/dto/RpcController.java index 4544812f5..30f8b885e 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/dto/RpcController.java +++ b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/dto/RpcController.java @@ -5,7 +5,7 @@ import com.genersoft.iot.vmp.conf.redis.RedisRpcConfig; import com.genersoft.iot.vmp.conf.redis.bean.RedisRpcClassHandler; import org.springframework.beans.factory.annotation.Autowired; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.lang.reflect.Method; public class RpcController { diff --git a/src/main/java/com/genersoft/iot/vmp/streamProxy/controller/StreamProxyController.java b/src/main/java/com/genersoft/iot/vmp/streamProxy/controller/StreamProxyController.java index 7d651219e..a35b80683 100755 --- a/src/main/java/com/genersoft/iot/vmp/streamProxy/controller/StreamProxyController.java +++ b/src/main/java/com/genersoft/iot/vmp/streamProxy/controller/StreamProxyController.java @@ -23,7 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.net.MalformedURLException; import java.net.URL; import java.util.Map; diff --git a/src/main/java/com/genersoft/iot/vmp/streamPush/controller/StreamPushController.java b/src/main/java/com/genersoft/iot/vmp/streamPush/controller/StreamPushController.java index d29e1a128..5e979342c 100755 --- a/src/main/java/com/genersoft/iot/vmp/streamPush/controller/StreamPushController.java +++ b/src/main/java/com/genersoft/iot/vmp/streamPush/controller/StreamPushController.java @@ -35,7 +35,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.DeferredResult; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java index 291f7f9bd..303517465 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java @@ -29,8 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.DeferredResult; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; import java.io.IOException; diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java index 209dc6fb4..58f861ab8 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java @@ -16,8 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java index 3ffc9e310..6098218c1 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java @@ -42,7 +42,7 @@ import oshi.hardware.HardwareAbstractionLayer; import oshi.hardware.NetworkIF; import oshi.software.os.OperatingSystem; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.io.File; import java.text.DecimalFormat; import java.util.*; diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java index 63ede950d..052572236 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java @@ -24,8 +24,8 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import javax.security.sasl.AuthenticationException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.time.LocalDateTime; import java.util.List;