基于模型 - 视图 - 控制器(MVC)模式构建Java Web应用程序的框架。它从底层视图技术中提升灵活和分离的代码。
将 HttpServletRequest 转发到不同的服务器
我在 Spring Servlet 中收到一个 HttpServletRequest 请求,我想将其按原样(即 GET 或 POST 内容)转发到不同的服务器。 使用 Spring Frame 的最佳方法是什么......
Spring security 6 与 JWT 集成测试抱怨缺少 HandlerMappingIntrospector
我有一个带有 oauth security 的 Spring boot 3 MVC 应用程序(spring security 6),我想为其创建一个集成测试。 我按照 Spring 的文档进行设置,但失败了 造成原因: ...
如何在Ajax成功方法中打开Spring ModelAndView响应作为一个完整的页面?
我无法使用 Ajax 成功方法打开 Spring 控制器方法给出的 ModelAndView 响应。 弹簧控制器方法: @RequestMapping(值=“setupDbEdit.htm”,方法=
我正在开发一个 SpringMVC 项目。 我的 jsonController.java: @RequestMapping("json1") @RestController //= @Controller+@ResponseBody 公共类 jsonController { @RequestMapping("...
我使用 Swagger 2 和非 spring-boot,我也可以在 Tomcat 上部署我的应用程序并成功运行它。但控制器并没有出现在 swagger-ui.html 中,只是带有绿色 swagger 的空白页面
鉴于此 Maven 模块: web = MVC 层(带有控制器的 Spring MVC 项目) 客户端 = WebClient (Spring Webflux WebClient) 我如何集成测试客户端模块以从...获取信息
仅在通过 Jenkins 部署时出现以下错误。 应用程序在本地运行良好 最近升级到 springboot 3.3.0 , JDK 17 Jenkins 构建成功但部署失败 检查了 spring-webmvc...
为什么对 Spring MVC 控制器的请求发送到 Struts 调度程序?
我配置了 Struts 2 和 Spring MVC。我的 web.xml 如下所示: 网络.xml: struts2 org.apache.struts2.dispatcher。
为什么对 Spring MVC 控制器的请求会转到 Struts Dispatcher?
我配置了 Struts 2 和 Spring MVC。我的 web.xml 如下所示: 网络.xml: struts2 org.apache.struts2.dispatcher。
我配置了 Struts 2 和 Spring MVC。我的 web.xml 如下所示: 网络.xml: struts2 org.apache.struts2.dispatcher。
Spring+Thymeleaf - 映射为表单支持 bean
假设我有以下控制器代码: @ModelAttribute(“测试”) 公共地图测试(){ Map someMap = new HashMap<>()...
springboot - 初始化 eclipseLink bean
我有这个配置bean: @启用事务管理 @EnableJpaRepositories({ "com.soib.repositories", “com.notification.repositories”}) @Slf4j @配置 公共课...
Spring Boot初始化中的BeanCreationException问题排查
我有这个错误: @EnableJpaRepositories 声明于 JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration:无法创建类型为 [org.springframewor...
我正在开发 Spring MVC 应用程序,在我的项目中,我有登录页面,我可以在其中成功登录,问题是,如果我打开新选项卡并使用不同的用户名登录,它就会登录,m...
HIbernate 使用 Oracle 触发器从序列生成 id 的问题
我们有一个插入之前触发器,可以从序列中获取下一个值。当使用 save() 方法持久化对象时,hibernate 从序列中获取值并将其添加到对象中。以及什...
JBoss 上的 Spring MVC 日志错误也记录在 System.out 中
我有一个在 JBoss EAP 服务器 (7.4) 上运行的 Spring MVC 应用程序 (5.2.4.RELEASE)。 当我在控制器方法中出现错误(例如 javax.naming.NameNotFoundException)时,异常会被记录...
logback - 仅显示 catalina.out 中的错误
我有这个文件logback-spring.xml: 我有这个文件 logback-spring.xml: <configuration> <property name="DEV_HOME" value="./logs" /> <appender name="FILE-AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${DEV_HOME}/dana.log</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%black(%date{"yyyy-MM-dd HH:mm:ss.SSS", "Europe/Brussels"}) %highlight(%-5level) [%green(%X{sessionId})] %yellow(%logger{36}@%method\(%line\)) - %msg%n%throwable</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${DEV_HOME}/archive/dana.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>1MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <appender name="FILE-AUDITSPRING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${DEV_HOME}/springframework.log</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", Europe/Brussels} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${DEV_HOME}/archive/springframework.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>1MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <appender name="FILE-CATALINA" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${DEV_HOME}/catalina.out</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%black(%date{"yyyy-MM-dd HH:mm:ss.SSS", "Europe/Brussels"}) %highlight(%-5level) [%green(%X{sessionId})] %yellow(%logger{36}@%method\(%line\)) - %msg%n%throwable</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${DEV_HOME}/archive/catalina.out.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>1MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <root level="ERROR"> <appender-ref ref="FILE-CATALINA" /> </root> <appender name="FILE-AUDIT-WF" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${DEV_HOME}/activiti.log</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", Europe/Brussels} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>${DEV_HOME}/archive/activiti.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>1MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender" > <encoder> <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", Europe/Brussels} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="ERROR"> <appender-ref ref="CONSOLE" /> </root> <root level="ERROR"> <appender-ref ref="STDOUT" /> </root> <!--springProfile name="dev"--> <logger name="com.keuroa.em" level="error" additivity="true"> <appender-ref ref="FILE-AUDIT" /> </logger> <logger name="org.springframework" level="error" additivity="true"> <appender-ref ref="FILE-AUDITSPRING" /> </logger> <logger name="org.activiti" level="error" additivity="true"> <appender-ref ref="FILE-AUDIT-WF" /> </logger> <logger name="org.activiti5" level="error" additivity="true"> <appender-ref ref="FILE-AUDIT-WF" /> </logger> <!--/springProfile--> <springProfile name="prod"> <logger name="com.keuroa.em" level="WARN" additivity="false"> <appender-ref ref="FILE-AUDIT" /> </logger> <logger name="org.springframework" level="WARN" additivity="false"> <appender-ref ref="FILE-AUDITSPRING" /> </logger> <logger name="org.activiti" level="WARN" additivity="false"> <appender-ref ref="FILE-AUDIT-WF" /> </logger> <logger name="org.activiti5" level="WARN" additivity="false"> <appender-ref ref="FILE-AUDIT-WF" /> </logger> </springProfile> <logger name="org.springframework.security" level="ERROR" /> </configuration> 但是在{server}/logs/tomcat/catalina.out,我明白了 7:01:33.324 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.persistence.entity.TimerJobEntityImpl.selectTimerJobsToExecute - ==> Preparing: select * from ( select a.*, ROWNUM rnum from ( select RES.* from ACT_RU_TIMER_JOB RES where DUEDATE_ <= ? and LOCK_OWNER_ is null ) a where ROWNUM < ?) where rnum >= ? 17:01:33.325 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.persistence.entity.TimerJobEntityImpl.selectTimerJobsToExecute - ==> Parameters: 2024-11-07 17:01:33.324(Timestamp), 2(Integer), 1(Integer) 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.persistence.entity.TimerJobEntityImpl.selectTimerJobsToExecute - <== Total: 0 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.db.DbSqlSession - Flushing dbSqlSession 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.db.DbSqlSession - flush summary: 0 insert, 0 update, 0 delete. 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.db.DbSqlSession - now executing flush... 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.apache.ibatis.transaction.managed.ManagedTransaction - Closing JDBC Connection [Transaction-aware proxy for target Connection [ProxyConnection[PooledConnection[oracle.jdbc.driver.T4CConnection@65a0287e]]]] 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.springframework.orm.jpa.JpaTransactionManager - Initiating transaction commit 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.springframework.orm.jpa.JpaTransactionManager - Committing JPA transaction on EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@7591a8b2] 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.springframework.orm.jpa.JpaTransactionManager - Closing JPA EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@7591a8b2] after transaction 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.interceptor.LogInterceptor - --- AcquireTimerJobsCmd finished -------------------------------------------------------- 17:01:33.326 [activiti-acquire-timer-jobs] DEBUG org.activiti.engine.impl.interceptor.LogInterceptor - 请查看关于日志分离的官方 logback 指南并应用其中描述的建议。
我的非控制器类将是, 公共类授权{ 字符串许可证路径; @Value("${licenseKeyNotFound}") 字符串许可证KeyNotFound; 公共布尔签入(字符串许可证...
在自定义 AuthenticationProvider 中访问 HttpServletRequest
如何在自定义 AuthenticationProvider 中访问 HttpServletRequest。我试过这样做 RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
如何从 Spring MVC 请求映射中排除特定操作名称(servlet),以便它在 web.xml 中查找该操作?
在Struts 2中我使用过 执行上述操作后,Struts 2 避免在 struts.xml 中查找 /servlet-action 和