java程序中的异常404 505错误

  1. 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跑单元测试是要求方法不能有参数和返回类型的

  1. 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:根据控制台显示数据,进行范围缩小,确定异常处。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值