首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>java>Java基础>正文

网友共享:JAVA语言中的几个常见错误简析

http://www.oklinux.cn  2008-10-21  中国IT实验室 中国IT实验室  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

1,空指针错误 java.lang.NullPointerException

使用基本的JAVA数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便不能通过编译,因此使用基本的JAVA数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常。由此可见,空指针异常主要跟与对象的操作相关。

下面先列出了可能发生空指针异常的几种情况及相应解决方案:

不管对象是否为空就直接开始使用。

(JSP)代码段1:

  out.println(request.getParameter("username"));

描述:

代码段1的功能十分简单,就是输出用户输入的表域"username"的值。

说明:

看上去,上面的语句找不出什么语法错误,而且在大多数情况下也遇不到什么问题。但是,如果某个用户在输入数据时并没有提供表单域"username"的值,或通过某种途径绕过表单直接输入时,此时request.getParameter("username")的值为空(不是空字符串,是空对象null。),out对象的println方法是无法直接对空对象操作,因此代码段1所在的JSP页面将会抛出"java.lang.NullPointerException"异常。

即使对象可能为空时,也调用java.lang.Object或Object对象本身的一些方法如toString(), equals(Object obj)等操作。

(JSP)代码段2:

String userName = request.getParameter("username"); 
  If (userName.equals("root"))

  {....}

描述:

代码段2的功能是检测用户提供的用户名,如果是用户名称为"root"的用户时,就执行一些特别的操作。

说明:

在代码段2中,如果有用户没有提供表单域"username"的值时,字符串对象userName为null值,不能够将一个null的对象与另一个对象直接比较,同样,代码段2所在的JSP页面就会抛出(java.lang.NullPointerException)空指针错误。

(JSP)代码段3:

String userName = session.getAttribute("session.username").toString();

描述:

代码段3的功能是将session中session.username的值取出,并将该值赋给字符串对象 userName。

共6页: 上一页 1 [2] [3] [4] [5] [6] 下一页

上一篇:Linux系统中java语言package初级应用   下一篇:详解Java语言中内存泄漏及如何检测问题

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·详解Java语言中内存泄漏及如何检测问题
·Linux系统中java语言package初级应用
·在Java中实现DOM文档和XML文件互相转换
·关于提高Java代码可以重用性的三个措施
·网友分享:认识java JVM与c/c 的执行效率
·资料分享:Java开发中该注意的一些东西
·教你轻松提高Java代码的性能
·Java开发最容易犯的几种错误
·Java开发中static/this/super/final用法
·网友分享:关于提高自己Java水平十大技术
·Java程序员必须要了解的七个开源协议介绍
·网友经验分享:学好java开发的关键七步
·对于Java开发人员必须遵从的十大基本法则
·Java基础:Java/J2EE中文问题终极解决之道
·初学者学习java第一步——JDK环境变量配置
·代码简单描述 初学Java语言之多态初体验
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·详解Java语言中内存泄漏及如何检测问题
·Linux系统中java语言package初级应用
·在Java中实现DOM文档和XML文件互相转换
·关于提高Java代码可以重用性的三个措施
·网友分享:认识java JVM与c/c 的执行
·资料分享:Java开发中该注意的一些东西
·教你轻松提高Java代码的性能
·Java开发最容易犯的几种错误
·Java开发中static/this/super/final用
·网友分享:关于提高自己Java水平十大技
·Java程序员必须要了解的七个开源协议介
·网友经验分享:学好java开发的关键七步
  阅读排行
·使用AJAX技术实现网页无闪自动局部刷新
·高级:lucene全文检索应用示例及代码简
·关于java中相对路径,绝对路径问题总结
·一个非常有趣的使用spring框架AOP例子
·JAVA基础:一个struts hibernate入门实
·一个基于Java Socket实现文件传输示例
·Java语言深入--java调用C/C 的过程
·使用WEBWORK实现文件上传方法实例详解
·Hibernate配置文件中的映射元素详解
·初学者Structs中基本配置入门
·快速教您Apache Tomcat SSL的配置
·在struts里实现dtree通用树型结构讲解
·详细讲解Struts构架中action的跳转大全
·用JSP JavaScript打造二级级联下拉菜单
·基于AJAX的动态树型结构的设计与实现
网摘收藏: