經(jīng)常有一年級的同學(xué)來反映,下載的EasyJF演示系統(tǒng)安裝后報404錯誤,不知道如何解決,我跑到幾個同學(xué)的機器上看了一下,下面把解決問題過程中的情況總結(jié)一下,做成終極解決方案,請仍然還遇到這樣個問題的同學(xué)借鑒、相互交流一下。
一、問題描述
安裝好EasyJF論壇系統(tǒng)后,按安裝說明配置后,輸http://localhost:8080/bbs/
出現(xiàn)下面的錯誤!
HTTP Status 404 - /bbsFirstPage.ejf
--------------------------------------------------------------------------------
type Status report
message /bbsFirstPage.ejf
description The requested resource (/bbsFirstPage.ejf) is not available.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.27
如圖:
二、錯誤原因分析
?在Web應(yīng)用中,404錯誤表示文件未找到.由于EasyJWeb使用的是java servlet,所以在文件中是沒有bbsFirstPage.ejf類似的文件的,而是通過web.xml文件配置文件映射的。出現(xiàn)在上面的原因不是EasyJF開源項目的代碼不全,而是因為你的web.xml文件沒配置好,或者沒配置對!
正確的EasyJWeb應(yīng)用中,web.xml文件內(nèi)容如下:
三、為什么會出現(xiàn)這樣的問題?
只要按照發(fā)給一年級同學(xué)的安裝說明來操作,比如簡易Java訂銷管理系統(tǒng)的安裝說明如下所示:
1、JDK1.4.2以上版本(注意配置java_home路徑)
2、安裝tomcat
3、把本訂銷系統(tǒng)中ERP\WEB目錄中的全部內(nèi)容拷貝到tomcat的webapps\ROOT目錄下。
4、數(shù)據(jù)庫安裝
執(zhí)行數(shù)據(jù)庫結(jié)構(gòu)生成腳本。
A、安裝MySql,在MySql Server Config中把數(shù)據(jù)庫默認(rèn)字符集設(shè)置成gb2312,使用My Sql Front:執(zhí)行bbs-mysql.sql。
B、Microsoft Sql Server: 建立數(shù)據(jù)庫EasyErp-> 執(zhí)行mssql.sql;也可以直接通過還原mssql_dababase_bak.db數(shù)據(jù)庫備份文件建設(shè)數(shù)據(jù)庫。
?
5、根據(jù)您的數(shù)據(jù)庫配置情況,修改WEB-INF/class/easyjf-dbo.xml文件配置。
6、啟動tomcat,在瀏覽器中輸http://localhost:8080/即可運行程序。
若是每一步都按這個說明來操作,也沒有簡化,出沒有省略,肯定不會存在這樣的問題。
?
? 特別是在執(zhí)行第三步:把本訂銷系統(tǒng)中ERP\WEB目錄中的全部內(nèi)容拷貝到tomcat的webapps\ROOT目錄下。系統(tǒng)會問你要不要替換當(dāng)前已經(jīng)存在的文件,請新同學(xué)們大膽的點‘Yes'吧,放心吧,錯了可以重新裝。
出現(xiàn)這樣的錯誤很多原因是沒有替換掉web.xml文件。或者是電腦遇到了其它毛病!比如以前裝了Java Web環(huán)境、系統(tǒng)classpath路徑被搞到亂七八遭。唉、有時候感覺Java還真是折磨新手啊。想想當(dāng)年,我照著書上搞了一個helloworld都搞了幾星期才順利通過。(哈哈,helloworld這么老土的東西也翻出來了,新手別急,現(xiàn)在都是21世紀(jì)了,只要方法適當(dāng),保證你不會再犯我同樣的錯誤,以后我們會寫一些新手快速入門的簡易教程....),扯遠了哈.......?
四、另外一種404錯誤
如下圖所示:
別告訴我你看到上面圖跟第一個錯誤的圖是一樣的哈,那樣我就要批評你態(tài)度不端正,不認(rèn)真了。哈哈
仔細看錯誤提示:
HTTP Status 404 - Servlet easyjf is not available
--------------------------------------------------------------------------------
type Status report
message Servlet easyjf is not available
description The requested resource (Servlet easyjf is not available) is not available.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.27
注意沒有:"Servlet easyjf is not available”,這句話意思是Servlet不可用,為什么不可用?還真邪門啊!這個只要你沒改web.xml文件,肯定說明配置是對了的。那么仍然出現(xiàn)這個錯誤的原因就com.easyjf.web.ActionServlet這個類不可用,怎么不可用,就是Tomcat要編譯他的時候找不到這個類.“我們不是已經(jīng)放到web-inf\lib”中了嗎?是的,是放了,所以我說邪門嘛。
哪兒邪門這里就不用細細追究了,以后等同學(xué)們升級后肯定能自己抓出搗蛋的小鬼的.:-)
這里你就直接把classpath設(shè)置一下,把類似的EasyJWeb0.5.jar文件加到classpath中即可。當(dāng)然也可以直接這web-inf\lib中的文件通通拷到tomcat\common\lib的里面。重啟tomcat,應(yīng)該能OK!
若仍然不能OK,請看本問題的終極解決方案。
五、終極解決方案
若你是一年級的同學(xué),請你一定要聽我的,按我說的做。若你不是,我想你看了上面的說明后應(yīng)該能解決404錯誤問題。
這個終極解決方案沒有什么特殊的地,其實很簡單也是最笨的。請按下面的方法安裝即可:
1、備份c盤的數(shù)據(jù),然后格式化c盤;(可省:-0)
? ?2、在c盤上安裝windows等操作系統(tǒng);(可省:-0)
3、按最前面的安裝說明下載并安裝jdk1.4.2版本,注意選擇安裝在c:\j2se1.4目錄。然后把系統(tǒng)變量中增加一個classpath項,值為c:\j2se1.4。
4、按最前面的安半說明下載并安裝tomcat5.0以上的版本。安裝路徑不要用默認(rèn)的,而是選擇d:\tomcat,完成后取動tomcat。
5、刪除d:\tomcat\webapps\ROOT目錄中的所有東西.
6、把下載的系統(tǒng)解壓后拷到d:\tomcat\webapps\ROOT目錄里面.文件結(jié)構(gòu)大致如下d:\tomcat\webapps\ROOT\web-inf\lib\EasyJWeb0.5.jar;若不放心,還可以把下載的web-inf\lib目錄中的所有文件拷到d:\tomcat\common\lib目錄中。
7、重啟動tomcat
8、從地址欄中輸http://localhost:8080/bbs/,這下應(yīng)該得行了。
9、若終極方法還不行,你可以考慮把EasyJF核心團隊中的程序員叫過去幫你安裝了。若他們還搞不定,那真是鬼了、休息一周、然后下周重新買一臺機器來安裝吧!哈哈,只要有決心,我就不相信你搞不定!
六、結(jié)束語
英國的培根子曾經(jīng)曰,“細節(jié)決定成敗”(什么,老培同學(xué)沒說過?那一定是我搞錯了哈),有些細節(jié)請大家注意一下,很多同學(xué)下載的代碼可能是從其它下載網(wǎng)下載的,可能版本跟不上,而且其中的Bug可能沒修正。請大家從官網(wǎng)www.easyjf.com下載,并確保把以前的相關(guān)東東都kill掉(朋膽的kill掉,若是修改了東西的可以備份一下再Kill)。代碼將會根據(jù)反饋情況保持不斷的更新及升級,請有興趣的同學(xué)一定要經(jīng)常關(guān)注我們發(fā)布的新版。