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) {if if (request.getParameter(“username”).equals(“xxx”))…}。
3. 引发NumberFormatException异常:主要原因是将用户提交的内容转换为整数或者浮点数时用户输入了其它非法字符。处理的主要方式是在需要进行转换的地方使用try/catch块捕获此异常然后提示用户输入合法数据。
4. 引发StringIndexOutOfBoundsException异常:主要原因是使用String的substring()、charAt()等方法,而字符串的长度不够,就会引发此异常;在字符串为null时也会引发NullPointerException。解决的方法是判空,判断长度或者转换为字节数组。考虑到这些操作很多,可以将之封装到javabean中。
5. 引发NoClassDefFoundError错误,主要原因是类路径或者类文件放置错误,类文件的放置要符合服务器的要求。
6. 引发java.lang.Error错误,主要原因是对系统所访问外部资源,未执行关闭操作,导致外部资源大量浪费,最终可能导致系统无法正常运行;对系统所访问的外部资源关闭次数太多,外部系统无法正常处理;所系统访问的外部资源出现异常情况。解决的方法是:访问外部资源前,首先检查该资源(如数据库)是否可正常连接或操作;访问外部资源时,如果进行了连接,一定进行关闭操作,并仅进行一次关闭操作;尽量在同一操作中共享外部资源,以减少该操作对资源的消费,提高程序的执行效率。
在我回答你问题之前请允许我对Java语言作一个简单的介绍,你不了解这些很难和你说明白你的问题Java是一种面向对象独立于平台的安全的计算机语言,你也可以认为它是一个平台这种语言针对应用领域不同,共分为三个版本JavaSE Java平台标准版 其属于Java基础部分,用JavaSE可以开发C/S架构的桌面式应用程序JavaME Java平台迷你版 用于为嵌入式设备开发应用程序,如手机或掌上电脑的软件、游戏之类的JavaEE Java企业开发版本 用于企业级软件的开发,用JavaEE可以开发大型的B/S架构的应用程序,说白了就是开发在浏览器中运行的应用程序,如论坛、新闻发布系统、ERP、OA、网上银行等等这些在浏览器中运行的应用程序现在回答你的问题Java你知道了是一种语言一个平台包含JavaSE、JavaEE、JavaME三个版本JSP(Java Server Pages)直译过来就是Java服务页,是用于开发动态网页的一种技术,它是属于JavaEE(Java企业级开发平台)的一种技术说白了Java表示整个Java语言,JSP属于Java语言中用于开发动态网页的一种技术JavaScript 属于一种在浏览器中运行的脚本语言,它与Java没有联系,是netscape公司开发的,原来叫什么名字我忘了,后来java出现并非常成功,netscape征得sun的同意改名为javascript,他的主要用途是让运行在浏览器中的网页中加入一些功能和特效,如我们提交一个用户注册的表单,用JavaScript就可以做表单验证,验证你有没有填写必要的信息等等,再比如你在网页中看到的下拉菜单、树形菜单等等都是JavaScript语言实现的我现在给你一个Java和JSP之间的关系,以及JAVA的完整认识
JAVA分为J2EE,J2SE.J2ME,下面分别介绍:
一.J2EE:Java 2 Platform Enterprise Edition 企业版,用于企业应用,支持分布式部署。
J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,
它对开发基于Web的多层应用提供了功能上的支持。它包含13种核心技术规范:
(1)java Database Connectivity (JDBC)
以一种统一的方式来对各种各样的数据库进行存取
(2)Java Naming and Directory Interface (JNDI)
用于名字和目录服务,它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统等
(3)Enterprise Java Beans (EJB)
提供了一个框架来开发和实施分布式商务逻辑,显著地简化了具有可伸缩性和高度复杂的企业级应用的开发
(4)JavaServer Pages (JSPs) 这里就是你所说的JSP!!!!!!
用以创建动态网页
(5)Java servlets
提供的功能大多与JSP类似,不过实现的方式不同
(6)Remote Method Invocation (RMI)
在远程对象上调用一些方法,使用了连续序列方式在客户端和服务器端传递数据
(7)Interface Description Language (IDL)
将Java和CORBA集成在一起
(8)Java Transaction Architecture (JTA)
可以存取各种事务
(9)Java Transaction Service (JTS)
规定了事务管理器的实现方式
(10)JavaMail
用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类
(11)JavaBeans Activation Framework(JAF)
JavaMmail利用JAF来处理MIME-编码的邮件附件,MIME的字节流可以被转换成JAVA对象,或者转换自JAVA对象
(12)Java Messaging Service (JMS)
是用于和面向消息的中间件相互通信的应用程序接口(API)
(13)Extensible Markup Language (XML)
XML是一种可以用来定义其它标记语言的语言
上面的JSP是主流,基于MVC的实现,最流行使用,也最安全(比较其他语言做的网站)
其中EJB是java最难学的东西
但是现在的sun公司出来一种新的技术:java FX,
可以像FLASH一样在浏览器中执行,但是也要安装插件,具体可以参见www.sun.com
二.J2SE:Java 2 Platform Standard Edition 标准版,用于桌面应用,也是J2EE的基础。
包括JAVA基础,IO,Swing,AWT,线程,集合等知识.也是学习JAVA的必经之路(基础)!
三.J2ME:Java 2 Platform Micro Edition 移动版用于小型设备,是J2SE的一个子集。
主要的技术如下:
Connected Limited Device Configuration【CLDC】:是组成资源有限的移动信息设备的 Java 运行时环境的两种配置之一。CLDC 描述最基本的库和虚拟机特性,所有包含 K 虚拟机(K virtual machine,KVM)的 J2ME 环境实现中都必须提供这些库和特性。
Mobile Information Device Profile【MIDP】:是组成资源有限的移动信息设备的 Java 运行时环境的两种配置之一。MIDP 提供核心应用程序功能,包括用户界面、网络连接、本地数据存储和应用程序生命周期管理。
Connected Device Configuration【CDC】:是一个基于标准的框架,用来构建和交付可以跨许多连接网络的消费类设备和嵌入式设备共享的应用程序。
Mobile 3D Graphics API for J2ME【M3G】:是一种轻量的交互式 3D 图形 API,它作为可选的包与 J2ME 和 MIDP 结合使用。
所以你所说的JAVA和JSP的关系就这样豁然开朗!
JAVA是一种编程语言,可以编写应用程序,主要应用在网络编程上。
JSP是建立在JAVA基础上的一种网络编程语言,只能在网页上应用。
JavaScript是一种Web脚本语言,可以嵌入在HTML中,可以由浏览器解释执行。
可以把jsp理解为脚本
java为面向对象语言
jsp作用主要是负责页面展现,java负责逻辑,业务处理
jsp 本质 是servlet,servlet本质是 java类,就是这么个关系。