最近才开始学Java Servlet,今天写了个网站登入验证的Java Servlet的小程序,当我写完后编译通过了,但是当我输入用户和密码后跳转到欢迎界面的时候,却发生了一件蹊跷的事情。在我的welcom.Java程序里面,我可以接受到登入页面的用户名和密码,但是我却接受不到从数据库里面读出来的表格,花了我大半天的时间,才找到错误的原因所在。出问题的语句如下:
pstm=con.prepareStatement("select*fromuserslimit"+(pageSize*(pageNow-1))+",3");
这条语句看上去貌似没有什么问题啊,不错啊,可是问题就是出在这个地方:(pageSize*(pageNow-1)),这里我多加了一个括号,当时写这个的时候我觉得(pageSize*(pageNow-1))和pageSize*(pageNow-1)都一样嘛,没什么问题啊。以前写Java程序的时候我也经常这样写啊,也没出现过什么错误,但是今天我却栽在这括号上了,花了我大半天的时间来找错误。刚开始的时候我认为这个问题是出现在表格的书写格式上面,可是我找了半天也没在表格的书写格式上面挑出毛病来,后来又一行一行的找,觉得没有什么错误啊,到最后我实在是崩溃了,只要来求助与网上的朋友,网上的朋友提示我是不是我与数据库的连接出了毛病,所以我又开始重点来查数据库这块程序,于是我想是不是尝试把
pstm=con.prepareStatement("select*fromuserslimit"+(pageSize*(pageNow-1))+",3");
改为:pstm=con.prepareStatement("select*fromuserslimit0,3");
哈哈,果然我在次打开程序的时候,我的程序运行正常了,于是我想毛病一定出在了(pageSize*(pageNow-1))这个上面,可是这个(pageSize*(pageNow-1))也看不出什么毛病来嘛,当我去掉外面的小括号后,呀,程序正常了,虽然我不知道为什么在(pageSize*(pageNow-1))多加了个小括号就不能访问数据库了,但是我还是很开心,因为始终我也是找到了问题的所在啊,以后再写类似的程序的时候就会注意到了。
我把我今天犯的错误写出来,让大家参考一下,可以避免这样的错误,这种错误不容易看出来,大家碰到Java Servlet这种情况的时候注意一下,就不会像我今天这样被一个小括号弄的头昏脑胀的。