您好,登錄后才能下訂單哦!
這篇文章主要介紹“JSF文件在web.xml中啟動異常如何解決”,在日常操作中,相信很多人在JSF文件在web.xml中啟動異常如何解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JSF文件在web.xml中啟動異常如何解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
首先講解web.xml
(1)其他地方沒有什么要說的重要的是這里,如果你在xml中不加下面這一個監聽
<listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener>
就會出現 如下異常:
嚴重: StandardWrapper.Throwablejava.lang.NullPointerException at javax.faces.webapp.FacesServlet
(2)JSF運行時出現javax.servlet.jsp.JspException: Cannot find FacesContext
出現這種情況時,有三種解決方案:
1.當你的首頁文件是命名為index.jsp,在這個文件里用到JSF.即該文件屬于JSF文件.在J2EE里默認的啟動文件是:index.jsp文件.因此,當啟動程序時,會對該文件進行一些操作,可是JSF文件已在faces-config.xml時已映射為*.faces或*.jsf了.那么程序就會拋出javax.servlet.jsp.JspException: Cannot find FacesContext錯誤.但程序仍然可以運行的.
解決方法:在web.xml文件里加入或者修改成這樣:
<welcome-file-list> <welcome-file>index.faces</welcome-file> </welcome-file-list>
這該項的welcome-file內容改成index.faces就沒事了.
2.將index.jsp這個JSF文件改成home.jsp,然后,新建一個index.jsp文件,內容如下:
<html> <head></head><body> <jsp:forward page="home.faces" /></body></html>
3.將index.jsp這個JSF文件直接改成home.jsp,即不為welcome-file文件.啟動時不會有任何錯誤的.當然你的 index.jsp不能為JSF文件.因為直接調用JSF頁面而不是使用Faces Servlet映射.就會出錯.
web.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><display-name>JSF Demo</display-name>
<description>JSF Demo</description>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<servlet>
<servlet-name>FacesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>FacesServlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
faces-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.
//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<!-- 流程控制 -->
<navigation-rule>
<from-view-id>/home.jsp</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/welcome.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>fial</from-outcome>
<to-view-id>/home.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<!-- 頁面管理 -->
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>com.UserBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
到此,關于“JSF文件在web.xml中啟動異常如何解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。