JSP新手易出现的问题 !
caohuaqiang said:
JSP新手易出现的问题
HTTP Status 500 -
type Exception report
message
description
The server encountered an internal error () that prevented it from fulfilling this request.
exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.test_jsp._jspService(test_jsp.java:44)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note
The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
Apache Tomcat/5.0.28
在这里结合学习JSP的体会,把学习JSP时最容易步入的误区予以总结。
1
、java.lang.NullPointerException
异常 一般是对一个NULL值的变量进行操作引起的。例如下面的操作就会抛出异常java.lang.NullPointerException。
<!---->
为避免这种异常,最好在对变量操作之前检查看它是否是NULL值。例如:
<!---->
2
、JSP
是大小写敏感的 JSP程序是区分大小写的,在编写JSP程序时一定要注意不要将大小写混淆,例如:
String abook;与String Abook;它们代表两个不同的字符串变量。用过其他编程语言的人最容易犯这种错误。
3
、未被初始化错误 先来看如下一段代码:
public String Compare(String user1,String user2){
boolean result;
if(user1.compareTo(user2)==0)
result=true;
return result;
}
乍一看这段程序并没有任何问题,但在编译的时候会出现如下错误提示:
variable result might not have been initialized
return result
^
这是因为,当if条件为false的时候,result可能会没有被赋予初值,而return的时候则会出错。java编译器很聪明的检查出了这一错误并
在编译的时候给予了提示。这需要程序员在声明result的时候或者在返回result之前给它赋值。所以在定义一个变量时最好赋予一个初值。
4
、变量未定义错误 可能大家都知道变量在使用之前要定义,但是不经意间却常常犯这种错误,例如下面一段代码: