错误整合
1.执行没有错误控制台显示实体类地址
com.wang.pojo.Customer( @36546546)
----问题:实体类中未添加toString方法,会将对应的实体类属性打印出来
----解决:实体类中添加toString方法即可
2.类型[java.lang.String]上找不到属性[id]
----问题:实体类绑定错误 ,forEach中item绑定出错
----解决:item中绑定后端controller传过来的值即可
----扩展:forEach标签
属性 | 描述 | 是否必要 | 默认值 |
---|---|---|---|
items | 要被循环的信息 | 否 | 无 |
begin | 开始的元素(0=第一个元素,1=第二个元素) | 否 | 0 |
end | 最后一个元素(0=第一个元素,1=第二个元素) | 否 | Last element |
step | 每一次迭代的步长 | 否 | 1 |
var | 代表当前条目的变量名称 | 否 | 无 |
varStatus | 代表循环状态的变量名称 | 否 | 无 |
3.maven项目检测不到css文件和js文件
可以在web.xml中配置一下就可以啦
<servlet-name>default </servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.map</url-pattern>
<url-pattern>*.jpg</url-pattern>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
4.Could not set parameters for mapping
Could not set parameters for mapping: ParameterMapping{property=‘username’, mode=IN, javaType=class
这是#与$的区别问题
$是通过Statement处理的数据,#号是通过PreparedStatement处理的数据
$中间的变量就是直接替换成值的 #会根据变量的类型来进行替换
$用的是statement通道,在xml文件中写的SQL语句是什么,到数据库里执行的就是什么;
例、select * from user where title like '% c o n t e n t {content}%' :我这里是要模糊查询 用了%作为占位符,所以不能省略两边的引号'',那么就要把mybatis的占位符由#改为 content
5、com.sun.proxy.$Proxy22 cannot be cast to com.wang.serviceImpl.StudentServiceImpl
需要用接口去获取容器对象。
StudentService serviceImpl = (StudentService) context.getBean("studentServiceImpl");
基于接口的动态代理jdk------ 需要用接口来进行代理
没有接口的就直接通过实现类进行代理cglib
6.Cannot add or update a child row: a foreign key constraint fails
Mysql错误:设置的外键与另一个表中的唯一索引列(一般是主键)中的值不匹配
#解决办法:删除要成为外键的列,再次创建并默认为NULL
一定要删掉重新构建列
7、Cause: org.apache.ibatis.executor.ExecutorException: Statement returned more than one row, where no more than one was expected.
语句返回了多行,其中预期不超过一行。
人话:某条sql语句本该查到一条数据,结果返回了多条数据
mybatis 中sql语句出现错误 返回数据多重
8、WEB-INF/jsp/customer.jsp (行.: [318], 列: [6]) 无法为TAG [itheima:page]加载标记处理程序类[com.itheima.common.utils.NavigationTag]
导入项目后并不报错
tld文件的class写错了----[注入到本身项目中的类]
9、index.jsp执行出错
404: 项目结构错误或者不完整 (例:index.jsp放到WEB-INF中无法正常检测到 ,应放到WebContext中)
10、Tomcat启动失败
1、java配置路径有问题
2、项目未添加tomcat驱动
(一般提示The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path属于这一类)
解决方法:保证已经装了tomcat的情况下,eclipse中选择对应项目右键build path ->Configure build path -> Java build path->选择Libraries ->点击右方Add Library… ->Server Runtime ->选择自己的tomcat服务器->Finish
3、项目中的web.xml中配置的servlet的名称写错,tomcat无法识别
(一般控制台提示java.util.concurrent.ExecutionException属于这种问题)
解决方法:检查自己配置的servlet名称和路径是否正确。
4、端口被占用,一般由于上一次非正常关闭tomcat或eclipse导致,( Port 8080 … is already in use)
解决方法:
①修改端口号(当然不建议这么做) Tomcat根目录/conf/Server.xml中修改,这里就不提了吧…
②关闭被占用的端口进程:到dos窗口(计算机开始里的查找中输入cmd)中
输入 netstat -ano|findstr 8080 (8080是被占用的端口号,哪个被占用输入哪个)
回车后可以看到有正在使用的进程再输入 taskkill /pid 8080 /f (这里的8080是正在使用的进程信息中最后一个数字编号)
回车后会显示已结束进程,然后重新启动tomcat即可。
③进入tomcat根目录的bin文件夹,双击shutdown.bat,可以关闭所有占用端口。
11、httpServlet引用错误
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yCGCUKBP-1678166275705)(C:\Users\匿名情书\Downloads\uTools_1640738864229.png)]
import 错误 ,httpServletRequest ,response无法使用
------解决:jar包
Properties–>选择
Java Build Path–>选择
Add External JARs–>选择
把servlet-api.jar的路径输入即可 该包在tomcat里有 搜索即可找到。导入成功后刷新即可成功。
12、java.io.FileNotFoundException: src\main\resourcesgeneratorConfig.xml (系统找不到指定的文件。)
class文件中引用xml文件时路径要具体到项目
例:src/main/resources/generatorConfig.xml
ileNotFoundException: src\main\resourcesgeneratorConfig.xml (系统找不到指定的文件。)
class文件中引用xml文件时路径要具体到项目
例:src/main/resources/generatorConfig.xml