The value for the useBean class attribute is invalid的解決方法

關於這個問題,網路上有很多人討論,小弟也碰到了這個問題,在東拼西湊之下,終於解決

了這個議題所帶來的error...

基本上,您要引用的class檔,其原始檔需加上一個無帶參數的constructer,再重新編譯囉!

<jsp:useBean id="userdata" class="service.userdata" scope="session"></jsp:useBean>

上面的code,請注意service.userdata是表示引用存放在WEB-INF/classes/service/userdata.class

您要確認您的檔案有正確引用到它,一般我們用eclipse應該都會提醒,而當下我們都很確

認有引用到它,但就是還會有Error畫面(oh~ 不),小弟也是一直卡在這....


注意!若用eclipse建立project,預設的.classpath在build/classes/下產生class檔,而若您不用

eclipse執行,而是利用tomcat webapps跑出畫面,並且要引用class,請設定.classspath

為classpathentry kind="output" path="WebContent/WEB-INF/classes"/>

如果WEB-INF沒在您自動編譯時產生classes,那就請自己建資料夾囉!

後來有人提到tomcat的設定,請將您在tomcat/webapps/自己建的dir設定目錄與路徑的對應,

conf/service.xml內

<Context path="myweb" docBase="實體位置/WebContent">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

http://localhost:8080/myweb/

設定好後,請重啟一下tomcat,若還是有問題的話,可以清一下

Tomcat 7.0\work\Catalina\localhost\該目錄下的資料,並且重啟tomcat,如此一來應該就OK了

而關於設定service.xml的細部您可以參閱網路上的教學...

大致上這樣應該就沒問題了!

留言