- Java.alng.NullPointerException :空指针异常
JDBC:驱动连接数据库时出错,导致不能获取数据
JDBC:对象没有创建,导致对象为null
Action:接收数据作用域与传输数据作用域不匹配
解决:利用system.out.println(数据)方式查错
详解:在创建位置,及传递路径,及接收位置,分别打印输出数据。根据控制台显示结果,分析大概出错范围,并一步一步缩小范围。
1:如果创建时,数据就为null通常为前端问题(地址书写错误,数据或名字不匹配,数据未接收等)
2:创建时,数据不为null,路径及接收位置不显示(路径方向错误,或书写错误,代码逻辑出错)
3:创建时,数据不为null,路径不为null,接收时,为null(数据类型不匹配)
2下标越界异常:Java.lang.ArrayIndexOutOfBoundsException
JDBC:Oracle设置了长度,而JDBC中CRUD时,超过长度
3.乱码异常:
1:输出内容在解码期上方,则不能转码
2:对应有编码与解码必须一致
4.JUnit测试报错
Java.lang.Exception:Method test should
have no parameters
当运行时报此错,则是测试方法带了参数,用Test跑单元测试是要求方法不能有参数和返回类型的
- java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: Servlet
mapping specifies an unknown servlet name UsrAction
启动tomcat控制台报错Web.xml中servlet-name 名字不一致
6.java.sql.SQLException:
无效的列索引
1、sql串的?号数目和提供的变量数目不一致
2、sql串里的?号书写不正确。英文?和中文?有时难以区分。
3、sql串的?号用’'括了起来。
4、jdbc
中模糊查询需要写成 select*from
where info like ?;
不能直接写select*from user
where info like %?%;
传参时
则为:pstm.setString( 1,“%”+value+“%”);
7.java.sql.SQLException:
无法转换为内部表示
原因:
数据库表结果中的数据类型及实体类中定义的数据类型不一致,导致数据库在进行映射时发生异常
例:数据库里为Number,而Java定义的对应属性类型为String。
解决:
1、通过异常信息查找对应的错误字段(比如此例中的getLong);
2、逐一对照实体类和数据库中的数据类型是否一致;
3、确认转换关系是否对应,调整数据库字段类型或实体类字段类型;
8.java.sql.SQLException:
索引中丢失 IN 或 OUT 参数:: 2
原因:
sql语句绑定参数的个数和实际给的参数个数不一致,也可能是参数位置出了错。或者数据库中的数据类型与SQL语句中的类型不匹配造成的,后边的数字,代表第几个参数错误。
解决:
找到对应参数配置或者SQL中这个参数的类型是否与数据库中匹配
9.ClassNotFoundException:指定的类不存在
原因:就是找不到指定的class。
导包类型错误
配置文件路径错误
可能是环境变量配置有问题
jar包有错误,查看jar是否有漏或者重新导入jar包
Servlet 500 1:Servlet没有继承HttpServlet或实现Servlet接口(检查是否实现)
2:web.xml文件中 Servlet-calss书写错误(检查类名)
3:service 代码执行异常(检查代码运行流程)
4:找不到类,类加载出错 (jar包与myeclips版本不兼容导致)
Servlet
405 Webserver找不到service()方法处理请求
1:Service方法名称写错(检查web与Servlet名字是否一致)
2:service 方法参数类型与标注不一致(检查web与Servlet地址是否一致)
3:service 方法名返回值类型与标准不一致(是否覆盖)
Servlet
404
是server运行完client的请求后,返回给client的一个运行结果的状态编码
Webserver根据请求地址找不到相应资源
1:地址错误(拼写不对,大小写不一致)
2:web.xml servlet中 servlet-name 与servlet-mapping中servlet-name不一致
3:project没有部署,重启,或重新部署
4:Web应用程序部署不规范
500.equal symbol expected.org.apache.jasper.JasperException: /JSP-day2/a.jsp(1,57) 原因:是由于单引号和双引号的混乱使用导致的。解决办法:1.将双引号里面的双引号改成单引号; 单引号里面的双引号该成单引号。 2. 是引号不对称导致,如只有左引号,缺少右引号等。网页报错:
1.网页报错,MyEclipse,也报错。(通常为代码逻辑出错,或空指针)
解:根据控制台显示错误地址,以第一个报错位置分析,先观察异常名,确定大致异常类型,再看异常中的错误报告。
1)代码数量范围外的,通常为JVM运行时异常(注意是否为类名写错,或jar,或版本不匹配等,此异常出现几率小,且不好改错,把错误信息百度一下,效果最高)
2)代码数量范围内的,根据提示位置,点击进入异常代码处,进行改错
。
2.网页报错,MyEclipse,不报错(跳转路径书写错误,或跳转路径逻辑错误)
解:
1:从代码执行流程,一步一步检查运行轨道及书写名字是否正确。
路径书写规范
1:/ 项目名 / 类名 (web配置名字。加了路径的别忘记书写)
2:/ 全限定名 或 或类名 (经常忘记写 / )
2:审核跳转顺序流程进行逻辑分析(通常为路径书写错误,不规范,或制定网页没有显示面)
3.网页不报错,但结果不对,MyEclipse,不报错
解:重屡执行流程。
1:检查从客户端到Action到service到DAO层的代码逻辑是否出错。
细化查错
1:从DAO层,service,Action分别打印System.out.println(数据)
2:根据控制台显示数据,进行范围缩小,确定异常处。