用Sun creator創建的 jsf 項目部署到其他服務器的問題:
對jsf項目的支持,sun creator 無疑給人一種 耳目一新的感覺:
他對可視化開發的支持真的開始可以和.Net較勁了。
但是 creator 有個問題就是可以把項目部署到 sun app server的項目部署到其他服務器老是出同樣的問題:
?
下面總結一下:
步驟一:? 把項目導出成 *.war文件
步驟二:? 把*.war拷貝到其他服務器的部署目錄
???????? 比如 tomcat/resin 的 webapp下
步驟三:? 運行服務器(tomcat/resin) 問題來了,出現異常
[10:41:34.828] java.lang.NullPointerException
[10:41:34.828] ?at javax.faces.webapp.FacesServlet.init(FacesServlet.java:144)
[10:41:34.828] ?at com.caucho.server.dispatch.ServletConfigImpl.createServletImpl(ServletConfigImpl.java:646)
[10:41:34.828] ?at com.caucho.server.dispatch.ServletConfigImpl.createServlet(ServletConfigImpl.java:587)
看到這個"FacesServlet.java:144" 開始我懷疑是sun 的包的問題, 網上google和baidu了一下,沒搜到相關問題的解決辦法.
??? 最后在一個朋友的幫助下在web.xml文件里加了個Listener:
????? <listener>
??????? <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
???? </listener>
嘿,還真行.
心得如下:
???? 在用workshop或者myeclipse用myfaces包建jsf項目時,我們不會碰到類似的問題.
因為工具已經在web.xml里面加了listener:
?<listener>
??<!-- Listener, that does all the startup work (configuration, init). -->
??<listener-class>org.apache.myfaces.webapp.StartupServletContextListener????</listener-class>
?</listener>
但是如果用這些工具用 sun jsf 包時就要手動listerner.(如:步驟三)
給大家個連接: sun creator的教程,從這里開始學jsf感覺比較全面:
http://gceclub.sun.com.cn/prodtech/javatools/jscreator/learning/tutorials/index.html