解决方案:在使用idea启动tomcat的时候控制台报这个错误,原因是本机的8080端口被占用,在idea里把tomcat的启动端口从新换一个即可
根本原因:缺少一个standard-1.1.2.jar
解决办法:在pom.xml中添加standard依赖
<dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.0.6</version> </dependency>问题(报错信息):javax.el.PropertyNotFoundException: The class ‘java.lang.String’ does not have the property ‘id’.
原因:el表达式书写不正确
错误的jsp页面
<c:forEach items="list" var="carlist"> <tr> <td>${carlist.id}</td> <td>${carlist.brand}</td> <td>${carlist.type}</td> <td>¥${carlist.price}</td> <td> <a href="delete?id=${carlist.id}" class="layui-btn layui-btn-normal">删除</a> <a href="alter?id=${carlist.id}" class="layui-btn layui-btn-normal">修改</a> </td> </tr> </c:forEach>正确的jsp页面
<c:forEach items="${list}" var="carlist"> <tr> <td>${carlist.id}</td> <td>${carlist.brand}</td> <td>${carlist.type}</td> <td>¥${carlist.price}</td> <td> <a href="delete?id=${carlist.id}" class="layui-btn layui-btn-normal">删除</a> <a href="alter?id=${carlist.id}" class="layui-btn layui-btn-normal">修改</a> </td> </tr> </c:forEach>正确的el表达式应该是这样:${变量}
在spring-boot项目的ApplicationTests类中测试报这个错误 是因为@SpringBootTest注解没有指定classess属性的值 classess的值就是spring-boot项目的启动类
@SpringBootTest(classes = SsmcarApplication.class) class SsmcarApplicationTests {如果不指定还会报空指针异常 junit依赖建议使用与spring-boot结合的依赖
<dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </dependency>springboot项目在配置数据源的时候应该在密码栏加上双引号,特别是以0开头的密码
datasource: driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/ssm?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true username: root password: "password"