承接上文,配置日志
1 pom文件中引入
<!-- log -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.6.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.6</version>
<scope>runtime</scope>
</dependency>
<!-- log -->
2 web.xml文件中加入配置
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>6000</param-value>
</context-param>
3 并在src目录下新增一个log4j.properties文件
log4j.rootLogger=info, ServerDailyRollingFile, stdout
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
log4j.appender.ServerDailyRollingFile.File=../log/log.log
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] %l %m%n
log4j.appender.ServerDailyRollingFile.Append=true
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] %l %m%n
期间在运行是,对@RequestBody注解有一些疑惑,查了些资料发现,将HTTP请求正文转换为适合的HttpMessageConverter对象,但其接受的对象必须是json字符串,并且enctype="application/json"配置为json的格式,比较适合ajax异步请求,默认的form请求不需要这个注解的。
实体类的属性开始用的是原子类型的,后来在自动包装的时候忘记填写一个数据了,发现开始报错400错误,
描述为:The request sent by the client was syntactically incorrect.
将日志级别调成debug级别,发现错误如下:
Field error in object 'animal' on field 'id': rejected value []; codes [typeMismatch.animal.id,typeMismatch.id,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [animal.id,id]; arguments []; default message [id]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'id'; nested exception is java.lang.NumberFormatException: For input string: ""]
将其id属性类型改成包装类型Integer即可,如果非要原子类型,得手工重写绑定方法。
相关推荐
### Spring MVC 最全约束配置文件解析 #### 一、配置文件概述 在Spring MVC框架中,配置文件扮演着至关重要的角色。它不仅定义了应用程序的行为,还管理着各种组件和服务的生命周期。本篇将深入探讨一个典型的...
Spring Boot默认集成了Logback或Log4j2作为日志系统,通过application.properties或application.yml文件可以配置日志级别、输出位置等参数。 以上是Spring面试中常见的25个问题及其解答,涵盖了Spring的核心概念、...
4. 日志管理:Spring提供了对不同日志框架的支持,例如Commons Logging、SLF4J和Log4J。文档中提到了如何在项目中使用这些日志框架,以及如何在不使用Commons Logging时进行配置。 5. 新特性介绍:在Spring ...
此外,还讨论了Spring框架对日志的支持,包括不使用Commons Logging、使用SLF4J和使用Log4J。 随着Spring 3.0的更新,带来了许多新特性和增强功能。文档详细介绍了Java 5的支持,以及文档的改进,新文章和教程的...
Spring 3.1 支持多种日志框架,包括 Commons Logging、SLF4J 和 Log4j 等。 - **不使用 Commons Logging**:如果选择不使用 Commons Logging,可以通过其他日志框架(如 SLF4J 或 Log4j)来进行日志记录。 - **使用...
- 也可能涉及日志管理,如Logback或Log4j,Spring Boot默认使用Logback。 8. 测试: - Spring Boot提供`@SpringBootTest`注解进行集成测试,可以启动整个应用上下文。 - `@WebMvcTest`或`@DataJpaTest`等注解则...
为了实现这一目标,你需要在Struts2的配置文件中添加Spring插件的相关配置,如`<constant name="struts.objectFactory" value="org.springframework.web.struts2.SpringObjectFactory"/>`,这会让Struts2使用Spring...
- 其他可能用到的jar包:如`log4j`, `slf4j`, `c3p0`(连接池), `druid`(连接池)等。 #### 二、配置文件详解 **2.1 web.xml** `web.xml`文件位于`WEB-INF`目录下,它是Web应用的部署描述符。该文件用于配置过滤器、...
例如,可以使用Spring Security进行用户认证和授权,Apache Log4j记录系统运行日志,以便追踪和排查问题。 总的来说,"JSP_SSM_medicine_management"项目是一个典型的SSM架构的医药信息管理系统,它结合了JSP的动态...
本主题聚焦于"WEB开发常用JAR包",涵盖了SPRING、MYBATIS、LOG4J、JSON、DOM4J、JDBC、STRUTS以及MYSQL这些关键组件。它们都是Java Web开发中的必备工具,下面将对这些JAR包进行详细解读。 1. **SPRING**:Spring是...
9. **日志管理**:如Logback或Log4j,用于记录系统运行时的日志信息,便于问题排查和性能监控。 10. **测试框架**:如JUnit和Mockito,用于编写单元测试,保证代码质量。 11. **持续集成/持续部署(CI/CD)**:如...
这份教程会指导如何配置log4j,设置不同的日志级别,以及如何在代码中进行日志输出。 这些资料覆盖了Java从基础到进阶的多个方面,包括Web开发、持久化框架、日志、IDE使用等,对全面掌握Java技术栈非常有帮助。...
在分析源码时,我们还需要关注日志管理(如Log4j)、错误处理、单元测试(JUnit或Mockito)以及版本控制(Git)等方面。这些工具和技术帮助开发者调试、测试和协同工作。 总的来说,这个“大作业基于Java的社团活动...
- **日志记录**:使用Logback或Log4j进行日志记录,便于调试和问题追踪。 5. **技术实现** - **前后端分离**:前端可能采用Vue.js、React或Angular等现代JavaScript框架,通过API与后端交互。 - **模板引擎**:...
12. **日志管理**:使用Logback或Log4j记录系统日志,便于问题排查。 三、技术栈解读 1. **Spring Cloud**:如果项目采用微服务架构,可能会引入Spring Cloud,实现服务发现、负载均衡、配置中心等功能。 2. **...
13. **日志管理**:如Log4j、SLF4J,用于记录系统运行日志,便于问题排查。 14. **测试**:JUnit、Mockito等单元测试框架,以及Selenium、Appium等自动化测试工具。 15. **版本控制**:Git,用于代码版本管理和...
而日志框架如Log4j或Logback则用于记录系统运行过程中的信息,便于问题排查和性能优化。 数据库设计方面,库存管理系统通常会有商品表、库存表、供应商表等。商品表存储商品的基本信息,库存表记录商品的库存数量和...
7. **错误处理和日志记录**:使用如Spring Boot的全局异常处理和日志框架如Logback或Log4j,对系统运行过程中出现的异常进行捕获和记录,便于问题排查。 8. **单元测试和集成测试**:使用JUnit和Mockito等工具进行...
12. 错误处理与日志记录:使用日志框架如Log4j或Logback记录系统运行情况,异常处理确保系统稳定运行。 以上是对基于SSM的平面设计在线学习系统源码的解读,涵盖了从后端开发到前端展示,从数据库设计到项目构建等...
同时,日志记录如Log4j或SLF4J用于追踪程序运行状态,方便问题定位和调试。 9. **部署与运行**:"项目部署说明.zip"表明项目提供了详细的部署指南,可能包括服务器环境配置、数据库连接设置、应用服务器的启动与...