java.lang.NullPointerException處理之完整方案與原因分析


轉載:http://www.pc6.com/java/j_55284.html

java.lang.NullPointerException處理之完整方案與原因分析!
java.lang.NullPointerException錯誤的神秘面紗!史上最全,最深入的分析! 讓你看完這篇不用再看下一篇
廢話不多說。下面開始全面分析。(環境:tomcat+sql server+jsp)
本質上。這個錯誤是數據庫連接的錯誤(當然前提是代碼本身沒錯,因為我們說的是源碼!)。
經過我舍友的仔細研究(他是個低調的人,所以就由我幫他寫了。必須達到以下條件(錯誤原因就是以下六條沒配置完):
1.JAVA環境配置正確。
2.源碼里面的包沒有與tomcat的包沖突。
3.把數據庫文件給導入到了SQL SERVER(或者其它數據庫系統)里面。並且數據庫系統正在運行。
4.添加了數據源。
5.數據庫源文件的系統類型匹配(不匹配重新建立數據庫,源碼里面一般含有數據庫的表結構及內容。),且數據庫的連接密碼正確。
6.JDBC驅動文件(或者其它)存在且放在tomcat的lib目錄下面。(msbase.jar,mssqlserver.jarmsutil.jar)



下面開始說如何配置以上幾項。

1.JAVA環境變量配置-》http://www.pc6.com/java/j_55283.html。按照里面說的配置。最后測試javac能否顯示信息。顯示成功完成此步。

2.網站源碼-》WEB-INF-》lib里面的.jar包沒有和tomcat的lib目錄下的包重復。有的話把源碼里面的包刪除。

3.SQL SERVER企業管理器。在數據庫上右鍵-》所有任務-》附加數據庫。把源碼里面的數據庫.mdf文件選上。所有都選SA
(一般是這樣選擇,選其它的話。連接數據庫的時候得把用戶名密碼寫對。)。確定。

4.win+R->odbcad32-》回車-》添加-》選擇SQL SERVER ->數據源名稱應用數據庫文件的名稱。服務器一般是 (local)->使用用戶登錄-》
填入sa +密碼-》更改默認數據庫為添加的-》下一步-》完成-》確定。

5.數據庫系統類型是否匹配可在網站源碼-》src-》...-》toolsbean-》DB.java(這里指數據庫連接的源碼文件)找到這樣一句
private final String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_Blog";這里就可以看到數據庫是SQL SERVER
以及連接用戶名密碼。private final String userName = "sa";private final String password = "sa";將其修改為你的。
但是我們這里只是修改的源碼。這還不夠。把改好的DB.java放到C盤根目錄。啟動cmd cd \ 命令切換到C根目錄。
用javac DB.java生成一個DB.class。把這個文件復制到WEB-INF->classes->....->toolsbean下面替換原來的DB.class

6.把源碼LIB下面的msbase.jar,mssqlserver.jarmsutil.jar(JDBC驅動)剪切到tomcat的LIB目錄下面。復制會存在包沖突。
OK。完了。怎么還不能還是沒用?嘿嘿。最后還得把SQL SERVER 2000升級到SP4版本哦。這個就不知道是什么原因了。反正這步是相當之關鍵。前面全部配置正確。如果沒升級也還是連接不上數據庫。
這下可以測試了:http://localhost:8080/源碼目錄 是不是終於把主頁顯示出來了?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM