程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP新手易出現的問題 一步一步教你解決

JSP新手易出現的問題 一步一步教你解決

編輯:關於JSP

在新窗口中預覽圖片 

Apache Tomcat/5.0.28

烈火建站學院文檔 在這裡結合學習JSP的體會,把學習JSP時最容易步入的誤區予以總結。

1、java.lang.NullPointerException異常

   一般是對一個NULL值的變量進行操作引起的。例如下面的操作就會拋出異常java.lang.NullPointerException。

<%

   String a=null;

   a.substring(0,1);

%>     

   為避免這種異常,最好在對變量操作之前檢查看它是否是NULL值。例如:

<%

   String name=Session.getAttribute("name");

   if(name==null){

      //執行某種操作

             }

   else{

      //執行另種操作

}

%>

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、變量未定義錯誤

   可能大家都知道變量在使用之前要定義,但是不經意間卻常常犯這種錯誤,例如下面一段代碼:

       <html>

       <body>

       <table>

       <%

        for(int i=0;i<5;i++)

       {

      String s=""+i;

       }

       %>

         <tr>

              <td>i現在的值是:</td>

              <td><%=s%></td>

         </tr>

       </table>

       </body>

       </html>

   編譯時會報錯:

      Undefined variable:s

          out.print(s);

                    ^

       1 error

    出現這種錯誤是由於邏輯錯誤,for循環的結束標記符號"}"放錯了位置,正確的寫法應該如下段代碼所示:

<html>

       <body>

       <table>

       <%

        for(int i=0;i<5;i++)

       {

      String s=""+i;

       %>

         <tr>

              <td>i現在的值是:</td>

              <td><%=s%></td>

         </tr>

       <%}%>

       </table>

       </body>

       </html>

5、SQL語句換行書寫時未加適當的空格而導致的錯誤

   我們先來看下面這段代碼:

     String name=tom;

     String sql="select * from userTable"+

              "where user_name='"+name+"'"+

              "and user_age=22";

   上面的代碼在執行的時候將轉換成這樣的SQL語句:

     select * from userTablewhere user_name='name'and user_age=22

   從輸出的SQL語句可以看出userTable 和 where 之間以及'name'和and之間都缺空格,這樣是不能從數據庫中取出數據的。正確的寫法應該

 

如下所示:

     String name=tom;

     String sql="select * from userTable"+

              " where user_name='"+name+"'"+

              " and user_age=22";

以上就是我在學習JSP過程中出現的一部分錯誤和異常在這裡總結出來希望能給JSP初學者一些幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved