软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 网络编程 > JSP教程 > JSP新手易出现的问题 一步一步教你解决

JSP新手易出现的问题 一步一步教你解决

在新窗口中预览图片 

Apache Tomcat/5.0.28

烈火建站学院文档 在这里结合学习JSP的体会,把学习JSP时最容易步入的误区予以总结。

1java.lang.NullPointerException异常

   一般是对一个NULL值的变量进行操作引起的。例如下面的操作就会抛出异常java.lang.NullPointerException

<%

   String a=null;

   a.substring(0,1);

%>     

   为避免这种异常,最好在对变量操作之前检查看它是否是NULL值。例如:

<%

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

   if(name==null){

      //执行某种操作

             }

   else{

      //执行另种操作

}

%>

2JSP是大小写敏感的

   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>

5SQL语句换行书写时未加适当的空格而导致的错误

   我们先来看下面这段代码:

     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初学者一些帮助。

    相关阅读
    栏目导航
    推荐软件