JSP 运行时错误处理与应该注意的六个常见问题

1.对应 String 类型的对象使用 println()方法时,如果对象为 null,将打印 null 而不是引发 NullPointerException,由此引用的问题是容易造成错觉,对于以后对字符串的操作容易引起问题。

2.引发 NullPointerException异常,主要原因是没有对对象的存在性进行验证,在 jsp编程中经常 出现: if(request.getParameter(“username” ).equals(“xxx” ))、 out.println(session.getAttribute(“record” )) 等。解决这个问题的方法是在使用前进行判空比较: if(request.getParameter(“username”)!=null) {ifif(request.getParameter(“username”). equals(“xxx”))…}


3.引发NumberFormatException异常:主要原因是将用户提交的内容转换为整数或者浮点数时用 户输入了其它非法字符。处理的主要方式是在需要进行转换的地方使用try/catch块捕获此异常然后 提示用户输入合法数据。


4.引发 StringIndexOutOfBoundsException异常:主要原因是使用 String 的 substring()、charAt() 等方法,而字符串的长度不够,就会引发此异常;在字符串为null时也会引发NullPointerException。 解决的方法是判空,判断长度或者转换为字节数组。考虑到这些操作很多,可以将之封装到javabean 中。


5.引发 NoClassDefFoundError错误,主要原因是类路径或者类文件放置错误,类文件的放置要 符合服务器的要求。


6.引发java.lang.Error错误,主要原因是对系统所访问外部资源,未执行关闭操作,导致外部资 源大量浪费,最终可能导致系统无法正常运行;对系统所访问的外部资源关闭次数太多,外部系统 无法正常处理;所系统访问的外部资源出现异常情况。
解决的方法是:访问外部资源前,首先检查该资源(如数据库)是否可正常连接或操作;访问外 部资源时,如果进行了连接,一定进行关闭操作,并仅进行一次关闭操作;尽量在同一操作中共享 外部资源,以减少该操作对资源的消费,提高程序的执行效率。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值