1. 程式人生 > >自己開發過程中遇到的問題及解決辦法

自己開發過程中遇到的問題及解決辦法

在寫JSP時,通過File-Import- Existing Projects into Workspace 匯入了一個外部工程到當前的工作空間,匯入後工程前面卻出 

現了紅叉,用Project-clean 等等方法都無法消除,看Problem提示這樣的錯誤:

意思是說有沒有繫結的classpath引數,最後通過一系列的努力終於明白了錯誤之處。

原因: 右鍵工程檢視properties:

發現這裡有三個jar檔案,正式problem中提到得那幾個。既然是存在於Libraries中很明顯

這幾個jar檔案時通過外部匯入了,但是我們知道MyEclipse中不必匯入Tomcat中的一些包,

它通過這樣的設定自動找到要求的包:

由此我們就可以知道,匯入的這個外部專案沒有通過MyEclipse來自動連線Tomcat而是手動連線,也就是手動匯入需要的包,在設定classpath來連線。

解決方法: 既然我們是把它匯入到了MyEclipse中,而已經在MyEclipse中配置了Tomcat,所以就沒必要用到上面的那三個包了,只要刪掉他們就行了,刪掉以後紅叉沒有了。

5.  tomcat5下jsp出現getOutputStream() has already been called for this response異常

原因:  由於jsp container在處理完成請求後會呼叫releasePageContet方法釋放所用的PageContext object,並且同時呼叫getWriter方法,由於getWriter方法與在jsp頁面中使用流相關的getOutputStream方法衝突,所以會造成這種異常。

解決辦法: 只需要在jsp頁面的最後加上兩條語句:  

out.clear();

out=pageContext.pushBody();

6.今天在MyEclipse下匯入一個外部工程,然後用Tomcat部署時報錯了,具體錯誤如下:

原因: 這裡是由於jdk的版本問題,使得出這樣的錯誤,應該確保下面的三個的jdk版本是一樣的:

tomcat版本 jdk版本 框架的jar版本

解決辦法: 設定JDK Compliance

          設定Tomcat path

          確保框架的jar版本與上面的一致

7.今天在用hibernate自動生成表的時候出現了這樣的錯誤

 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax 

再控制檯裡建表語句已經打印出來了,但是資料庫中的表確沒有生成。

我的實體類的屬性是這樣的:

private int itemId ;

private  String  type ;

private  String  itemName ;

private int price ;

private  String  descri be(無效欄位) ;

private  String  detail ;

private  Boolean  hasPicture ;

奇怪的是我換了一個實體類,再重新測試,表可以正常生成,這時候我就有點懷疑是不是實體類的問題了,經過一系列的提問,終於弄明白了原來是我表中的欄位describe與mysql中顯示錶結構的命令describe衝突,所以就有了上面的錯誤。

這時候我們可以這樣做,把建表語句放到MySql控制檯中去試試,看是什麼樣的錯誤。