JavaWeb开发常见异常总结

1. JDBC常见异常

1.1 SQLException

java.sql.SQLException是处理JDBC时常见的exception对象,用来表示JDBC操作过程中发生的具体错误 。

一般的SQLException都是因为操作数据库时出错,比如Sql语句写错,或者数据库中的表或数据出错 。

常见异常:
1)登录被拒绝
可能原因:程序里取键值对信息时的大小写和属性文件中不匹配

2)列名无效
可能原因:查找的表和查找的列不匹配

3)无效字符
可能原因:sql语句语法有错,比如语句结尾时不能有分号

4)无法转换为内部表示
可能原因:结果集取数据时注意数据类型

5)表或者视图不存在
可能原因:检查SQL中的表名是否正确

6)不能将空值插入
可能原因:检查执行insert操作时,是否表有Not Null约束,而没有给出数据

7)缺少表达式
可能原因:检查sql语句的语法

8)SQL命令未正确结束
可能原因:检查sql语句的语法

9)无效数值
可能原因: 企图将字符串类型的值填入数字型而造成,检查sql语句


1.2 ClassNotFoundException

可能原因:
1)db.properties文件路径不正确
2)驱动类名写错
3)没有导入驱动jar包


1.3 网络错误

可能原因:
1)保证服务启动:报错可能是监听异常(listener refused the connection…)
2)url写错:报错时会有延迟


2. Servlet常见异常

容器如何找到service方法

S1

2.1 404错误
404数字是什么? 
它是服务器执行完客户端的请求以后,返回给客户端的一个执行结果的状态编码。

产生的原因:Web服务器(容器)根据请求地址找不到对应资源。
Eg:
1)服务器没有启动成功

2)地址错误(拼写不正确,字母大小写错误)

3)web.xml文件中的两个< servlet-name >不一致

4)工程没有部署成功

5)Web应用程序部署结构没有遵守Servlet规范

6)超链接中的href属性值有误

7)表单中的action属性值有误

404错误的解决方法

1)重启服务器

2)按照http://ip:port/appName/ url-pattern规则检查请求地址,区分大小写

3)检查 web.xml文件中的< servlet >和< servlet-mapping >节点中的两个< servlet-name >是否一致

4)只有部署以后的工程才能访问

5)检查工程结构是否符合规范

6)检查超链接指定资源格式

7)检查表单中action数据提交路径


2.2 405错误

产生的原因:Web服务器(容器)找不到service()方法处理请求。
Eg:
1)service方法名称写错

2)service方法参数与标准不一致

3)service方法异常,返回值类型与标准不一致

405错误的解决方法

1)检查service( )是否存在

2)检查service( )的签名(方法名,参数,返回值,异常类型是否与覆盖的父类中的方法一致)

3)使用@Override注解帮进行语法校验


2.3 500错误

产生的原因:程序在运行过程出错(源代码错误)
Eg:
1)Servlet类没有继承HttpServlet或实现Servlet接口

2)web.xml文件中的< servlet-class >写错

3)service方法中的代码运行时抛出异常

500错误的解决方法

1)检查 servlet-class 中的包名、类名是否正确

2)检查Servlet类是否继承HttpServlet或实现Servlet

3)检查Servlet的service方法中的代码是否运行出错


3. JSP开发常见问题

3.1 异常处理

1)编程式的异常处理

使用转发跳转到指定页面进行提示说明

    try{
        //... ...
    }catch(Exception e){
        request.getRequestDispatcher(url).forward(request,response);

2)容器中的声明式处理
step1:将异常抛给容器,但底层的错误提示不要返回给用户

注意:异常只允许抛service指定的异常,不能超出指定范围
使用如下写法:
throw new ServletException(e);

step2:在web.xml文件中配置错误处理页面节点

<!--配置错误处理页面-->
<error-page>
    <exception-type>
        java.servlet.ServletException
    </exception-type>
    <location>/error.jsp</location>
</error-page>
3.2 路径问题

1)路径使用

  • 链接地址 <a href= "url" ></a>

  • 表单提交<form action = "url" >

  • 重定向 response.sendRedirect(url)

  • 转发 request.getRequestDispatcher(url)

2)相对路径

  • 从当前文件出发到达目标文件所经过的路径叫做相对路径

  • 书写格式不以“ / ”开头

  • 退至上一级目录以“ . . / ”开头

JSP7

3)绝对路径

  • 以 ” / ” 开头的路径都是绝对路径,不以当前文件的位置作为起- 始,而是以一个固定位置作为起始到达目标文件所经过的路径

  • 这个固定的位置可能是应用名,也可能是应用名之后

JSP8

4)路径的处理技巧
在使用绝对路径时:

  • 链接地址、表单提交、重定向是从应用名开始写

  • 转发 是从应用名之后开始写

  • 获得应用的实际部署名称可使用如下方法:

String request.getContextPath();
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值