Java和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错误,主要原因是对系统所访问外部资源,未执行关闭操作,导致外部资源大量浪费,最终可能导致系统无法正常运行;对系统所访问的外部资源关闭次数太多,外部系统无法正常处理;所系统访问的外部资源出现异常情况。解决的方法是:访问外部资源前,首先检查该资源(如数据库)是否可正常连接或操作;访问外部资源时,如果进行了连接,一定进行关闭操作,并仅进行一次关闭操作;尽量在同一操作中共享外部资源,以减少该操作对资源的消费,提高程序的执行效率。
Java和jsp编程中应该注意的几个常见问题相关推荐
- Java的并发编程中的多线程问题到底是怎么回事儿?
转载自 Java的并发编程中的多线程问题到底是怎么回事儿? 在我之前的一篇<再有人问你Java内存模型是什么,就把这篇文章发给他.>文章中,介绍了Java内存模型,通过这篇文章,大家应 ...
- c mysql 工具类_Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类
该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...
- [转载] 解析Java的JNI编程中的对象引用与内存泄漏问题
参考链接: Java对象如何存储在内存中 JNI,Java Native Interface,是 native code 的编程接口.JNI 使 Java 代码程序可以与 native code 交互 ...
- jni jvm 内存泄漏_解析Java的JNI编程中的对象引用与内存泄漏问题
JNI,Java Native Interface,是 native code 的编程接口.JNI 使 Java 代码程序可以与 native code 交互--在 Java 程序中调用 native ...
- java 线程 condition_Java编程中实现Condition控制线程通信
java中控制线程通信的方法 1.传统的方式:利用synchronized关键字来保证同步,结合wait(),notify(),notifyall()控制线程通信.不灵活. 2.利用condition ...
- 解析Java的JNI编程中的对象引用与内存泄漏问题
JNI,Java Native Interface,是 native code 的编程接口.JNI 使 Java 代码程序可以与 native code 交互--在 Java 程序中调用 native ...
- jsp编程中处理红头文件保存及使用
在好多的OA系统中,系统外部收到的文件如上机发文等是以红头文件的形式发布的,在OA系统中,如果采取打字的方式找人专门录入一次红头文件内容,对于有些包含领导批示意见等文件并不适用,比较好的办法是采取扫描 ...
- java list intersect_C#编程中两个List集合使用Intersect方法求交集
在C#语言程序设计中,List集合是常用的集合数据类型,在涉及集合类型的运算中,有时候我们需要计算2个List集合中共有的数据,即对2个List集合求交集运算.此时可以使用C#语言提供的Interse ...
- JAVA 编程中的汉字处理(1)---java 编程技术中汉子问题的分析与解决
Java 编程技术中汉字问题的分析及解决 段明辉, 自由撰稿人 简介: 在基于 Java 语言的编程中,我们经常碰到汉字的处理及显示的问题.一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够 ...
- Java 并发编程中的死锁 ( Kotlin 语言讲解)
什么是死锁? 在操作系统中的并发处理场景中, 进程对资源的持有与请求过程中,会产生死锁. Say, Process A has resource R1 , Process B has resource ...
最新文章
- 美妆彩妆宣传PPT模板
- 多对多(many-to-many)
- java 门面模式_Java门面模式
- 制作个性化gurb菜单背景图片
- activiti流程定义的部署
- Unity3D基础11:Rigidbody物理类组件
- React项目本地环境正常显示,打包部署服务器图片不显示问题
- 输入一个仅含十二进制数的字符串输出二进制
- 线性方程组、齐次线性方程组和非线性方程组的最小二乘解
- 区块链安全保卫战:三分技术,七分管理
- 路由器的应用场所及作用
- 调整外接显示屏亮度的方法
- Android:Content has been consumed
- 离散数学-图的运算与基本概念、导出子图、路与连通
- 台式机1080ti最低多少起_配一台1080ti的电脑要多少钱,不是土豪,最低
- 打造综合娱乐性平台,TCL爱奇艺电视体验记
- 小程序不用服务器可以上线吗?
- 【嵌入式工程师的30岁总结】 真实
- 简单说明CGI是什么
- 计算机组成原理左规,计算机组成原理
热门文章
- java json nf_什么是JSON ,API,GET,POST请求
- 全局唯一递增的id_细聊分布式ID生成方法
- win7,win10系统激活工具下载
- 安卓rom制作教程_刹那 刷机教程20-1三星S10N10等系列韩版国行安卓9升级10详细步骤...
- 基于matlab高等数学实验 pdf,基于MATLAB的高等数学综合性实验的教学设计.pdf
- mysql 2008 教程_sql 2008 视频教程数据库从入门到精通自学视频教程_IT教程网
- c语言无纸化测评答案,无纸化计算机二级C语言程序设计题库答案程序题
- 非标机械设计老工程师的经验总结,还不赶紧收藏
- VBA新手教程:抽卡模拟实战(3)
- Openwrt 摄像头使用