溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

JSF文件在web.xml中啟動(dòng)異常如何解決

發(fā)布時(shí)間:2021-07-14 11:53:07 來(lái)源:億速云 閱讀:187 作者:chen 欄目:編程語(yǔ)言

這篇文章主要介紹“JSF文件在web.xml中啟動(dòng)異常如何解決”,在日常操作中,相信很多人在JSF文件在web.xml中啟動(dòng)異常如何解決問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”JSF文件在web.xml中啟動(dòng)異常如何解決”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

首先講解web.xml

(1)其他地方?jīng)]有什么要說(shuō)的重要的是這里,如果你在xml中不加下面這一個(gè)監(jiān)聽(tīng)

<listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener>

就會(huì)出現(xiàn) 如下異常:
嚴(yán)重: StandardWrapper.Throwablejava.lang.NullPointerException at javax.faces.webapp.FacesServlet

(2)JSF運(yùn)行時(shí)出現(xiàn)javax.servlet.jsp.JspException: Cannot find FacesContext

出現(xiàn)這種情況時(shí),有三種解決方案:

1.當(dāng)你的首頁(yè)文件是命名為index.jsp,在這個(gè)文件里用到JSF.即該文件屬于JSF文件.在J2EE里默認(rèn)的啟動(dòng)文件是:index.jsp文件.因此,當(dāng)啟動(dòng)程序時(shí),會(huì)對(duì)該文件進(jìn)行一些操作,可是JSF文件已在faces-config.xml時(shí)已映射為*.faces或*.jsf了.那么程序就會(huì)拋出javax.servlet.jsp.JspException: Cannot find FacesContext錯(cuò)誤.但程序仍然可以運(yùn)行的.

解決方法:在web.xml文件里加入或者修改成這樣:

<welcome-file-list>    <welcome-file>index.faces</welcome-file>  </welcome-file-list>

這該項(xiàng)的welcome-file內(nèi)容改成index.faces就沒(méi)事了.

2.將index.jsp這個(gè)JSF文件改成home.jsp,然后,新建一個(gè)index.jsp文件,內(nèi)容如下:

<html> <head></head><body> <jsp:forward page="home.faces" /></body></html>


3.將index.jsp這個(gè)JSF文件直接改成home.jsp,即不為welcome-file文件.啟動(dòng)時(shí)不會(huì)有任何錯(cuò)誤的.當(dāng)然你的 index.jsp不能為JSF文件.因?yàn)橹苯诱{(diào)用JSF頁(yè)面而不是使用Faces Servlet映射.就會(huì)出錯(cuò).

web.xml配置文件:

  1. <?xml version="1.0" encoding="UTF-8"?> 

  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" 

  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" 

  4. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    > 

  5. <display-name>JSF Demo</display-name> 

  6. <description>JSF Demo</description> 

  7. <context-param> 

  8.    <param-name>javax.faces.CONFIG_FILES</param-name> 

  9.    <param-value>/WEB-INF/faces-config.xml</param-value> 

  10. </context-param> 

  11. <servlet> 

  12.    <servlet-name>FacesServlet</servlet-name> 

  13.    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 

  14.    <load-on-startup>1</load-on-startup> 

  15. </servlet> 

  16. <servlet-mapping> 

  17.    <servlet-name>FacesServlet</servlet-name> 

  18.    <url-pattern>*.faces</url-pattern> 

  19. </servlet-mapping> 

  20. <listener> 

  21.    <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 

  22. </listener> 

  23. <welcome-file-list> 

  24.    <welcome-file>index.jsp</welcome-file> 

  25. </welcome-file-list> 

  26. </web-app> 

  27.  

  28. faces-config.xml配置文件  

  29.  

  30. <?xml version="1.0" encoding="UTF-8"?> 

  31. <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.
    //DTD JavaServer Faces Config 1.1//EN" 
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> 

  32.  

  33. <faces-config> 

  34. <!-- 流程控制 --> 

  35. <navigation-rule> 

  36.    <from-view-id>/home.jsp</from-view-id> 

  37.    <navigation-case> 

  38.     <from-outcome>login</from-outcome> 

  39.     <to-view-id>/welcome.jsp</to-view-id> 

  40.    </navigation-case> 

  41.    <navigation-case> 

  42.     <from-outcome>fial</from-outcome> 

  43.     <to-view-id>/home.jsp</to-view-id> 

  44.    </navigation-case> 

  45. </navigation-rule> 

  46. <!-- 頁(yè)面管理 --> 

  47. <managed-bean> 

  48.    <managed-bean-name>user</managed-bean-name> 

  49.    <managed-bean-class>com.UserBean</managed-bean-class> 

  50.    <managed-bean-scope>session</managed-bean-scope> 

  51. </managed-bean> 

  52. </faces-config> 

到此,關(guān)于“JSF文件在web.xml中啟動(dòng)異常如何解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI