學習Java Servlet時遇到的小問題
最近才開始學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這種情況的時候注意一下,就不會像我今天這樣被一個小括號弄的頭昏腦脹的。
【編輯推薦】