五、JSP調試
JSP調試比較麻煩,特別是當bean是在一個session中存在時,更加困難。得從好幾個頁面開始往里面走才行。通常是用out.println()或System.out.print()來打一大堆信息來查問題。如果是用jbuilder做開發,它能直接調試JSP.不過更重要是知道錯誤產生原因及解決方法。下面對一些JSP編程常見錯誤進行分析。
(1).java.lang.NullPointerException異常
一般是對一個為NULL值變量進行操作引起.如下面操作就會拋出
java.lang.NullPointerException
String a = null;
a.substring(0,1);
為避免這種異常最好在對變量操作之前檢查看它是否為NULL值.如:
<% String ss=Session.getAttribute("NAME")
if isnull(ss)
{
}
else
{
}
%>
(2).JSP是用JAVA寫,所以它是大小寫敏感,用過其他編程語言人最容易犯這個錯誤。另外在瀏覽器地址欄中輸入訪問JSP地址也是區分大小寫.如http://localhost:7001/demo/t.jsp與http://localhost:7001/Demo/t.jsp是不一樣
(3).在jsp中判斷字符串要使用compareTo方法,不要用==,因為在java中String變量不是一個簡單變量而是一個類實例,不同方法會得到 不同結果,如下所示:
String str1="ABCD";
String str2="ABCD"; (或 String str2="AB"+"CD"; )
if (str1==str2)
out.print("yes");
else
out.print("no");
結果是"yes"。
String str1,str2,str3;
str1="ABCD";
str2="AB";
str3=str2+"CD";
if (str1==str3)
out.print("yes");
else
out.print("no");
結果是"no"。
String str1=new String("ABCD");
String str2=new String("ABCD");
if (str1==str2)
out.print("yes");
else
out.print("no");
結果是"no"。
新聞熱點
疑難解答