diff --git a/logs/web_project.log b/logs/web_project.log index c9d3aac..b91b0be 100644 --- a/logs/web_project.log +++ b/logs/web_project.log @@ -1,2514 +1,17305 @@ -2025-10-30 12:30:31 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 12:30:31 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 12:30:31 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 12:30:31 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable -2025-10-30 12:30:31 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2025-10-30 12:30:32 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 12:30:32 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 52 ms. Found 5 JPA repository interfaces. -2025-10-30 12:30:32 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 12:30:33 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 12:30:33 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 12:30:33 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 12:30:33 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 12:30:33 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1565 ms -2025-10-30 12:30:33 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 12:30:33 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final -2025-10-30 12:30:34 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} -2025-10-30 12:30:34 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 12:30:34 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 12:30:34 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 12:30:34 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 12:30:34 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 12:30:35 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@40f572c5, org.springframework.security.web.context.SecurityContextPersistenceFilter@7d133cef, org.springframework.security.web.header.HeaderWriterFilter@39186356, org.springframework.security.web.authentication.logout.LogoutFilter@37c6869c, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1001/0x00000007c08d0828@44200181, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@265413ff, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@14289af1, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6c5410e7, org.springframework.security.web.session.SessionManagementFilter@1b4f61b, org.springframework.security.web.access.ExceptionTranslationFilter@73558c5e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2731edb7] -2025-10-30 12:30:36 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 12:30:36 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 12:30:36 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 12:30:36 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 4.9 seconds (JVM running for 5.717) -2025-10-30 12:46:28 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-30 12:46:28 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-30 12:46:28 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms -2025-10-30 12:46:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:46:28 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 12:46:28 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 12:46:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 12:46:28 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:46:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:46:28 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 12:46:28 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 12:46:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 12:46:28 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:46:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:46:28 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 12:46:28 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 12:46:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 12:46:28 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:46:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:49:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:49:52 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 12:49:52 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 12:49:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 12:49:52 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:49:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:49:52 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 12:49:52 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 12:49:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 12:49:52 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:49:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:49:52 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 12:49:52 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 12:49:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 12:49:52 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:49:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:50:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:50:53 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 12:50:53 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 12:50:53 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 12:50:53 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:50:53 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:50:53 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 12:50:53 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 12:50:53 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 12:50:53 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:50:53 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:50:53 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 12:50:53 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 12:50:53 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 12:50:53 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:50:53 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:50:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:50:59 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 12:50:59 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 12:50:59 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 12:50:59 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:50:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:50:59 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 12:50:59 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 12:50:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 12:50:59 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:50:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:50:59 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 12:50:59 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 12:50:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 12:50:59 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:50:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:22 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:22 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 12:56:22 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 12:56:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 12:56:22 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:22 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:22 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 12:56:22 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 12:56:22 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 12:56:22 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:22 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 12:56:22 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 12:56:22 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 12:56:22 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:22 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:24 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 12:56:24 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 12:56:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 12:56:24 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:24 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 12:56:24 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 12:56:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 12:56:24 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:24 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 12:56:24 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 12:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 12:56:24 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:26 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 12:56:26 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 12:56:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 12:56:26 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:26 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 12:56:26 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 12:56:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 12:56:26 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:26 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 12:56:26 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 12:56:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 12:56:26 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:30 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 12:56:30 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 12:56:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 12:56:30 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:30 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 12:56:30 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 12:56:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 12:56:30 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:56:30 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 12:56:30 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 12:56:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 12:56:30 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:56:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:58:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:58:21 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 12:58:21 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 12:58:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 12:58:21 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:58:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:58:21 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 12:58:21 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 12:58:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 12:58:21 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:58:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:58:21 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 12:58:21 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 12:58:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 12:58:21 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 12:58:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 12:58:59 [http-nio-8080-exec-10] INFO c.q.m.controller.AuthController - 用户登录请求: qingfeng -2025-10-30 12:58:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: qingfeng -2025-10-30 12:58:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [qingfeng] -2025-10-30 12:58:59 [http-nio-8080-exec-10] ERROR c.q.m.controller.AuthController - 登录失败: 用户名或密码错误 -2025-10-30 12:59:09 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: qingfeng -2025-10-30 12:59:09 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: qingfeng -2025-10-30 12:59:09 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [qingfeng] -2025-10-30 12:59:09 [http-nio-8080-exec-9] ERROR c.q.m.controller.AuthController - 登录失败: 用户名或密码错误 -2025-10-30 12:59:35 [http-nio-8080-exec-2] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 12:59:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 12:59:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 13:01:25 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:01:25 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:01:31 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 359 -2025-10-30 13:01:31 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 点赞消息: 359 -2025-10-30 13:01:31 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359] -2025-10-30 13:01:31 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359] -2025-10-30 13:01:32 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 358 -2025-10-30 13:01:32 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 点赞消息: 358 -2025-10-30 13:01:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [358] -2025-10-30 13:01:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [358] -2025-10-30 13:02:45 [http-nio-8080-exec-10] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 13:02:45 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 13:02:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 13:03:38 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 13:03:38 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 13:03:38 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 13:03:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:03:38 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:03:38 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:03:38 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:03:38 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:03:38 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:03:38 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:03:38 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:03:38 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:03:38 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:03:38 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:03:38 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:03:38 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:03:38 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:03:38 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:03:38 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:03 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:04:03 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:04:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:04:03 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:03 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:03 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:04:03 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:04:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:04:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:03 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:04:03 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:04:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:04:03 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:11 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:11 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:04:11 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:04:11 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:04:11 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:11 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:11 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:04:11 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:04:11 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:04:11 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:11 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:11 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:04:11 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:04:11 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:04:11 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:11 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:15 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:04:15 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:04:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:04:15 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:15 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:04:15 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:04:15 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:04:15 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:15 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:15 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:04:15 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:04:15 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:04:15 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:36 [http-nio-8080-exec-10] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 13:04:36 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 13:04:36 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 13:04:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:36 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:04:36 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:04:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:04:36 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:36 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:36 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:04:36 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:04:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:04:36 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:36 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:36 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:04:36 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:04:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:04:36 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:36 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:41 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:41 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:04:41 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:04:41 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:04:41 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:41 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:41 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:04:41 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:04:41 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:04:41 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:41 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:04:42 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:04:42 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:04:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:04:42 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:04:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:11:14 [http-nio-8080-exec-6] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 13:11:14 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 13:11:14 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 13:13:43 [http-nio-8080-exec-8] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 13:13:43 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 13:13:43 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 13:13:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:13:43 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:13:43 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:13:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:13:43 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:13:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:13:43 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:13:43 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:13:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:13:43 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:13:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:13:43 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:13:43 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:13:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:13:43 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:13:43 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:00 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:00 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:14:00 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:14:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:14:00 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:14:00 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:00 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:14:00 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:14:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:14:00 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:14:00 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:00 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:14:00 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:14:00 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:14:00 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:14:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:51 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:14:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:14:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:14:51 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:14:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:51 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:14:51 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:14:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:14:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:14:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:51 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:14:51 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:14:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:14:51 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:14:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:53 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:53 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:14:53 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:14:53 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:14:53 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:14:53 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:53 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:14:53 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:14:53 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:14:53 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:14:53 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:14:53 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:14:53 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:14:53 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:14:53 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:14:53 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:11 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:11 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:15:11 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:15:11 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:15:11 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:15:11 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:11 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:15:11 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:15:11 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:15:11 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:15:11 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:11 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:15:11 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:15:11 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:15:11 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:15:11 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:26 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:15:26 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:15:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:15:26 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:15:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:26 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:15:26 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:15:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:15:26 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:15:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:26 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:15:26 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:15:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:15:26 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:15:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:55 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 13:15:55 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 13:15:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 13:15:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:55 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:15:55 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:15:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:15:55 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:15:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:55 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:15:55 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:15:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:15:55 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:15:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:15:55 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:15:55 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:15:55 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:15:55 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:15:55 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:16:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:16:06 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:16:06 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:16:06 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:16:06 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:16:06 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:16:06 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:16:06 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:16:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:16:06 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:16:06 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:16:06 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:16:06 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:16:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:16:06 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:16:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:18:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:18:36 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:18:36 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:18:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:18:36 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:18:36 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:18:36 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:18:36 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:18:36 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:18:36 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:18:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:18:36 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:18:36 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:18:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:18:36 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:18:36 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:28:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:28:17 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:28:17 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:28:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:28:17 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:28:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:28:17 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:28:17 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:28:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:28:17 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:28:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:28:17 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:28:17 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:28:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:28:17 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:28:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:28:32 [http-nio-8080-exec-1] INFO c.q.m.controller.AuthController - 用户登录请求: 12346 -2025-10-30 13:28:32 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 12346 -2025-10-30 13:28:32 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [12346] -2025-10-30 13:28:32 [http-nio-8080-exec-1] ERROR c.q.m.controller.AuthController - 登录失败: 用户名或密码错误 -2025-10-30 13:28:32 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:28:32 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:28:32 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:28:32 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:28:32 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:28:32 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:28:32 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:28:32 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:28:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:28:32 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:28:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:28:32 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:28:32 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:28:32 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:28:32 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:28:32 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:29:58 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 13:29:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 13:29:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 13:29:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:29:58 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:29:58 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:29:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:29:58 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:29:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:29:58 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:29:58 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:29:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:29:58 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:29:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:29:58 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:29:58 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:29:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:29:58 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:29:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:31:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:31:02 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:31:02 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:31:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:31:02 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:31:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:31:02 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:31:02 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:31:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:31:02 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:31:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:31:02 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:31:02 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:31:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:31:02 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:31:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:31:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:31:17 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:31:17 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:31:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:31:17 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:31:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:31:17 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:31:17 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:31:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:31:17 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:31:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:31:17 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:31:17 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:31:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:31:17 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:31:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:41:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:41:51 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:41:51 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:41:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:41:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:41:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:41:51 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:41:51 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:41:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:41:51 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:41:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:41:51 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:41:51 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:41:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:41:51 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:41:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:44:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:44:35 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:44:35 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:44:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:44:35 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:44:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:44:35 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:44:35 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:44:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:44:35 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:44:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:44:35 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:44:35 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:44:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:44:35 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:44:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:44:40 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:44:40 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:44:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:44:45 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:44:45 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:44:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:44:45 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:44:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:44:45 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:44:45 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:44:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:44:45 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:44:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:44:45 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:44:45 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:44:45 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:44:45 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:44:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:45:45 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:45:46 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:45:46 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:45:46 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:45:46 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:45:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:45:46 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:45:46 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:45:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:45:46 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:45:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:45:46 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:45:46 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:45:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:45:46 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:45:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:45:49 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:45:49 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:46:42 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:46:42 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:46:43 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:46:43 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:46:52 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:46:52 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:46:53 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:46:53 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:46:57 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:46:57 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:46:59 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:46:59 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:47:10 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:47:10 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:47:15 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:47:15 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:47:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:47:17 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:47:17 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:47:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:47:17 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:47:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:47:17 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:47:17 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:47:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:47:17 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:47:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:47:17 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:47:17 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:47:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:47:17 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:47:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:47:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:47:19 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:47:19 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:47:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:47:19 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:47:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:47:19 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:47:19 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:47:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:47:19 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:47:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:47:19 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:47:19 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:47:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:47:19 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:47:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:47:21 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:47:21 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:47:59 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:47:59 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:48:00 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:48:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:48:00 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:48:00 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:48:00 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:48:00 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:48:00 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:48:04 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:48:04 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:48:04 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:48:04 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:48:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:48:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:48:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:48:38 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:48:38 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:48:50 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:48:50 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:48:54 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:48:54 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:48:55 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:48:55 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:49:07 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:49:07 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:49:09 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:49:09 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:49:19 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:49:19 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:49:19 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:49:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:49:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:49:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:49:47 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:49:47 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:49:47 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:49:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:49:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:49:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:49:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:49:49 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:49:49 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:49:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:49:49 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:49:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:49:49 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:49:49 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:49:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:49:49 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:49:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:49:49 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:49:49 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:49:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:49:49 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:49:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:49:51 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:49:51 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:49:51 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:49:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:49:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:49:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:49:59 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:49:59 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:49:59 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:49:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:49:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:49:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:50:06 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:50:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:50:06 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:50:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:50:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:50:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:50:57 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:50:57 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:50:57 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:50:57 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:52:51 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 13:52:51 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 13:52:52 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:52:52 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:52:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:53:08 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:53:08 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:53:08 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:53:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:53:08 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:53:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:53:08 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:53:08 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:53:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:53:08 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:53:08 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:53:08 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:53:08 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:53:08 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:53:08 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:53:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:55:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:55:05 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:55:05 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:55:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:55:05 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:55:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:55:05 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:55:05 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:55:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:55:05 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:55:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:55:05 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:55:05 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:55:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:55:05 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:55:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:16 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:16 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:56:16 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:56:16 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:56:16 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:56:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:16 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:56:16 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:56:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:56:16 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:56:16 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:16 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:56:16 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:56:16 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:56:16 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:56:16 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:19 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:56:19 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:56:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:56:19 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:56:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:56:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:56:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:33 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:56:33 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:56:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:56:33 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:56:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:33 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 13:56:33 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 13:56:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 13:56:33 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:56:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:33 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 13:56:33 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 13:56:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 13:56:33 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:56:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:58 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 13:56:58 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 13:56:58 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 13:56:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:56:58 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 13:56:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 13:56:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:14:14 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:14:14 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:14:14 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:14:14 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:14:14 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:14:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:14:14 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:14:14 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:14:14 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:14:14 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:14:14 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:14:14 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:14:14 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:14:14 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:14:14 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:14:14 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:15:16 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:15:16 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:15:16 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:15:16 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:15:16 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:15:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:15:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:15:40 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:15:40 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:15:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:15:43 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:15:43 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:15:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:15:54 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 14:15:54 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 14:17:40 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:17:40 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:17:40 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:17:43 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:17:43 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:17:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:17:44 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:17:44 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:17:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:17:48 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:17:48 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:17:48 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:17:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:17:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:17:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:17:58 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:17:58 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:17:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:18:03 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:18:03 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:18:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:18:04 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 14:18:04 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 14:18:09 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 14:18:09 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 14:19:48 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 14:19:48 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 14:20:03 [http-nio-8080-exec-2] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 14:20:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 14:20:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 14:20:08 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 14:20:08 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 14:20:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 14:20:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:20:12 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:20:12 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:20:12 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:20:12 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:20:12 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:20:12 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:20:12 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:20:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:20:12 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:20:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:20:12 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:20:12 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:20:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:20:12 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:20:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:20:23 [http-nio-8080-exec-7] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 14:20:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 14:20:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 14:22:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:22:36 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:22:36 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:22:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:22:36 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:22:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:22:36 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:22:36 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:22:36 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:22:36 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:22:36 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:22:36 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:22:36 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:22:36 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:22:36 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:22:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:22:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:22:44 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:22:44 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:22:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:22:44 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:22:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:22:44 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:22:44 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:22:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:22:44 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:22:44 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:22:44 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:22:44 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:22:44 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:22:44 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:22:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:22:57 [http-nio-8080-exec-4] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 14:22:57 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 14:22:57 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 14:23:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:23:59 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:23:59 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:23:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:23:59 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:23:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:23:59 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:23:59 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:23:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:23:59 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:23:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:23:59 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:23:59 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:23:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:23:59 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:23:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:17 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:24:17 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:24:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:24:17 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:17 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:24:17 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:24:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:24:17 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:17 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:24:17 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:24:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:24:17 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:44 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:24:44 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:24:44 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:24:44 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:44 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:44 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:24:44 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:24:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:24:44 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:44 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:24:44 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:24:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:24:44 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:49 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 14:24:49 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 14:24:49 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 14:24:49 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 14:24:49 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 14:24:49 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 14:24:49 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 14:24:49 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 14:24:49 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 14:24:49 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 14:24:49 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:49 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 14:24:49 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 14:24:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 14:24:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:24:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:24:49 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:49 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:51 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 14:24:51 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 14:24:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:24:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:24:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:24:51 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:51 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:51 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:24:51 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:24:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:24:51 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:24:51 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:24:51 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:24:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:24:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:24:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:25:48 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:25:49 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:25:49 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:25:49 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:25:49 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:25:49 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:25:49 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:25:49 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:25:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:25:49 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:25:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:25:49 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:25:49 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:25:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:25:49 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:25:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:13 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:14 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:26:14 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:26:14 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:26:14 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:26:14 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:14 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:26:14 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:26:14 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:26:14 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:26:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:14 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:26:14 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:26:14 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:26:14 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:26:14 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:25 [http-nio-8080-exec-5] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 -2025-10-30 14:26:25 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 -2025-10-30 14:26:25 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] -2025-10-30 14:26:25 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:25 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:26:25 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:26:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:26:25 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:26:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:25 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:26:25 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:26:25 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:26:25 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:26:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:25 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:26:25 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:26:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:26:25 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:26:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:54 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:54 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:26:54 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:26:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:26:54 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:26:54 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:54 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:26:54 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:26:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:26:54 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:26:54 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:26:54 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:26:54 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:26:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:26:54 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:26:54 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:30 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:27:30 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:27:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:27:30 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:27:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:30 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:27:30 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:27:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:27:30 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:27:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:30 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:27:30 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:27:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:27:30 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:27:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:33 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:33 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:27:33 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:27:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:27:33 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:27:33 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:33 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:27:33 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:27:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:27:33 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:27:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:33 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:27:33 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:27:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:27:33 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:27:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:36 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:36 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:27:36 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:27:36 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:27:36 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:27:36 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:36 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:27:36 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:27:36 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:27:36 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:27:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:27:36 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:27:36 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:27:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:27:36 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:27:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:03 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:03 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:28:03 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:28:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:28:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:03 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:28:03 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:28:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:28:03 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:03 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:28:03 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:28:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:28:03 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:06 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:28:06 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:28:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:28:06 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:06 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:28:06 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:28:06 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:28:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:06 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:28:06 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:28:06 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:28:06 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:09 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:09 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:28:09 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:28:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:28:09 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:09 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:09 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:28:09 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:28:09 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:28:09 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:09 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:09 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:28:09 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:28:09 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:28:09 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:09 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:15 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:28:15 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:28:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:28:15 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:15 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:28:15 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:28:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:28:15 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:15 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:15 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:28:15 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:28:15 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:28:15 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:17 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:28:17 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:28:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:28:17 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:17 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:28:17 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:28:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:28:17 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:17 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:28:17 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:28:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:28:17 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:18 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:18 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:28:18 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:28:18 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:28:18 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:18 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:18 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:28:18 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:28:18 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:28:18 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:18 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:18 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:28:18 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:28:18 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:28:18 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:18 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:23 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:28:23 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:28:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:28:23 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:23 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:28:23 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:28:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:28:23 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:23 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:23 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:28:23 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:28:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:28:23 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:24 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:28:24 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:28:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:28:24 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:24 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:28:24 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:28:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:28:24 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:24 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:28:24 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:28:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:28:24 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:25 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:28:25 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:28:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:28:25 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:25 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:25 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:28:25 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:28:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:28:25 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:28:25 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:28:25 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:28:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:28:25 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:28:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:35 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:29:35 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:29:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:29:35 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:29:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:36 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:29:36 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:29:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:29:36 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:29:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:36 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:29:36 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:29:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:29:36 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:29:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:39 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:39 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:29:39 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:29:39 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:29:39 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:29:39 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:39 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:29:39 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:29:39 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:29:39 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:29:39 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:39 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:29:39 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:29:39 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:29:39 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:29:39 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:41 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:41 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:29:41 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:29:41 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:29:41 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:29:41 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:41 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:29:41 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:29:41 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:29:41 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:29:41 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:29:41 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:29:41 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:29:41 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:29:41 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:29:41 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:30:06 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:30:06 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 14:30:06 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 14:30:06 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 14:30:06 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:30:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:30:06 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 14:30:06 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 14:30:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 14:30:06 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:30:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 14:30:06 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 14:30:06 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 14:30:06 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 14:30:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 14:30:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:20:15 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:20:15 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:21:49 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:21:49 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:22:06 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:22:06 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:22:10 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:22:10 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:23:44 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:23:44 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:24:02 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:24:02 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:24:04 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:24:04 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:24:34 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:24:34 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:27:24 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:27:24 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:27:33 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:27:33 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:27:41 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:27:41 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:27:44 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:27:44 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:27:56 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:27:56 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:29:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:04 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:29:04 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:29:04 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:29:04 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:29:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:04 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:29:04 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:29:04 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:29:04 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:29:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:04 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:29:04 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:29:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:29:04 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:29:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:05 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:29:05 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:29:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:29:05 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:29:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:29:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:29:09 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:29:09 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:29:14 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 359 -2025-10-30 16:29:14 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 点赞消息: 359 -2025-10-30 16:29:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359] -2025-10-30 16:29:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359] -2025-10-30 16:29:36 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:29:36 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:29:36 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:29:36 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:29:36 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:29:36 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:29:36 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:29:36 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:29:36 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:29:36 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:29:36 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:29:36 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:29:36 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:29:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:29:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:29:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:29:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:38 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:38 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:29:38 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:29:38 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:29:38 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:29:38 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:38 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:29:38 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:29:38 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:29:38 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:29:38 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:29:38 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:29:38 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:29:38 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:29:38 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:29:38 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:30:40 [http-nio-8080-exec-4] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:30:40 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:30:40 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:30:40 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:30:40 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:30:40 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:30:40 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:30:40 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:30:40 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:30:40 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:30:40 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:30:40 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:30:40 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:30:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:30:40 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:30:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:30:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:30:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:30:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:30:40 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:30:40 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:30:40 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:30:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:30:40 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:30:40 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:30:40 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:30:40 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:30:40 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:30:40 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:30:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:30:40 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:30:40 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:30:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:30:40 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:30:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:32:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:32:52 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:32:52 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:32:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:32:52 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:32:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:32:52 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:32:52 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:32:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:32:52 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:32:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:32:52 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:32:52 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:32:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:32:52 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:32:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:33:07 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:33:07 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:33:07 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:33:07 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:33:07 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:33:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:33:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:35:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:35:55 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:35:55 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:35:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:35:55 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:35:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:35:55 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:35:55 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:35:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:35:55 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:35:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:35:55 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:35:55 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:35:55 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:35:55 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:35:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:35:58 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:35:58 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:35:58 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:35:58 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:35:58 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:35:58 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:35:58 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:35:58 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:35:58 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:35:58 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:35:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:35:58 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:35:58 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:35:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:35:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:35:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:35:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:35:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:35:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:30 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:36:30 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:36:33 [http-nio-8080-exec-7] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:36:33 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:36:33 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:36:33 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:36:33 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:36:33 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:36:33 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:36:33 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:36:33 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:36:33 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:36:33 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:36:33 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:36:33 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:36:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:36:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:36:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:36:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:34 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:34 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:36:34 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:36:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:36:34 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:36:34 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:34 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:36:34 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:36:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:36:34 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:36:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:34 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:36:34 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:36:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:36:34 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:36:34 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:35 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:36:35 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:36:35 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:36:35 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:36:35 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:36:35 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:36:35 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:36:35 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:36:35 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:36:35 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:36:35 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:36:35 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:36:35 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:36:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:36:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:36:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:36:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:36:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:41:16 [http-nio-8080-exec-7] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:41:16 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:41:16 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:41:16 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:41:16 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:41:16 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:41:16 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:41:16 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:41:16 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:41:16 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:41:16 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:41:16 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:41:16 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:41:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:41:16 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:41:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:41:16 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:41:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:41:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:43:22 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:43:23 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:43:23 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:43:23 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:43:23 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:43:23 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:43:23 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:43:23 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:43:23 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:43:23 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:43:23 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:43:23 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:43:23 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:43:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:43:23 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:43:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:43:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:43:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:43:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:44:06 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:44:06 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:44:06 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:44:06 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:44:06 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:44:06 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:44:06 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:44:06 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:44:06 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:44:06 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:44:06 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:44:06 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:44:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:44:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:44:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:44:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:44:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:44:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:44:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:46:55 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:46:56 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:46:56 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:46:56 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:46:56 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:46:56 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:46:56 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:46:56 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:46:56 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:46:56 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:46:56 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:46:56 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:46:56 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:46:56 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:46:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:46:56 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:46:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:46:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:46:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:52:09 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:52:09 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:52:09 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:52:09 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:52:09 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:52:09 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:52:09 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:52:09 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:52:09 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:52:09 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:52:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:52:09 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:52:09 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:52:09 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:52:09 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:52:09 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:52:10 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:52:10 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:52:10 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:52:10 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:52:10 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:52:10 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:52:10 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:52:10 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:52:10 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:52:10 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:52:10 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:52:10 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:52:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:52:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:52:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:52:10 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:52:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:52:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:52:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:54:19 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:54:19 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:54:19 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:54:19 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:54:19 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:54:19 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:54:19 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:54:19 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:54:19 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:54:19 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:54:19 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:54:19 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:54:19 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:54:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:54:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:54:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:54:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:54:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:54:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:27 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:55:27 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:55:27 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:55:27 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:55:27 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:55:27 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:55:27 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:55:27 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:55:27 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:55:27 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:55:27 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:55:27 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:55:27 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:55:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:55:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:55:27 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:55:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:32 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 16:55:32 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 16:55:34 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:34 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:55:34 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:55:34 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:55:34 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:55:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:34 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:55:34 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:55:34 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:55:34 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:55:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:34 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:55:34 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:55:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:55:34 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:55:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:36 [http-nio-8080-exec-4] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:55:36 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:55:36 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:55:36 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:55:36 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:55:36 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:55:36 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:55:36 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:55:36 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:55:36 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:55:36 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:55:36 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:55:36 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:55:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:55:36 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:55:36 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:55:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:55:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:03 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:59:03 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:59:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:59:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:59:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:03 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:59:03 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:59:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:59:03 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:59:03 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:03 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:59:03 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:59:03 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:59:03 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:59:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:04 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 16:59:04 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:59:04 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:59:04 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:59:04 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 16:59:04 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:59:04 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:59:04 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:59:04 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 16:59:04 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 16:59:04 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:59:04 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 16:59:04 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 16:59:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:59:04 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 16:59:04 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:59:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:06 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:06 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 16:59:06 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 16:59:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 16:59:06 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:59:06 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:06 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 16:59:06 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 16:59:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 16:59:06 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:59:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 16:59:06 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 16:59:06 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 16:59:06 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 16:59:06 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 16:59:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:26:24 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (0 additions, 0 deletions, 4 modifications) -2025-10-30 17:26:24 [Thread-6] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:26:24 [Thread-6] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' -2025-10-30 17:26:24 [Thread-6] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:26:24 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:26:24 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:26:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:26:25 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:26:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:26:25 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:26:25 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 44 ms. Found 5 JPA repository interfaces. -2025-10-30 17:26:25 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:26:25 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:26:25 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:26:25 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:26:25 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:26:25 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 497 ms -2025-10-30 17:26:25 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:26:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:26:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:26:25 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:26:25 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:26:25 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:26:25 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@76331824, org.springframework.security.web.context.SecurityContextPersistenceFilter@27008666, org.springframework.security.web.header.HeaderWriterFilter@711e327f, org.springframework.security.web.authentication.logout.LogoutFilter@3e1498ef, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1247/0x00000007c0214028@5eaf1fe2, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@317d11e0, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@31f0407a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@474e8c9c, org.springframework.security.web.session.SessionManagementFilter@7e9a485b, org.springframework.security.web.access.ExceptionTranslationFilter@6aaf988e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@986ad1a] -2025-10-30 17:26:26 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:26:26 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:26:26 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:26:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 1.029 seconds (JVM running for 17755.386) -2025-10-30 17:26:26 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:26:40 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (0 additions, 0 deletions, 4 modifications) -2025-10-30 17:26:40 [Thread-8] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:26:40 [Thread-8] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:26:40 [Thread-8] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:26:40 [Thread-8] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:26:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:26:41 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:26:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:26:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:26:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 5 JPA repository interfaces. -2025-10-30 17:26:41 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:26:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:26:41 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:26:41 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:26:41 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:26:41 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 365 ms -2025-10-30 17:26:41 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:26:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:26:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:26:41 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:26:41 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:26:41 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:26:41 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5a5c8bfa, org.springframework.security.web.context.SecurityContextPersistenceFilter@26e37c46, org.springframework.security.web.header.HeaderWriterFilter@7232f325, org.springframework.security.web.authentication.logout.LogoutFilter@1da14c5a, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1249/0x00000007c09e8428@10b7f161, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1e585720, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7b162415, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@63ac8a76, org.springframework.security.web.session.SessionManagementFilter@6ea6aeca, org.springframework.security.web.access.ExceptionTranslationFilter@20631c16, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@e6caf0] -2025-10-30 17:26:41 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:26:41 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:26:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:26:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.86 seconds (JVM running for 17771.187) -2025-10-30 17:26:41 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:26:55 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (0 additions, 0 deletions, 4 modifications) -2025-10-30 17:26:55 [Thread-12] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:26:55 [Thread-12] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:26:55 [Thread-12] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:26:55 [Thread-12] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:26:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:26:55 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:26:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:26:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:26:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 5 JPA repository interfaces. -2025-10-30 17:26:56 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:26:56 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:26:56 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:26:56 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:26:56 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:26:56 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 385 ms -2025-10-30 17:26:56 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:26:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:26:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:26:56 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:26:56 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:26:56 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:26:56 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@351495b6, org.springframework.security.web.context.SecurityContextPersistenceFilter@d6e391, org.springframework.security.web.header.HeaderWriterFilter@82a064e, org.springframework.security.web.authentication.logout.LogoutFilter@2772b73, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1250/0x00000007c0a5a028@1690cce, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@117e8f22, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@493ee335, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@61d99243, org.springframework.security.web.session.SessionManagementFilter@38388e14, org.springframework.security.web.access.ExceptionTranslationFilter@12357c, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5ba0d476] -2025-10-30 17:26:56 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:26:56 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:26:56 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:26:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.802 seconds (JVM running for 17785.929) -2025-10-30 17:26:56 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:27:11 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:27:11 [Thread-16] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:27:11 [Thread-16] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:11 [Thread-16] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:27:11 [Thread-16] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:27:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:27:11 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:27:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:27:11 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:27:11 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 33 ms. Found 5 JPA repository interfaces. -2025-10-30 17:27:11 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:27:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:27:12 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:27:12 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:27:12 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:27:12 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 343 ms -2025-10-30 17:27:12 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:27:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:27:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:27:12 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:27:12 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:27:12 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:12 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4ff8a94e, org.springframework.security.web.context.SecurityContextPersistenceFilter@f7f8242, org.springframework.security.web.header.HeaderWriterFilter@65775ae9, org.springframework.security.web.authentication.logout.LogoutFilter@80d48aa, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1251/0x00000007c0a77028@2a61b6f6, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@42ae9165, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1dd13bcb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1c3ea1d8, org.springframework.security.web.session.SessionManagementFilter@54465c4d, org.springframework.security.web.access.ExceptionTranslationFilter@1cea3ec6, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5d77998d] -2025-10-30 17:27:12 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:27:12 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:27:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:27:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.827 seconds (JVM running for 17801.783) -2025-10-30 17:27:12 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:27:42 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:27:42 [Thread-20] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:27:42 [Thread-20] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:42 [Thread-20] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:27:42 [Thread-20] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:27:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:27:42 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:27:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:27:43 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:27:43 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19 ms. Found 5 JPA repository interfaces. -2025-10-30 17:27:43 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:27:43 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:27:43 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:27:43 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:27:43 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:27:43 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 277 ms -2025-10-30 17:27:43 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:27:43 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:27:43 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:27:43 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:27:43 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:27:43 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:43 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@61f77b61, org.springframework.security.web.context.SecurityContextPersistenceFilter@7da4e163, org.springframework.security.web.header.HeaderWriterFilter@166f555, org.springframework.security.web.authentication.logout.LogoutFilter@79a62a9c, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1252/0x00000007c0a8c428@156e1089, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7a009649, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4c7a1801, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@33cd7298, org.springframework.security.web.session.SessionManagementFilter@2d7847cd, org.springframework.security.web.access.ExceptionTranslationFilter@6cbd73c5, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@176df013] -2025-10-30 17:27:43 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:27:43 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:27:43 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:27:43 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.629 seconds (JVM running for 17832.818) -2025-10-30 17:27:43 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:27:47 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:27:47 [Thread-24] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:27:47 [Thread-24] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:47 [Thread-24] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:27:47 [Thread-24] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:27:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:27:47 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:27:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:27:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:27:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 5 JPA repository interfaces. -2025-10-30 17:27:47 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:27:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:27:47 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:27:47 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:27:47 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:27:47 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 408 ms -2025-10-30 17:27:47 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:27:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:27:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:27:47 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:27:47 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:27:47 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:48 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6f10feec, org.springframework.security.web.context.SecurityContextPersistenceFilter@66b54098, org.springframework.security.web.header.HeaderWriterFilter@56d2ccc, org.springframework.security.web.authentication.logout.LogoutFilter@3bcd3679, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1253/0x00000007c0aa2c28@5790adbf, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@14d0835c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@78b7c646, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@403485ec, org.springframework.security.web.session.SessionManagementFilter@4a08a00f, org.springframework.security.web.access.ExceptionTranslationFilter@5e55985a, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@322fe00] -2025-10-30 17:27:48 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:27:48 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:27:48 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:27:48 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.929 seconds (JVM running for 17837.61) -2025-10-30 17:27:48 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:27:49 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 3 class path changes (0 additions, 0 deletions, 3 modifications) -2025-10-30 17:27:49 [Thread-28] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:27:49 [Thread-28] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:49 [Thread-28] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:27:49 [Thread-28] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:27:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:27:50 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:27:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:27:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:27:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 5 JPA repository interfaces. -2025-10-30 17:27:50 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:27:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:27:50 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:27:50 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:27:50 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:27:50 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 287 ms -2025-10-30 17:27:50 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:27:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:27:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:27:50 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:27:50 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:27:50 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:50 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1115e199, org.springframework.security.web.context.SecurityContextPersistenceFilter@9040916, org.springframework.security.web.header.HeaderWriterFilter@6f988b55, org.springframework.security.web.authentication.logout.LogoutFilter@7a230009, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1254/0x00000007c0ab9828@49b86e15, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7cd9381e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5730d6f3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@767f9d8, org.springframework.security.web.session.SessionManagementFilter@547a111a, org.springframework.security.web.access.ExceptionTranslationFilter@1d6d18b0, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5ee221df] -2025-10-30 17:27:50 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:27:50 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:27:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:27:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.727 seconds (JVM running for 17840.153) -2025-10-30 17:27:50 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:27:52 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:27:52 [Thread-32] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:27:52 [Thread-32] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:52 [Thread-32] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:27:52 [Thread-32] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:27:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:27:52 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:27:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:27:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:27:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19 ms. Found 5 JPA repository interfaces. -2025-10-30 17:27:52 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:27:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:27:52 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:27:52 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:27:52 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:27:52 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 210 ms -2025-10-30 17:27:52 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:27:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:27:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:27:52 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:27:52 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:27:52 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:52 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4fb0a962, org.springframework.security.web.context.SecurityContextPersistenceFilter@54a2975f, org.springframework.security.web.header.HeaderWriterFilter@4b8bcbce, org.springframework.security.web.authentication.logout.LogoutFilter@762e043f, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1255/0x00000007c0ad5c28@12c90010, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@74cc674, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@120ca8e8, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5dd5943b, org.springframework.security.web.session.SessionManagementFilter@a95c979, org.springframework.security.web.access.ExceptionTranslationFilter@acb3ec9, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@60fbfffc] -2025-10-30 17:27:53 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:27:53 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:27:53 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:27:53 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.576 seconds (JVM running for 17842.362) -2025-10-30 17:27:53 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:27:56 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:27:56 [Thread-36] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:27:56 [Thread-36] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:56 [Thread-36] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:27:56 [Thread-36] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:27:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:27:56 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:27:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:27:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:27:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 23 ms. Found 5 JPA repository interfaces. -2025-10-30 17:27:56 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:27:57 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:27:57 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:27:57 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:27:57 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:27:57 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 230 ms -2025-10-30 17:27:57 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:27:57 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:27:57 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:27:57 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:27:57 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:27:57 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:27:57 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4ed30e8c, org.springframework.security.web.context.SecurityContextPersistenceFilter@44a36a47, org.springframework.security.web.header.HeaderWriterFilter@3b602dd8, org.springframework.security.web.authentication.logout.LogoutFilter@14bbfccc, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1256/0x00000007c0aeb428@6f4bb690, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@21b648ee, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1b82bfed, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@36be1cf2, org.springframework.security.web.session.SessionManagementFilter@beb759b, org.springframework.security.web.access.ExceptionTranslationFilter@7ae3f277, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6d5fc747] -2025-10-30 17:27:57 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:27:57 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:27:57 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:27:57 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.698 seconds (JVM running for 17846.774) -2025-10-30 17:27:57 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms -2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-30 17:30:04 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:30:04 [Thread-40] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:30:04 [Thread-40] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' -2025-10-30 17:30:04 [Thread-40] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:30:04 [Thread-40] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:30:04 [Thread-40] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:30:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:30:04 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:30:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:30:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:30:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 5 JPA repository interfaces. -2025-10-30 17:30:04 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:30:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:30:04 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:30:04 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:30:04 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:30:04 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 213 ms -2025-10-30 17:30:04 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:30:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:30:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:30:04 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:30:04 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:30:04 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:30:04 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@79debb19, org.springframework.security.web.context.SecurityContextPersistenceFilter@72239fd1, org.springframework.security.web.header.HeaderWriterFilter@5f02d539, org.springframework.security.web.authentication.logout.LogoutFilter@7a0759ee, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1257/0x00000007c0afdc28@27cd6694, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@e527e2c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@47b0c9c2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1fbcb283, org.springframework.security.web.session.SessionManagementFilter@282f7f1d, org.springframework.security.web.access.ExceptionTranslationFilter@5df3a5b, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2ec941e5] -2025-10-30 17:30:04 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:30:04 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:30:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:30:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.543 seconds (JVM running for 17974.091) -2025-10-30 17:30:04 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:30:22 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:30:22 [Thread-44] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:30:22 [Thread-44] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:30:22 [Thread-44] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:30:22 [Thread-44] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:30:22 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:30:22 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:30:22 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:30:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:30:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 22 ms. Found 5 JPA repository interfaces. -2025-10-30 17:30:23 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:30:23 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:30:23 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:30:23 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:30:23 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:30:23 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 217 ms -2025-10-30 17:30:23 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:30:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:30:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:30:23 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:30:23 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:30:23 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:30:23 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@72606532, org.springframework.security.web.context.SecurityContextPersistenceFilter@36ec243e, org.springframework.security.web.header.HeaderWriterFilter@606d871c, org.springframework.security.web.authentication.logout.LogoutFilter@1beb75f0, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1258/0x00000007c0b10428@47c58a68, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@73ee151d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7fb7291b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4375babc, org.springframework.security.web.session.SessionManagementFilter@d87de5f, org.springframework.security.web.access.ExceptionTranslationFilter@5d43008e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5e43dfa0] -2025-10-30 17:30:23 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:30:23 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:30:23 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:30:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.517 seconds (JVM running for 17992.715) -2025-10-30 17:30:23 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:30:41 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:30:41 [Thread-48] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:30:41 [Thread-48] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:30:41 [Thread-48] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:30:41 [Thread-48] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:30:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:30:41 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:30:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:30:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:30:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 5 JPA repository interfaces. -2025-10-30 17:30:41 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:30:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:30:41 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:30:41 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:30:41 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:30:41 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 210 ms -2025-10-30 17:30:41 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:30:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:30:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:30:41 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:30:41 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:30:41 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:30:41 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@230f2796, org.springframework.security.web.context.SecurityContextPersistenceFilter@50c3faea, org.springframework.security.web.header.HeaderWriterFilter@14484a2a, org.springframework.security.web.authentication.logout.LogoutFilter@50e08162, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1259/0x00000007c0b22c28@52c5d13, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@61cc78d1, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@370367d8, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@79d7ae63, org.springframework.security.web.session.SessionManagementFilter@66f9cd20, org.springframework.security.web.access.ExceptionTranslationFilter@454e9e15, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1fcd9f48] -2025-10-30 17:30:41 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:30:41 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:30:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:30:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.465 seconds (JVM running for 18011.272) -2025-10-30 17:30:41 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:31:03 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:31:04 [Thread-52] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:31:04 [Thread-52] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:31:04 [Thread-52] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:31:04 [Thread-52] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:31:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:31:04 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:31:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:31:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:31:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32 ms. Found 5 JPA repository interfaces. -2025-10-30 17:31:04 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:31:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:31:04 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:31:04 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:31:04 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:31:04 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 241 ms -2025-10-30 17:31:04 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:31:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:31:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:31:04 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:31:04 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:31:04 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:31:04 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7a35ed37, org.springframework.security.web.context.SecurityContextPersistenceFilter@1776e2fc, org.springframework.security.web.header.HeaderWriterFilter@502a068f, org.springframework.security.web.authentication.logout.LogoutFilter@2e19ff0c, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1260/0x00000007c0b35428@7238c4bf, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@57810e1d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@571f741c, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@20b91fee, org.springframework.security.web.session.SessionManagementFilter@403335ab, org.springframework.security.web.access.ExceptionTranslationFilter@2b7d7946, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6b6f17b] -2025-10-30 17:31:04 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:31:04 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:31:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:31:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.498 seconds (JVM running for 18033.934) -2025-10-30 17:31:04 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:31:28 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (0 additions, 0 deletions, 4 modifications) -2025-10-30 17:31:29 [Thread-56] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:31:29 [Thread-56] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:31:29 [Thread-56] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:31:29 [Thread-56] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:31:29 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:31:29 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:31:29 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:31:29 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:31:29 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 5 JPA repository interfaces. -2025-10-30 17:31:29 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:31:29 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:31:29 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:31:29 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:31:29 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:31:29 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 164 ms -2025-10-30 17:31:29 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:31:29 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:31:29 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:31:29 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:31:29 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:31:29 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:31:29 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@56fc1f8b, org.springframework.security.web.context.SecurityContextPersistenceFilter@25bb0463, org.springframework.security.web.header.HeaderWriterFilter@3ce7c77f, org.springframework.security.web.authentication.logout.LogoutFilter@16fd08af, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1261/0x00000007c0b48028@66ed1995, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1d88aa27, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1f565ad6, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@61f92d00, org.springframework.security.web.session.SessionManagementFilter@18ed8afd, org.springframework.security.web.access.ExceptionTranslationFilter@1505b1d2, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4a45e706] -2025-10-30 17:31:29 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:31:29 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:31:29 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:31:29 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.441 seconds (JVM running for 18058.923) -2025-10-30 17:31:29 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:32:12 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:32:12 [Thread-60] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:32:12 [Thread-60] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:32:12 [Thread-60] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:32:12 [Thread-60] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:32:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:32:12 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:32:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:32:12 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:32:12 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20 ms. Found 5 JPA repository interfaces. -2025-10-30 17:32:12 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:32:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:32:12 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:32:12 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:32:12 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:32:12 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 206 ms -2025-10-30 17:32:12 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:32:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:32:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:32:12 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:32:12 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:32:12 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:32:12 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5941acae, org.springframework.security.web.context.SecurityContextPersistenceFilter@1afa2940, org.springframework.security.web.header.HeaderWriterFilter@2af968e4, org.springframework.security.web.authentication.logout.LogoutFilter@68b37473, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1262/0x00000007c0b5f428@3c5bc060, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@72cd0b30, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1312e3c5, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@50fa29b7, org.springframework.security.web.session.SessionManagementFilter@4effd2b6, org.springframework.security.web.access.ExceptionTranslationFilter@36d6641, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@402204df] -2025-10-30 17:32:12 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:32:12 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:32:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:32:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.5 seconds (JVM running for 18102.047) -2025-10-30 17:32:12 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:32:43 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-30 17:32:44 [Thread-64] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-30 17:32:44 [Thread-64] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:32:44 [Thread-64] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-30 17:32:44 [Thread-64] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-30 17:32:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-30 17:32:44 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-30 17:32:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-30 17:32:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-30 17:32:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 16 ms. Found 5 JPA repository interfaces. -2025-10-30 17:32:44 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-30 17:32:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-30 17:32:44 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-30 17:32:44 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-30 17:32:44 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-30 17:32:44 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 275 ms -2025-10-30 17:32:44 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-30 17:32:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-30 17:32:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-30 17:32:44 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-30 17:32:44 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-30 17:32:44 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-30 17:32:44 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7f7bb89, org.springframework.security.web.context.SecurityContextPersistenceFilter@7a7799c5, org.springframework.security.web.header.HeaderWriterFilter@72eed5df, org.springframework.security.web.authentication.logout.LogoutFilter@3228cffd, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1263/0x00000007c0bb1028@1d373acc, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@613e0aa6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@657a6b73, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@212c5d62, org.springframework.security.web.session.SessionManagementFilter@46eaeadd, org.springframework.security.web.access.ExceptionTranslationFilter@35e5d6e3, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6c8f43df] -2025-10-30 17:32:44 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-30 17:32:44 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-30 17:32:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-30 17:32:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.694 seconds (JVM running for 18134.234) -2025-10-30 17:32:44 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-30 17:33:04 [http-nio-8080-exec-5] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-30 17:33:04 [http-nio-8080-exec-5] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-30 17:33:04 [http-nio-8080-exec-5] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 0 ms -2025-10-30 17:33:04 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 17:33:04 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 17:33:04 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 17:33:04 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 17:33:04 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 17:33:04 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 17:33:04 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 17:33:04 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 17:33:04 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 17:33:04 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 17:33:04 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 17:33:04 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 17:33:04 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 17:33:04 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 17:33:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 17:33:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 17:33:04 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:04 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:04 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:10 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 17:33:10 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 17:33:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 17:33:10 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 17:33:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:10 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 17:33:10 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 17:33:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 17:33:10 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 17:33:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:10 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 17:33:10 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 17:33:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 17:33:10 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 17:33:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:12 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 17:33:12 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 17:33:12 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 17:33:12 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 17:33:12 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 17:33:12 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 17:33:12 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 17:33:12 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 17:33:12 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 17:33:12 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 17:33:12 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 17:33:12 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 17:33:12 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 17:33:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 17:33:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 17:33:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 17:33:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 17:33:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:21 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 18:59:21 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 18:59:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 18:59:21 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 18:59:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:21 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 18:59:21 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 18:59:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 18:59:21 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 18:59:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:21 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 18:59:21 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 18:59:21 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 18:59:21 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 18:59:21 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:28 [http-nio-8080-exec-7] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-30 18:59:28 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 18:59:28 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 18:59:28 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 18:59:28 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 18:59:28 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present -2025-10-30 18:59:28 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 18:59:28 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 18:59:28 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] -2025-10-30 18:59:28 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-30 18:59:28 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-30 18:59:28 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 18:59:28 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-30 18:59:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-30 18:59:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 18:59:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 18:59:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:28 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:28 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:37 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:37 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 -2025-10-30 18:59:37 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 -2025-10-30 18:59:37 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-30 18:59:37 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 18:59:37 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:37 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 -2025-10-30 18:59:37 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 -2025-10-30 18:59:37 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-30 18:59:37 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 18:59:37 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-30 18:59:37 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 -2025-10-30 18:59:37 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 -2025-10-30 18:59:37 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-30 18:59:37 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-30 18:59:37 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:15:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:15:26 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:15:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:15:26 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2025-11-03 15:15:26 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2025-11-03 15:15:27 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:15:27 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 58 ms. Found 5 JPA repository interfaces. +2025-11-03 15:15:27 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:15:27 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:15:27 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:15:27 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:15:27 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:15:27 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1413 ms +2025-11-03 15:15:27 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:15:28 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final +2025-11-03 15:15:28 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} +2025-11-03 15:15:28 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:15:28 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:15:28 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:15:29 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:15:29 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:15:29 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:15:29 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@34d2a9dc, org.springframework.security.web.context.SecurityContextPersistenceFilter@47c2a22d, org.springframework.security.web.header.HeaderWriterFilter@7bb30982, org.springframework.security.web.authentication.logout.LogoutFilter@2e79fca1, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1004/0x00000007c08da028@44a48c06, com.qf.myafterprojecy.config.JwtAuthenticationFilter@39ffd247, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7a3c2df9, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@376f76e2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5a406ef7, org.springframework.security.web.session.SessionManagementFilter@6c5410e7, org.springframework.security.web.access.ExceptionTranslationFilter@33dd8778, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5339b875] +2025-11-03 15:15:30 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:15:30 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:15:30 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:15:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 4.438 seconds (JVM running for 5.302) +2025-11-03 15:15:45 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-11-03 15:15:45 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-11-03 15:15:45 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-11-03 15:15:45 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611656 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:45 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:15:45 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611790 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:45 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611790 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:45 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611790 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:45 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611790 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:45 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:15:45 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:15:45 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:15:45 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:15:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:15:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:15:45 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:15:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:15:48 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614577 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:48 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:15:48 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614604 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:48 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:15:48 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:15:48 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:15:48 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614649 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:48 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:15:48 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:15:48 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614673 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:48 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:15:48 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:15:48 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:15:48 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614685 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:48 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:15:48 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:15:48 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614700 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:48 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:15:48 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:15:48 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:15:48 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614712 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:15:48 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:15:48 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:17:45 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731419 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:17:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:17:45 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731661 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:17:45 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:17:45 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:17:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:17:45 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731891 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:17:45 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:17:45 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:17:45 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731914 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:17:45 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:17:45 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:17:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:17:45 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731932 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:17:45 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:17:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:17:45 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731948 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:17:45 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:17:45 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:17:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:17:45 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731959 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:17:45 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:17:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:20:38 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904030 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:20:38 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:20:38 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904367 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:20:38 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:20:38 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:20:38 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:20:38 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904380 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:20:38 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:20:38 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:20:38 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904393 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:20:38 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:20:38 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:20:38 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:20:38 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904406 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:20:38 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:20:38 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:20:38 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904425 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:20:38 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:20:38 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:20:38 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:20:38 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904441 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:20:38 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:20:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:28:40 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:40Z, a difference of 163386774 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:28:41 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387109 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:41 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:28:41 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:28:41 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:28:41 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387138 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:41 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:28:41 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:28:41 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387352 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:41 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:28:41 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:28:41 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:28:41 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387379 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:41 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:28:41 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:28:41 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387412 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:41 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:28:41 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:28:41 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:28:41 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387434 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:41 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:28:41 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:28:55 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:55Z, a difference of 163401692 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:58 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:58Z, a difference of 163404812 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:28:59 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405179 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:59 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:28:59 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:28:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:28:59 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405216 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:59 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:28:59 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:28:59 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405232 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:59 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:28:59 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:28:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:28:59 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405252 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:59 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:28:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:28:59 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405271 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:59 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:28:59 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:28:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:28:59 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405287 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:28:59 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:28:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:05 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411736 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:29:05 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411755 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411755 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411755 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411755 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:29:05 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:29:05 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:29:05 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:29:05 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:29:05 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:29:05 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:29:05 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:29:05 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411779 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:29:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:05 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411783 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411783 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411783 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:29:05 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:29:05 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:29:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:29:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:29:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:29:05 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411810 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:08 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:08Z, a difference of 163414829 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:08 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:29:09 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415123 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:09 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:29:09 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:29:09 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415165 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:09 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:29:09 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:29:09 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415192 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:09 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415192 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:09 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:29:09 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415196 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:09 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415196 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:09 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:29:09 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:29:09 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:29:09 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:29:09 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:29:09 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:09 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:29:09 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415215 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:09 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:29:09 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415218 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:09 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:29:09 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:29:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:29:09 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415234 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:09 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:09 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:10 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:10Z, a difference of 163416969 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:11 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417004 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:11 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:11 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417022 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:11 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:29:11 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:29:11 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:29:11 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417035 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:11 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:29:11 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:11 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417050 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:11 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:29:11 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:29:11 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:29:11 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417063 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:11 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:29:11 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:29:11 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417075 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:11 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:29:11 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:29:11 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:29:11 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417089 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:29:11 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:29:11 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:08 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474101 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-4] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:30:08 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474122 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474122 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474122 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474122 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:08 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:08 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:08 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:08 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:08 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:08 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:08 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:08 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474142 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474143 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474142 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474143 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:30:08 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:30:08 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:08 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:30:08 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:30:08 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474170 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:08 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:08 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:10 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:10Z, a difference of 163476816 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:10 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 +2025-11-03 15:30:10 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 +2025-11-03 15:30:12 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:12Z, a difference of 163478982 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:12 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 354 +2025-11-03 15:30:12 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 点赞消息: 354 +2025-11-03 15:30:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [354] +2025-11-03 15:30:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [354] +2025-11-03 15:30:15 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:15Z, a difference of 163481557 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:15 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 358 +2025-11-03 15:30:15 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 点赞消息: 358 +2025-11-03 15:30:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [358] +2025-11-03 15:30:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [358] +2025-11-03 15:30:16 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:16Z, a difference of 163482296 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:16 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 359 +2025-11-03 15:30:16 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 点赞消息: 359 +2025-11-03 15:30:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359] +2025-11-03 15:30:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359] +2025-11-03 15:30:22 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488802 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:22 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:22 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488816 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:22 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:30:22 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:30:22 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:22 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488826 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:22 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:22 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488838 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:22 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:30:22 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:30:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:22 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488848 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:22 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:22 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:22 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488860 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:22 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:30:22 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:30:22 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:22 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488869 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:22 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:22 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:38 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504130 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:38 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:38 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504252 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:38 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:30:38 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:30:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:38 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504693 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:38 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:38 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:38 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504711 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:38 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:30:38 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:30:38 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:38 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504727 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:38 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:38 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:38 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504744 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:38 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:30:38 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:30:38 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:38 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504759 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:38 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:38 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:42 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:42Z, a difference of 163508779 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:43 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509030 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:43 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:30:43 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:30:43 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:43 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509038 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:43 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:43 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509050 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:43 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:30:43 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:30:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:43 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509063 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:43 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:43 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509072 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:43 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:30:43 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:30:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:43 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509083 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:43 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:43 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:43 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509799 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:44 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510035 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:44 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:30:44 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:30:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:44 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510046 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:44 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:44 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:44 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510059 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:44 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:30:44 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:30:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:44 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510071 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:44 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:44 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510086 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:44 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:30:44 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:30:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:44 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510098 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:44 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:45 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511076 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:30:45 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511088 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511088 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511088 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511088 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:45 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:45 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:45 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:45 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:45 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:45 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:45 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:45 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511111 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511111 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511111 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:30:45 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511111 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:30:45 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:30:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:30:45 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:45 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511162 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:45 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511642 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:45 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511654 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:30:45 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:30:45 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:45 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511664 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:45 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511673 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:30:45 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:30:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:45 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511683 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:45 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:45 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511693 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:30:45 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:30:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:45 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511701 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:45 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:46 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:46Z, a difference of 163512869 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:46 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 +2025-11-03 15:30:46 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 +2025-11-03 15:30:48 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514466 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:48 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:48 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514479 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:48 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:30:48 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:30:48 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:48 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514489 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:48 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:48 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:48 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514501 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:48 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:30:48 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:30:48 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:48 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514513 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:48 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:48 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:48 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514522 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:48 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:30:48 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:30:48 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:48 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514533 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:48 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:48 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:50 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:50Z, a difference of 163516099 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:50 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:30:50 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:50Z, a difference of 163516101 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:50 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:30:50 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:50 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:50Z, a difference of 163516114 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:57 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523113 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:57 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:57 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523125 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:57 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:30:57 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:30:57 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:57 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523135 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:57 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:57 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:57 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523145 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:57 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:30:57 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:30:57 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:57 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523155 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:57 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:57 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:57 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523164 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:57 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:30:57 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:30:57 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:30:57 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523175 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:57 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:57 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:58 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524733 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:30:58 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524748 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524748 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524748 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524748 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:58 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:58 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:58 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:58 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:58 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:58 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:30:58 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:30:58 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524765 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524765 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524765 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524765 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:30:58 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:30:58 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:30:58 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:30:58 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:30:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:30:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:30:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:58 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524788 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:30:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:30:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:31:13 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539231 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:31:13 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:31:13 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539243 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:31:13 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:31:13 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:31:13 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:31:13 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539252 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:31:13 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:31:13 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:31:13 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539262 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:31:13 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:31:13 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:31:13 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:31:13 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539270 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:31:13 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:31:13 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:31:13 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539279 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:31:13 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:31:13 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:31:13 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:31:13 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539287 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:31:13 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:31:13 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:32:59 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645560 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:32:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:32:59 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645574 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:32:59 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:32:59 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:32:59 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:32:59 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645582 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:32:59 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:32:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:32:59 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645591 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:32:59 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:32:59 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:32:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:32:59 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645601 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:32:59 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:32:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:32:59 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645611 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:32:59 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:32:59 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:32:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:32:59 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645623 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:32:59 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:32:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:36:27 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853315 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:36:27 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853618 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853618 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853618 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853618 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:36:27 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:36:27 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:36:27 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:36:27 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:36:27 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:36:27 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:36:27 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:36:27 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853636 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853636 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853636 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853636 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:36:27 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:36:27 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:36:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:36:27 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:36:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:36:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:36:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:36:27 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853658 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:36:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:36:28 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854941 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:36:28 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854954 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:28 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:36:28 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:36:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:36:28 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854964 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:28 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:36:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:36:28 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854973 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:28 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:36:28 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:36:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:36:28 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854982 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:28 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:36:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:36:28 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854992 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:28 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:36:28 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:36:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:36:29 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:29Z, a difference of 163855002 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:36:29 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:36:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:37:48 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:48Z, a difference of 163934949 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:48 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:37:49 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935242 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:49 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:37:49 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:37:49 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:37:49 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935251 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:49 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:37:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:37:49 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935260 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:49 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:37:49 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:37:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:37:49 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935268 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:49 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:37:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:37:49 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935277 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:49 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:37:49 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:37:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:37:49 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935286 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:49 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:37:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:37:51 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937219 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:37:51 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937251 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:51 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:37:51 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:37:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:37:51 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937654 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:37:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:37:51 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937671 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:51 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:37:51 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:37:51 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:37:51 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937684 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:51 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:37:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:37:51 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937700 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:37:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:37:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:37:51 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937714 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:37:51 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:37:51 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:38:09 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {} +io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:38:09Z, a difference of 163955770 milliseconds. Allowed clock skew: 0 milliseconds. + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385) + at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) + at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) + at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56) + at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48) + at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89) + at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) + at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +2025-11-03 15:38:09 [http-nio-8080-exec-10] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 +2025-11-03 15:38:09 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:09 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:09 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:09 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:09 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:09 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:09 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:38:09 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:09 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:38:10 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:38:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:38:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:38:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:38:10 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:38:10 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:38:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:38:10 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:38:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:38:10 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:38:10 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:38:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:38:10 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:10 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:38:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:38:15 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:38:15 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:15 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:15 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:38:15 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:38:15 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:38:15 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:38:15 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:38:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:38:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:38:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:38:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:38:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:38:50 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/articles,异常消息:不允许访问 +2025-11-03 15:38:50 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.security.access.AccessDeniedException: 不允许访问] +2025-11-03 15:40:38 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:40:39 [Thread-6] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:40:39 [Thread-6] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' +2025-11-03 15:40:39 [Thread-6] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:39 [Thread-6] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:39 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:40:39 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:40:39 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:40:39 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:40:39 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:40:39 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:40:39 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 24 ms. Found 5 JPA repository interfaces. +2025-11-03 15:40:39 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:40:39 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:40:39 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:40:39 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:40:39 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:40:39 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 361 ms +2025-11-03 15:40:39 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:40:39 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:40:39 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:40:39 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:40:39 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:40:39 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:39 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:40:40 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@58db4857, org.springframework.security.web.context.SecurityContextPersistenceFilter@60394f4d, org.springframework.security.web.header.HeaderWriterFilter@3f686f27, org.springframework.security.web.authentication.logout.LogoutFilter@5ded07e8, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1268/0x00000007c08b4c28@10830402, com.qf.myafterprojecy.config.JwtAuthenticationFilter@955f64e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5f257628, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@23c83bbc, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@43d0aeac, org.springframework.security.web.session.SessionManagementFilter@98ba26d, org.springframework.security.web.access.ExceptionTranslationFilter@3a90b674, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@121868d8] +2025-11-03 15:40:40 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:40:40 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:40:40 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:40:40 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 1.043 seconds (JVM running for 1515.134) +2025-11-03 15:40:40 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:40:41 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:40:41 [Thread-8] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:40:41 [Thread-8] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:41 [Thread-8] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:41 [Thread-8] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:41 [Thread-8] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:40:41 [Thread-8] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:40:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:40:42 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:40:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:40:42 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:40:42 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 27 ms. Found 5 JPA repository interfaces. +2025-11-03 15:40:42 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:40:42 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:40:42 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:40:42 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:40:42 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:40:42 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 313 ms +2025-11-03 15:40:42 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:40:42 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:40:42 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:40:42 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:40:42 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:40:42 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:42 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:40:42 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@38f06b6f, org.springframework.security.web.context.SecurityContextPersistenceFilter@6924501d, org.springframework.security.web.header.HeaderWriterFilter@1ed7bc2a, org.springframework.security.web.authentication.logout.LogoutFilter@76bfee62, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1270/0x00000007c0a6c428@7ad81e3d, com.qf.myafterprojecy.config.JwtAuthenticationFilter@34656fde, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7bdb64e2, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@584eb15f, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6724cdbf, org.springframework.security.web.session.SessionManagementFilter@3f9b5c0f, org.springframework.security.web.access.ExceptionTranslationFilter@5f89bc9f, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4efec347] +2025-11-03 15:40:42 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:40:42 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:40:42 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:40:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.824 seconds (JVM running for 1517.671) +2025-11-03 15:40:42 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:40:44 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:40:44 [Thread-12] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:40:44 [Thread-12] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:44 [Thread-12] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:44 [Thread-12] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:44 [Thread-12] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:40:44 [Thread-12] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:40:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:40:44 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:40:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:40:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:40:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25 ms. Found 5 JPA repository interfaces. +2025-11-03 15:40:44 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:40:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:40:44 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:40:44 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:40:44 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:40:44 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 261 ms +2025-11-03 15:40:44 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:40:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:40:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:40:44 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:40:44 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:40:44 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:44 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:40:45 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@11f443d4, org.springframework.security.web.context.SecurityContextPersistenceFilter@2832878b, org.springframework.security.web.header.HeaderWriterFilter@4491a78, org.springframework.security.web.authentication.logout.LogoutFilter@57048036, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1271/0x00000007c0a8cc28@41675dfb, com.qf.myafterprojecy.config.JwtAuthenticationFilter@b7099ee, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@65d16bec, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@298737f4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@206b5af3, org.springframework.security.web.session.SessionManagementFilter@3180768a, org.springframework.security.web.access.ExceptionTranslationFilter@7297e736, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3bdc7ebe] +2025-11-03 15:40:45 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:40:45 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:40:45 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:40:45 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.65 seconds (JVM running for 1520.024) +2025-11-03 15:40:45 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:40:46 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:40:46 [Thread-16] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:40:46 [Thread-16] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:46 [Thread-16] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:46 [Thread-16] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:46 [Thread-16] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:40:46 [Thread-16] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:40:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:40:46 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:40:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:40:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:40:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 29 ms. Found 5 JPA repository interfaces. +2025-11-03 15:40:47 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:40:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:40:47 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:40:47 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:40:47 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:40:47 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 412 ms +2025-11-03 15:40:47 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:40:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:40:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:40:47 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:40:47 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:40:47 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:47 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:40:47 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1c172c9c, org.springframework.security.web.context.SecurityContextPersistenceFilter@15dec080, org.springframework.security.web.header.HeaderWriterFilter@44eb1354, org.springframework.security.web.authentication.logout.LogoutFilter@2ad035f7, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1272/0x00000007c0aa2028@13c73f9b, com.qf.myafterprojecy.config.JwtAuthenticationFilter@761726e0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4c6c9143, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@50014a29, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4b470fb, org.springframework.security.web.session.SessionManagementFilter@135d91fa, org.springframework.security.web.access.ExceptionTranslationFilter@10a93840, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@33ca4b1c] +2025-11-03 15:40:47 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:40:47 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:40:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:40:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.847 seconds (JVM running for 1522.618) +2025-11-03 15:40:47 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:40:51 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:40:51 [Thread-20] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:40:51 [Thread-20] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:51 [Thread-20] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:51 [Thread-20] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:51 [Thread-20] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:40:51 [Thread-20] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:40:51 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:40:51 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:40:51 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:40:51 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:40:51 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20 ms. Found 5 JPA repository interfaces. +2025-11-03 15:40:51 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:40:51 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:40:51 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:40:51 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:40:51 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:40:51 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 289 ms +2025-11-03 15:40:51 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:40:51 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:40:51 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:40:51 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:40:51 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:40:51 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:52 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:40:52 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@f4746e4, org.springframework.security.web.context.SecurityContextPersistenceFilter@56910d45, org.springframework.security.web.header.HeaderWriterFilter@384333ae, org.springframework.security.web.authentication.logout.LogoutFilter@6c9885, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1273/0x00000007c0ab8c28@4a44e32b, com.qf.myafterprojecy.config.JwtAuthenticationFilter@51f7cf0e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@18f7de78, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3908508b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@41e3f5aa, org.springframework.security.web.session.SessionManagementFilter@78c3fcba, org.springframework.security.web.access.ExceptionTranslationFilter@4aa0910e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@14856992] +2025-11-03 15:40:52 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:40:52 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:40:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:40:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.729 seconds (JVM running for 1527.136) +2025-11-03 15:40:52 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:40:53 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:40:53 [Thread-24] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:40:53 [Thread-24] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:53 [Thread-24] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:40:53 [Thread-24] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:53 [Thread-24] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:40:53 [Thread-24] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:40:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:40:54 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:40:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:40:54 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:40:54 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20 ms. Found 5 JPA repository interfaces. +2025-11-03 15:40:54 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:40:54 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:40:54 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:40:54 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:40:54 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:40:54 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 212 ms +2025-11-03 15:40:54 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:40:54 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:40:54 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:40:54 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:40:54 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:40:54 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:40:54 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:40:54 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3bc688a7, org.springframework.security.web.context.SecurityContextPersistenceFilter@3fdecc7, org.springframework.security.web.header.HeaderWriterFilter@20100605, org.springframework.security.web.authentication.logout.LogoutFilter@3eaeb27f, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1274/0x00000007c0acc028@3e76b1d, com.qf.myafterprojecy.config.JwtAuthenticationFilter@7dca4f2c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@24e82e71, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@46824c7, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3ea87e2e, org.springframework.security.web.session.SessionManagementFilter@7d057c49, org.springframework.security.web.access.ExceptionTranslationFilter@3ef33839, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7a8ebffb] +2025-11-03 15:40:54 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:40:54 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:40:54 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:40:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.531 seconds (JVM running for 1529.4) +2025-11-03 15:40:54 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:41:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:03 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:41:03 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:41:03 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:41:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:41:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:41:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:41:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:41:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:41:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:41:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:41:24 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/articles,异常消息:不允许访问 +2025-11-03 15:41:24 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.security.access.AccessDeniedException: 不允许访问] +2025-11-03 15:42:39 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:42:39 [Thread-28] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:42:39 [Thread-28] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' +2025-11-03 15:42:39 [Thread-28] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:42:39 [Thread-28] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:39 [Thread-28] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:42:39 [Thread-28] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:42:39 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:42:39 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:42:39 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:42:40 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:42:40 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32 ms. Found 5 JPA repository interfaces. +2025-11-03 15:42:40 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:42:40 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:42:40 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:42:40 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:42:40 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:42:40 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 280 ms +2025-11-03 15:42:40 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:42:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:42:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:42:40 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:42:40 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:42:40 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:40 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:42:40 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5c4b1fef, org.springframework.security.web.context.SecurityContextPersistenceFilter@4508fabf, org.springframework.security.web.header.HeaderWriterFilter@50ec5b2, org.springframework.security.web.authentication.logout.LogoutFilter@500226b0, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1278/0x00000007c0aecc28@67478f06, com.qf.myafterprojecy.config.JwtAuthenticationFilter@67864494, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5d776503, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2e27184a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@19bc6e04, org.springframework.security.web.session.SessionManagementFilter@43c7f820, org.springframework.security.web.access.ExceptionTranslationFilter@1ca098ed, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@47d77626] +2025-11-03 15:42:40 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:42:40 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:42:40 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:42:40 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.713 seconds (JVM running for 1635.471) +2025-11-03 15:42:40 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:42:44 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:42:44 [Thread-32] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:42:44 [Thread-32] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:42:44 [Thread-32] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:42:44 [Thread-32] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:44 [Thread-32] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:42:44 [Thread-32] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:42:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:42:44 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:42:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:42:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:42:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 23 ms. Found 5 JPA repository interfaces. +2025-11-03 15:42:44 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:42:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:42:44 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:42:44 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:42:44 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:42:44 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 277 ms +2025-11-03 15:42:44 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:42:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:42:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:42:44 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:42:44 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:42:44 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:44 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:42:45 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2de91f41, org.springframework.security.web.context.SecurityContextPersistenceFilter@145af63d, org.springframework.security.web.header.HeaderWriterFilter@6981b685, org.springframework.security.web.authentication.logout.LogoutFilter@184bfe45, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1279/0x00000007c0b01c28@5a28d016, com.qf.myafterprojecy.config.JwtAuthenticationFilter@32ee9a15, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4f1f9fc0, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2bce3d38, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@798b60b7, org.springframework.security.web.session.SessionManagementFilter@5474853e, org.springframework.security.web.access.ExceptionTranslationFilter@68766d03, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4ec4f5db] +2025-11-03 15:42:45 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:42:45 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:42:45 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:42:45 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.71 seconds (JVM running for 1640.079) +2025-11-03 15:42:45 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:42:46 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:42:46 [Thread-36] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:42:46 [Thread-36] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:42:46 [Thread-36] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:42:46 [Thread-36] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:46 [Thread-36] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:42:46 [Thread-36] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:42:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:42:46 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:42:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:42:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:42:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 18 ms. Found 5 JPA repository interfaces. +2025-11-03 15:42:47 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:42:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:42:47 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:42:47 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:42:47 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:42:47 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 211 ms +2025-11-03 15:42:47 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:42:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:42:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:42:47 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:42:47 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:42:47 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:47 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:42:47 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@845048d, org.springframework.security.web.context.SecurityContextPersistenceFilter@7158dc9f, org.springframework.security.web.header.HeaderWriterFilter@54dce1f3, org.springframework.security.web.authentication.logout.LogoutFilter@31f338fe, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1280/0x00000007c0b14428@6c77791d, com.qf.myafterprojecy.config.JwtAuthenticationFilter@26a49f16, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5baec25b, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@68ce63a4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@75c0c661, org.springframework.security.web.session.SessionManagementFilter@62d0eb1, org.springframework.security.web.access.ExceptionTranslationFilter@6479c4b3, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@747f61f3] +2025-11-03 15:42:47 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:42:47 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:42:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:42:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.554 seconds (JVM running for 1642.359) +2025-11-03 15:42:47 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:42:49 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:42:50 [Thread-40] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:42:50 [Thread-40] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:42:50 [Thread-40] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:42:50 [Thread-40] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:50 [Thread-40] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:42:50 [Thread-40] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:42:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:42:50 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:42:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:42:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:42:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20 ms. Found 5 JPA repository interfaces. +2025-11-03 15:42:50 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:42:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:42:50 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:42:50 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:42:50 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:42:50 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 200 ms +2025-11-03 15:42:50 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:42:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:42:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:42:50 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:42:50 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:42:50 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:50 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:42:50 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@704410d, org.springframework.security.web.context.SecurityContextPersistenceFilter@2e0c416, org.springframework.security.web.header.HeaderWriterFilter@c8d01b8, org.springframework.security.web.authentication.logout.LogoutFilter@5e612c1e, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1281/0x00000007c0b2ec28@37724a21, com.qf.myafterprojecy.config.JwtAuthenticationFilter@6ba3fd72, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1e016d2a, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7ae53f93, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2a857497, org.springframework.security.web.session.SessionManagementFilter@6ff9f324, org.springframework.security.web.access.ExceptionTranslationFilter@7fdc6424, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6a25f785] +2025-11-03 15:42:50 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:42:50 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:42:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:42:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.604 seconds (JVM running for 1645.764) +2025-11-03 15:42:50 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:42:52 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-11-03 15:42:52 [Thread-44] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-11-03 15:42:52 [Thread-44] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) + java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:42:52 [Thread-44] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: + sun.misc.Unsafe.park(Native Method) + java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) + java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) + java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) + java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) + java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) + java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + java.lang.Thread.run(Thread.java:750) +2025-11-03 15:42:52 [Thread-44] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:52 [Thread-44] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-11-03 15:42:52 [Thread-44] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-11-03 15:42:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-11-03 15:42:52 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-11-03 15:42:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-11-03 15:42:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-11-03 15:42:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 17 ms. Found 5 JPA repository interfaces. +2025-11-03 15:42:52 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-11-03 15:42:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-11-03 15:42:52 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-11-03 15:42:52 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-11-03 15:42:52 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-11-03 15:42:52 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 184 ms +2025-11-03 15:42:52 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-11-03 15:42:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-11-03 15:42:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-11-03 15:42:52 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-11-03 15:42:52 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-11-03 15:42:52 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-11-03 15:42:52 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2025-11-03 15:42:53 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5fd66e48, org.springframework.security.web.context.SecurityContextPersistenceFilter@553909bc, org.springframework.security.web.header.HeaderWriterFilter@f618e0f, org.springframework.security.web.authentication.logout.LogoutFilter@2ff17239, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1282/0x00000007c0b41428@4fb95de1, com.qf.myafterprojecy.config.JwtAuthenticationFilter@673e2676, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1746b1dd, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@145444cc, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@e1f7b41, org.springframework.security.web.session.SessionManagementFilter@1bc7b5ac, org.springframework.security.web.access.ExceptionTranslationFilter@78875759, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5924e917] +2025-11-03 15:42:53 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-11-03 15:42:53 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-11-03 15:42:53 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-11-03 15:42:53 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.469 seconds (JVM running for 1647.938) +2025-11-03 15:42:53 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged +2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:47:32 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:32 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:47:32 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:47:32 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:47:32 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:47:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:47:32 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:47:32 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:47:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:47:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:47:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:35 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:47:35 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:47:35 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:47:35 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:47:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:47:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:47:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:47:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:47:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:47:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:47:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:47:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:42 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:47:42 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:47:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:47:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:47:42 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:47:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:47:46 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:47:46 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:46 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:47:46 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:47:46 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:47:46 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:47:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:47:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:47:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:47:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:47:49 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:49 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:49 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:47:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:47:50 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:47:50 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:47:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:47:50 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:47:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:47:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:47:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:47:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:47:50 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:50 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:47:50 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:47:50 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:47:50 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:47:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:47:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:47:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:47:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:47:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:47:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:47:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:47:58 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:47:58 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:47:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:47:58 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:47:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:47:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:47:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:47:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:48:24 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:24 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:24 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:48:24 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:24 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:48:25 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:48:25 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:48:25 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:48:25 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:48:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:48:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:48:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:48:25 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:48:52 [http-nio-8080-exec-5] INFO c.q.m.controller.AuthController - 用户登录请求: 123456 +2025-11-03 15:48:52 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:48:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:50:10 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1 +2025-11-03 15:50:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:10 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3 +2025-11-03 15:50:10 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2 +2025-11-03 15:50:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:50:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:50:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:10 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4 +2025-11-03 15:50:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:50:19 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:19 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:50:19 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:50:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:50:19 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:19 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:50:19 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:50:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:50:19 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:19 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:50:19 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:50:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:50:19 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:19 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:40 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:40 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:50:40 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:50:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:50:40 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:40 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:50:40 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:50:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:50:40 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:40 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:40 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:50:40 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:50:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:50:40 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:40 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:58 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:50:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:50:58 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:50:58 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:50:58 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:50:58 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:50:58 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:50:58 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:50:58 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:50:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:50:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:50:58 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:58 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:50:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:50:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:50:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:59 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:59 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:50:59 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:50:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:50:59 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:59 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:50:59 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:50:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:50:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:50:59 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:50:59 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:50:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:50:59 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:50:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:50:59 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:50:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:51:01 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:01 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:01 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:01 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:01 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:01 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:01 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:51:01 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:51:01 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:51:01 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:51:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:51:01 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:01 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:01 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:01 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:01 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:51:01 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:51:03 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:51:03 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:51:03 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:51:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:51:03 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:51:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:51:03 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:51:03 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:51:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:51:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:51:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:51:03 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:51:03 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:51:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:51:03 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:03 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:51:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:51:07 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:07 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:07 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:07 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:07 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 +2025-11-03 15:51:07 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 +2025-11-03 15:51:13 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:13 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:13 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:51:13 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:51:13 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 +2025-11-03 15:51:13 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 +2025-11-03 15:53:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:53:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:53:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:53:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:53:59 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 +2025-11-03 15:53:59 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 +2025-11-03 15:54:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:02 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 +2025-11-03 15:54:02 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 +2025-11-03 15:54:34 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:34 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:34 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 +2025-11-03 15:54:34 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 +2025-11-03 15:54:43 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-4] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:54:43 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:54:43 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:54:43 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:54:43 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:54:43 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:54:43 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:54:43 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:54:43 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:54:43 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:54:43 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:54:43 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:54:43 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:54:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:54:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:54:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:54:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:54:43 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:54:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:54:44 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:54:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:54:44 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:54:44 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:54:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:54:44 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:54:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:54:44 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:54:44 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:54:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:54:44 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:54:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:54:44 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:54:44 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:54:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:54:44 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:54:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:54:44 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:54:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:23 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:23 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:24 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:58:24 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:58:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:58:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:58:24 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:58:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:58:24 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:58:24 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:58:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:58:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:24 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:26 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:26 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:58:26 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:58:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:58:26 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:26 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:58:26 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:58:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:58:26 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:26 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:58:26 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:58:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:58:26 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:26 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:58:35 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:58:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:58:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:58:35 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:58:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:58:35 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:35 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:58:35 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:58:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:58:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:35 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:58:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:58:42 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:58:42 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:58:42 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:58:42 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:58:42 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:58:42 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:58:42 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:58:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:58:42 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:58:42 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:58:42 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:58:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:58:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:58:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:58:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:58:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:58:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:58:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:16 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:59:16 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:16 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:16 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:16 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:16 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:16 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:16 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:16 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:16 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:16 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:16 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:59:16 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:59:16 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:59:16 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:59:16 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:59:16 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:59:16 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:17 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:59:17 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:17 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:17 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:17 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:17 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:17 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:17 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:17 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:17 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:17 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:59:17 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:59:17 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:59:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:59:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:59:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:59:17 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:22 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:59:22 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:22 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:22 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:22 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:22 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:22 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:22 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:22 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:22 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:22 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:59:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:59:22 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:59:22 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:59:22 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:59:22 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:59:22 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:22 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:22 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:22 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:23 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:23 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:59:23 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:59:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:59:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:23 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:59:23 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:59:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:59:23 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:23 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:59:23 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:59:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:59:23 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:23 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:23 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:23 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:59:24 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:24 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:24 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:24 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:24 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:24 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:24 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:24 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:59:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:59:24 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:24 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:59:24 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:59:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:59:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:59:24 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:27 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:27 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:59:27 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:59:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:59:27 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:27 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:59:27 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:59:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:59:27 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:27 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:59:27 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:59:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:59:27 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:27 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:28 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:59:28 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:28 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:28 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:28 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:28 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:28 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:28 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:28 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:28 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:59:28 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:28 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:59:28 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:59:28 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:59:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:59:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:59:28 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:29 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:29 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 15:59:29 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 15:59:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:59:29 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:29 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 15:59:29 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 15:59:29 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:59:29 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:29 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:29 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 15:59:29 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 15:59:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 15:59:29 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:29 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 15:59:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:31 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:31 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:31 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 15:59:31 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:31 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:31 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:31 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 15:59:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 15:59:31 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 15:59:31 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 15:59:31 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 15:59:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 15:59:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 15:59:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 15:59:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 15:59:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 15:59:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 15:59:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:02:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:02:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:30 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:30 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:30 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:30 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:30 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:30 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:30 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:30 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:02:30 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:02:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:02:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:02:30 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:02:30 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:02:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:02:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:02:30 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:02:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:02:35 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:02:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:35 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:35 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:35 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:35 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:35 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:35 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:35 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:35 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:02:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:02:35 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:02:35 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:02:35 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:02:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:02:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:02:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:02:35 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:02:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:02:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:02:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:42 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:42 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:42 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:02:42 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:42 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:42 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:42 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:02:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:02:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:02:42 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:02:42 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:02:42 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:02:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:02:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:02:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:02:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:02:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:02:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:02:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:03:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:02 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:02 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:02 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:02 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:02 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:02 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:02 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:03:02 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:03:02 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:03:02 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:03:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:03:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:03:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:03:02 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:04 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:04 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:03:05 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:05 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:05 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:05 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:05 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:05 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:05 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:05 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:05 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:03:05 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:03:05 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:03:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:03:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:03:05 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:03:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:03:05 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:10 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:03:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:10 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:10 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:10 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:10 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:10 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:10 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:10 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:10 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:03:10 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:03:10 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:03:10 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:03:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:03:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:03:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:03:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:12 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:03:12 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:12 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:12 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:12 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:12 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:12 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:12 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:12 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:12 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:03:12 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:03:12 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:03:12 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:03:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:03:12 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:03:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:03:12 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:46 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:03:46 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:46 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:46 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:46 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:03:46 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:46 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:46 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:46 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:03:46 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:03:46 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:03:46 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:03:46 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:03:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:03:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:03:46 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:03:46 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:46 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:03:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:03:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:03:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:04:25 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:04:25 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:04:25 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:04:25 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:04:25 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:04:25 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:04:25 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:04:25 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:04:25 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:04:25 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:04:25 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:04:25 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:04:25 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:04:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:04:25 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:04:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:04:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:04:25 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:04:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:04:26 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:04:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:04:26 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:04:26 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:04:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:04:26 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:04:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:04:26 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:04:26 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:04:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:04:26 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:04:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:04:26 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:04:26 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:04:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:04:26 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:04:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:04:26 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:04:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:49 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:49 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:05:49 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:05:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:05:49 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:49 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:05:49 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:05:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:05:49 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:49 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:05:49 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:05:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:05:49 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:49 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:54 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:05:54 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:05:54 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:05:54 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:05:54 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:05:54 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:05:54 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:05:54 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:05:54 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:05:54 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:05:54 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:54 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:05:54 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:05:54 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:54 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:05:54 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:05:54 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:05:54 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:55 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:55 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:05:55 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:05:55 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:05:55 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:55 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:05:55 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:05:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:05:55 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:55 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:05:55 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:05:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:05:55 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:55 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:56 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:05:56 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:05:56 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:05:56 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:05:56 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:05:56 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:05:56 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:05:56 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:05:56 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:05:56 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:56 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:05:56 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:56 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:05:56 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:05:56 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:05:56 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:05:56 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:05:56 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:05:58 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:05:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:05:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:58 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:05:58 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:05:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:05:58 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:05:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:05:58 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:05:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:05:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:05:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:05:58 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:05:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:20 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:20 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:20 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:06:20 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:06:20 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:06:20 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:20 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:20 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:06:20 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:06:20 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:06:20 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:20 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:20 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:06:20 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:06:20 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:06:20 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:20 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:20 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:20 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:21 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:21 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:06:21 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:06:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:06:21 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:21 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:06:21 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:06:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:06:21 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:21 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:06:21 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:06:21 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:06:21 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:21 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:21 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:21 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:23 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:23 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:06:23 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:06:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:06:23 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:06:23 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:06:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:06:23 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:23 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:06:23 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:06:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:06:23 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:23 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:47 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:47 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:06:47 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:06:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:06:47 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:47 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:06:47 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:06:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:06:47 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:47 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:06:47 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:06:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:06:47 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:50 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:06:50 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:06:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:06:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:06:50 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:06:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:06:50 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:06:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:06:50 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:06:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:06:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:06:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:06:50 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:06:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:07:52 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:07:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:07:52 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:07:52 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:07:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:07:52 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:07:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:07:52 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:07:52 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:07:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:07:52 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:07:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:07:52 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:07:52 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:07:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:07:52 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:07:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:07:52 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:07:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:07:59 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:00 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:08:00 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:08:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:08:00 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:00 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:00 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:08:00 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:08:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:08:00 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:00 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:00 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:08:00 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:08:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:08:00 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:00 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:00 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:00 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:08 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:08 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:08:08 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:08:08 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:08:08 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:08 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:08:08 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:08:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:08:08 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:08 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:08:08 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:08:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:08:08 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:08 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:12 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:12 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:08:12 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:08:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:08:12 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:12 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:08:12 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:08:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:08:12 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:12 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:08:12 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:08:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:08:12 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:12 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:19 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:19 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:08:19 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:08:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:08:19 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:19 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:08:19 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:08:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:08:19 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:19 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:08:19 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:08:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:08:19 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:19 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:21 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:21 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:08:21 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:08:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:08:21 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:21 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:08:21 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:08:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:08:21 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:21 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:08:21 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:08:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:08:21 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:21 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:31 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:31 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:08:31 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:08:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:08:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:08:31 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:08:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:08:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:08:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:08:31 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:08:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:08:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:08:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:08:31 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:08:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:09:02 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:09:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:09:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:09:02 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:09:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:09:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:09:02 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:09:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:09:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:02 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:05 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:09:05 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:05 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:05 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:05 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:05 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:05 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:05 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:05 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:05 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:09:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:09:05 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:05 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:09:05 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:09:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:09:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:09:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:05 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:06 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:06 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:09:06 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:09:06 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:09:06 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:06 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:09:06 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:09:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:09:06 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:06 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:09:06 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:09:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:09:06 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:14 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:14 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:14 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:14 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:14 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:09:15 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:15 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:15 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:15 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:15 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:15 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:15 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:15 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:15 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:15 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:09:15 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:09:15 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:09:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:09:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:09:15 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:09:15 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:17 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:09:17 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:17 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:17 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:17 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:09:17 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:17 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:17 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:17 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:09:17 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:17 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:09:17 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:09:17 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:09:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:09:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:09:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:09:17 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:56 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:56 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:09:56 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:09:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:09:56 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:56 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:09:56 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:09:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:09:56 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:56 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:09:56 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:09:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:09:56 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:56 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:58 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:09:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:58 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:09:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:09:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:58 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:09:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:09:58 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:58 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:09:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:09:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:09:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:10:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:10:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:10:02 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:10:02 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:10:02 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:10:02 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:10:02 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:10:02 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:10:02 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:10:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:10:02 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:10:02 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:10:02 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:10:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:10:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:10:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:10:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:10:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:10:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:10:04 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:10:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:10:04 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:10:04 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:10:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:10:04 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:10:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:10:04 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:10:04 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:10:04 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:10:04 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:10:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:10:04 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:10:04 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:10:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:10:04 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:10:04 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:10:04 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:10:04 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:33 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:33 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:11:33 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:11:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:11:33 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:33 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:11:33 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:11:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:11:33 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:33 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:11:33 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:11:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:11:33 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:33 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:11:42 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:11:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:11:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:11:42 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:11:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:11:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:11:42 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:11:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:11:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:42 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:45 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:45 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:11:45 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:11:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:11:45 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:45 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:11:45 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:11:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:11:45 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:45 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:11:45 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:11:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:11:45 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:45 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:50 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:11:50 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:11:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:11:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:11:50 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:11:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:11:50 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:11:50 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:11:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:11:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:50 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:52 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:52 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:11:52 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:11:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:11:52 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:52 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:11:52 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:11:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:11:52 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:11:52 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:11:52 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:11:52 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:11:52 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:11:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:11:52 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:11:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:00 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:00 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:00 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:00 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:00 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:12:00 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:12:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:12:01 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:01 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:12:01 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:12:01 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:12:01 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:01 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:01 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:12:01 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:12:01 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:12:01 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:01 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:08 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:08 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:12:08 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:12:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:12:08 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:08 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:12:08 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:12:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:12:08 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:08 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:08 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:12:08 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:12:08 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:12:08 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:08 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:27 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:27 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:12:27 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:12:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:12:27 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:27 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:12:27 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:12:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:12:27 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:27 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:12:27 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:12:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:12:27 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:27 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:28 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:28 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:29 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:12:29 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:12:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:12:29 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:29 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:12:29 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:12:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:12:29 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:29 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:12:29 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:12:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:12:29 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:29 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:29 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:29 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:29 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:29 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:30 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:12:30 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:12:30 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:12:30 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:12:30 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:12:30 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:12:30 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:12:30 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:12:30 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:12:31 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:12:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:12:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:12:31 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:12:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:12:31 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:31 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:12:31 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:12:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:12:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:31 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:33 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 +2025-11-03 16:12:33 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:12:33 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:12:33 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:12:33 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present +2025-11-03 16:12:33 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:12:33 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:12:33 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:12:33 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present] +2025-11-03 16:12:33 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 +2025-11-03 16:12:33 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 +2025-11-03 16:12:33 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:12:33 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 +2025-11-03 16:12:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:12:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] +2025-11-03 16:12:33 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:34 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:34 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:12:34 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:12:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:12:34 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:34 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:34 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:12:34 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:12:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:12:34 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:12:34 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:12:34 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:12:34 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:12:34 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:12:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:12:34 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:12:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:51 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:13:51 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:13:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:13:51 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:13:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:51 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:13:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:13:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:13:51 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:13:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:51 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:13:51 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:13:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:13:51 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:51 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:13:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:54 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:54 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:54 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:54 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:54 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 +2025-11-03 16:13:54 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 +2025-11-03 16:13:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] +2025-11-03 16:13:55 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:13:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:55 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 +2025-11-03 16:13:55 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 +2025-11-03 16:13:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] +2025-11-03 16:13:55 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:13:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-11-03 16:13:55 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 +2025-11-03 16:13:55 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 +2025-11-03 16:13:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] +2025-11-03 16:13:55 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456 +2025-11-03 16:13:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456] +2025-11-03 16:13:55 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 +2025-11-03 16:13:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] diff --git a/logs/web_project.log.2025-10-26.0.gz b/logs/web_project.log.2025-10-26.0.gz deleted file mode 100644 index ed53ef0..0000000 Binary files a/logs/web_project.log.2025-10-26.0.gz and /dev/null differ diff --git a/logs/web_project.log.2025-10-30.0.gz b/logs/web_project.log.2025-10-30.0.gz new file mode 100644 index 0000000..8d97d02 Binary files /dev/null and b/logs/web_project.log.2025-10-30.0.gz differ diff --git a/logs/web_project.log.2025-10-31.0.gz b/logs/web_project.log.2025-10-31.0.gz new file mode 100644 index 0000000..9032daf Binary files /dev/null and b/logs/web_project.log.2025-10-31.0.gz differ diff --git a/pom.xml b/pom.xml index c38c3b9..54cfb07 100644 --- a/pom.xml +++ b/pom.xml @@ -81,6 +81,13 @@ 0.18.2 + + + io.jsonwebtoken + jjwt + 0.9.1 + + javax.cache diff --git a/src/main/java/com/qf/myafterprojecy/config/JwtAuthenticationFilter.java b/src/main/java/com/qf/myafterprojecy/config/JwtAuthenticationFilter.java new file mode 100644 index 0000000..f689add --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/config/JwtAuthenticationFilter.java @@ -0,0 +1,96 @@ +package com.qf.myafterprojecy.config; + +import com.qf.myafterprojecy.utils.JwtUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; +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 java.io.IOException; + +/** + * JWT认证过滤器,用于验证token并授权用户 + */ +@Component +public class JwtAuthenticationFilter extends OncePerRequestFilter { + + private static final Logger logger = LoggerFactory.getLogger(JwtAuthenticationFilter.class); + + @Autowired + private JwtUtils jwtUtils; + + @Autowired + private UserDetailsService userDetailsService; + + @Value("${jwt.header:Authorization}") + private String tokenHeader; + + @Value("${jwt.token-prefix:Bearer}") + private String tokenPrefix; + + @Override + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { + try { + // 获取token + String token = getTokenFromRequest(request); + System.out.println(token); + if (token != null && validateToken(token)) { + // 从token中获取用户名 + String username = jwtUtils.getUsernameFromToken(token); + + // 加载用户信息 + UserDetails userDetails = userDetailsService.loadUserByUsername(username); + + // 创建认证对象 + UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken( + userDetails, null, userDetails.getAuthorities()); + authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); + + // 设置认证信息到上下文 + SecurityContextHolder.getContext().setAuthentication(authentication); + } + } catch (Exception e) { + logger.error("无法设置用户认证: {}", e); + SecurityContextHolder.clearContext(); + } + + filterChain.doFilter(request, response); + } + + /** + * 从请求头中获取token + */ + private String getTokenFromRequest(HttpServletRequest request) { + String bearerToken = request.getHeader(tokenHeader); + if (bearerToken != null && bearerToken.startsWith(tokenPrefix + " ")) { + return bearerToken.substring(tokenPrefix.length() + 1); + } + + return null; + } + + /** + * 验证token + */ + private boolean validateToken(String token) { + try { + String username = jwtUtils.getUsernameFromToken(token); + UserDetails userDetails = userDetailsService.loadUserByUsername(username); + return jwtUtils.validateToken(token, userDetails); + } catch (Exception e) { + logger.error("无效的token: {}", e); + return false; + } + } +} diff --git a/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java b/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java index ff7d43a..6c721ce 100644 --- a/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java +++ b/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java @@ -32,6 +32,9 @@ public class SecurityConfig { @Autowired private PasswordEncoder passwordEncoder; + @Autowired + private JwtAuthenticationFilter jwtAuthenticationFilter; + /** * 配置AuthenticationManager Bean * 使用AuthenticationConfiguration来获取认证管理器,这是更现代的方式 @@ -75,6 +78,9 @@ public class SecurityConfig { .sessionManagement() .sessionCreationPolicy(SessionCreationPolicy.STATELESS); + // 添加JWT认证过滤器 + http.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); + // 确保Spring Security不会添加额外的CharacterEncodingFilter // 因为我们在CharacterEncodingConfig中已经配置了自定义的过滤器 http.addFilterBefore((request, response, chain) -> { @@ -82,7 +88,7 @@ public class SecurityConfig { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); chain.doFilter(request, response); - }, UsernamePasswordAuthenticationFilter.class); + }, JwtAuthenticationFilter.class); return http.build(); } diff --git a/src/main/java/com/qf/myafterprojecy/controller/AuthController.java b/src/main/java/com/qf/myafterprojecy/controller/AuthController.java index 4eaca5e..6cc4e31 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/AuthController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/AuthController.java @@ -1,6 +1,7 @@ package com.qf.myafterprojecy.controller; import com.qf.myafterprojecy.config.ResponseMessage; +import com.qf.myafterprojecy.utils.JwtUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +32,9 @@ public class AuthController { @Autowired private AuthenticationManager authenticationManager; + @Autowired + private JwtUtils jwtUtils; + /** * 用户登录请求体 */ @@ -77,11 +81,14 @@ public class AuthController { // 获取认证后的用户信息 UserDetails userDetails = (UserDetails) authentication.getPrincipal(); + // 生成JWT token + String token = jwtUtils.generateToken(userDetails); // 构建返回数据 Map data = new HashMap<>(); data.put("username", userDetails.getUsername()); data.put("authorities", userDetails.getAuthorities()); - // data.put("message", "登录成功"); + data.put("token", token); + data.put("tokenPrefix", jwtUtils.getTokenPrefix()); return ResponseMessage.success(data, "登录成功"); diff --git a/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java b/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java index 469ad52..716563b 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java @@ -8,6 +8,7 @@ import com.qf.myafterprojecy.service.imp.ICategoryAttributeService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -53,6 +54,7 @@ public class CategoryAttributeController { * @return 创建结果 */ @PostMapping + @PreAuthorize("hasRole('ADMIN')") public ResponseMessage createAttribute(@Valid @RequestBody CategoryAttributeDto dto) { log.info("接收创建分类属性的请求: 分类ID={}, 属性名称={}", dto.getCategoryid(), dto.getAttributename()); @@ -66,6 +68,7 @@ public class CategoryAttributeController { * @return 更新结果 */ @PutMapping("/{id}") + @PreAuthorize("hasRole('ADMIN')") public ResponseMessage updateAttribute( @PathVariable Integer id, @Valid @RequestBody CategoryAttributeDto dto) { @@ -80,6 +83,7 @@ public class CategoryAttributeController { * @return 删除结果 */ @DeleteMapping("/{id}") + @PreAuthorize("hasRole('ADMIN')") public ResponseMessage deleteAttribute(@PathVariable Integer id) { log.info("接收删除分类属性的请求: ID={}", id); return categoryAttributeService.deleteCategoryAttribute(id); diff --git a/src/main/java/com/qf/myafterprojecy/controller/CategoryController.java b/src/main/java/com/qf/myafterprojecy/controller/CategoryController.java index c8ade1e..3f27ca4 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/CategoryController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/CategoryController.java @@ -8,6 +8,7 @@ import com.qf.myafterprojecy.service.imp.ICategoryService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -55,6 +56,7 @@ public class CategoryController { * @return 返回创建结果 */ @PostMapping + @PreAuthorize("hasRole('ADMIN')") public ResponseMessage createCategory(@Valid @RequestBody CategoryDto categoryDto) { log.info("接收创建分类的请求: {}", categoryDto.getTypename()); return categoryService.saveCategory(categoryDto); @@ -67,6 +69,7 @@ public class CategoryController { * @return 返回更新结果 */ @PutMapping("/{id}") + @PreAuthorize("hasRole('ADMIN')") public ResponseMessage updateCategory( @PathVariable Integer id, @Valid @RequestBody CategoryDto categoryDto) { @@ -80,6 +83,7 @@ public class CategoryController { * @return 返回删除结果 */ @DeleteMapping("/{id}") + @PreAuthorize("hasRole('ADMIN')") public ResponseMessage deleteCategory(@PathVariable Integer id) { log.info("接收删除分类的请求: {}", id); return categoryService.deleteCategory(id); diff --git a/src/main/java/com/qf/myafterprojecy/controller/MessageController.java b/src/main/java/com/qf/myafterprojecy/controller/MessageController.java index e548011..7a22530 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/MessageController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/MessageController.java @@ -8,6 +8,7 @@ import com.qf.myafterprojecy.service.imp.IMessageService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -87,6 +88,7 @@ public class MessageController { * 创建新消息 */ @PostMapping + @PreAuthorize("isAuthenticated()") public ResponseMessage createMessage(@RequestBody MessageDto message) { logger.info("接收创建消息的请求: {}", message != null ? message.getNickname() : "null"); return messageService.saveMessage(message); @@ -101,6 +103,7 @@ public class MessageController { * 根据ID删除消息 */ @DeleteMapping("/{id}") + @PreAuthorize("hasRole('ADMIN') or #id == authentication.principal.id") public ResponseMessage deleteMessage(@PathVariable Integer id) { logger.info("接收删除消息的请求: {}", id); return messageService.deleteMessage(id); diff --git a/src/main/java/com/qf/myafterprojecy/controller/UserController.java b/src/main/java/com/qf/myafterprojecy/controller/UserController.java index 9b42547..c5b1c84 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/UserController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/UserController.java @@ -8,6 +8,8 @@ import com.qf.myafterprojecy.service.imp.IUserService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -15,6 +17,7 @@ import java.util.List; @RestController @RequestMapping("/api/users") +@Validated public class UserController { private static final Logger logger = LoggerFactory.getLogger(UserController.class); @@ -38,6 +41,7 @@ public class UserController { * @return 用户列表 */ @GetMapping + @PreAuthorize("hasRole('ADMIN')") public ResponseMessage> getAllUsers() { logger.info("获取所有用户列表"); return userService.getAllUsers(); @@ -45,10 +49,10 @@ public class UserController { /** * 根据用户名获取用户信息 - * @param username 用户名 * @return 用户信息 */ @GetMapping("/username/{username}") + @PreAuthorize("hasRole('ADMIN') or #username == authentication.name") public ResponseMessage getUserByUsername(@PathVariable String username) { logger.info("根据用户名获取用户信息,用户名: {}", username); return userService.getUserByUsername(username); @@ -72,6 +76,7 @@ public class UserController { * @return 更新结果 */ @PutMapping("/{id}") + @PreAuthorize("hasRole('ADMIN') or #id == authentication.principal.id") public ResponseMessage updateUser(@PathVariable Long id, @Valid @RequestBody UserDto userDto) { logger.info("更新用户信息,用户ID: {}", id); return userService.updateUser(id, userDto); @@ -83,6 +88,7 @@ public class UserController { * @return 删除结果 */ @DeleteMapping("/{id}") + @PreAuthorize("hasRole('ADMIN')") public ResponseMessage deleteUser(@PathVariable Long id) { logger.info("删除用户,用户ID: {}", id); return userService.deleteUser(id); @@ -94,6 +100,7 @@ public class UserController { * @return 用户列表 */ @GetMapping("/role/{role}") + @PreAuthorize("hasRole('ADMIN')") public ResponseMessage> getUsersByRole(@PathVariable int role) { logger.info("根据角色查询用户列表,角色: {}", role); return userService.getUsersByRole(role); diff --git a/src/main/java/com/qf/myafterprojecy/pojo/dto/ArticleDto.java b/src/main/java/com/qf/myafterprojecy/pojo/dto/ArticleDto.java index 8468f4b..c3003a0 100644 --- a/src/main/java/com/qf/myafterprojecy/pojo/dto/ArticleDto.java +++ b/src/main/java/com/qf/myafterprojecy/pojo/dto/ArticleDto.java @@ -9,8 +9,7 @@ public class ArticleDto { @NotBlank(message = "标题不能为空") private String title; - @NotBlank(message = "内容不能为空") - private String content; + private String content;// 如果为空说明是长篇文章 不为空则是短篇说说 @NotNull(message = "属性ID不能为空") private Integer attributeid; @@ -23,8 +22,7 @@ public class ArticleDto { private Integer status; - @NotBlank(message = "Markdown内容不能为空") - private String markdownscontent; + private String markdownscontent; // 文章内容的Markdown格式 // Getters and Setters public Integer getArticleid() { diff --git a/src/main/java/com/qf/myafterprojecy/util/EncodingTestUtil.java b/src/main/java/com/qf/myafterprojecy/util/EncodingTestUtil.java deleted file mode 100644 index ba3c9b6..0000000 --- a/src/main/java/com/qf/myafterprojecy/util/EncodingTestUtil.java +++ /dev/null @@ -1,38 +0,0 @@ -// package com.qf.myafterprojecy.util; - -// import org.slf4j.Logger; -// import org.slf4j.LoggerFactory; -// import org.springframework.stereotype.Component; - -// import javax.annotation.PostConstruct; - -// /** -// * 编码测试工具类 -// * 用于验证系统编码配置是否正确,解决中文乱码问题 -// */ -// @Component -// public class EncodingTestUtil { - -// private static final Logger logger = LoggerFactory.getLogger(EncodingTestUtil.class); - -// /** -// * 在Bean初始化时执行编码测试 -// * 验证日志系统是否能正确输出中文 -// */ -// @PostConstruct -// public void testEncoding() { -// // 输出系统编码信息 -// logger.info("===== 系统编码测试开始 ====="); -// logger.info("默认字符编码: {}", java.nio.charset.Charset.defaultCharset()); -// logger.info("file.encoding: {}", System.getProperty("file.encoding")); -// logger.info("sun.stdout.encoding: {}", System.getProperty("sun.stdout.encoding")); -// logger.info("sun.stderr.encoding: {}", System.getProperty("sun.stderr.encoding")); - -// // 测试中文字符输出 -// logger.info("中文测试 - 这是一条测试日志,用于验证中文是否正常显示"); -// logger.warn("中文警告测试 - 这是一条警告日志,用于验证中文是否正常显示"); -// logger.error("中文错误测试 - 这是一条错误日志,用于验证中文是否正常显示"); - -// logger.info("===== 系统编码测试结束 ====="); -// } -// } diff --git a/src/main/java/com/qf/myafterprojecy/utils/JwtUtils.java b/src/main/java/com/qf/myafterprojecy/utils/JwtUtils.java new file mode 100644 index 0000000..5946b06 --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/utils/JwtUtils.java @@ -0,0 +1,103 @@ +package com.qf.myafterprojecy.utils; + +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.function.Function; + +/** + * JWT工具类,用于生成和验证token + */ +@Component +public class JwtUtils { + + @Value("${jwt.secret:default_secret_key_for_development}") + private String secret; + + @Value("${jwt.expiration:86400000}") + private long expiration; + + @Value("${jwt.token-prefix:Bearer}") + private String tokenPrefix; + + /** + * 从token中获取用户名 + */ + public String getUsernameFromToken(String token) { + return getClaimFromToken(token, Claims::getSubject); + } + + /** + * 从token中获取过期时间 + */ + public Date getExpirationDateFromToken(String token) { + return getClaimFromToken(token, Claims::getExpiration); + } + + /** + * 从token中获取指定的claim + */ + public T getClaimFromToken(String token, Function claimsResolver) { + final Claims claims = getAllClaimsFromToken(token); + return claimsResolver.apply(claims); + } + + /** + * 获取token中的所有claims + */ + private Claims getAllClaimsFromToken(String token) { + return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody(); + } + + /** + * 检查token是否过期 + */ + private Boolean isTokenExpired(String token) { + final Date expiration = getExpirationDateFromToken(token); + return expiration.before(new Date()); + } + + /** + * 生成token + */ + public String generateToken(UserDetails userDetails) { + Map claims = new HashMap<>(); + claims.put("authorities", userDetails.getAuthorities()); + return doGenerateToken(claims, userDetails.getUsername()); + } + + /** + * 生成token的核心方法 + */ + private String doGenerateToken(Map claims, String subject) { + return Jwts.builder() + .setClaims(claims) + .setSubject(subject) + .setIssuedAt(new Date(System.currentTimeMillis())) + .setExpiration(new Date(System.currentTimeMillis() + expiration)) + .signWith(SignatureAlgorithm.HS512, secret) + .compact(); + } + + /** + * 验证token + */ + public Boolean validateToken(String token, UserDetails userDetails) { + final String username = getUsernameFromToken(token); + return (username.equals(userDetails.getUsername()) && !isTokenExpired(token)); + } + + /** + * 获取token前缀 + */ + public String getTokenPrefix() { + return tokenPrefix; + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 9bfc3f2..36678de 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -72,10 +72,10 @@ management.endpoint.health.show-details=when_authorized management.metrics.export.prometheus.enabled=true # JWT配置 - 生产环境应使用更安全的密钥和环境变量 -jwt.secret=mySecretKey +jwt.secret=myAfterProjectSecretKey2024SecureJwtTokenGeneration jwt.expiration=86400000 jwt.header=Authorization -jwt.token-prefix=Bearer +jwt.token-prefix=Bearer # CORS配置 - 生产环境应限制允许的源 cors.allowed-origins=http://localhost:3000