JSF文件在web.xml中启动异常

开发 后端
本文介绍JSF文件在web.xml中启动异常,以及介绍了各个异常的解决方法。

首先讲解web.xml

(1)其他地方没有什么要说的重要的是这里,如果你在xml中不加下面这一个监听

  1. <listener> 
  2. <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
  3. </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文件里加入或者修改成这样:

  1. <welcome-file-list> 
  2.    <welcome-file>index.faces</welcome-file> 
  3.  </welcome-file-list> 

这该项的welcome-file内容改成index.faces就没事了.

2.将index.jsp这个JSF文件改成home.jsp,然后,新建一个index.jsp文件,内容如下:

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


3.将index.jsp这个JSF文件直接改成home.jsp,即不为welcome-file文件.启动时不会有任何错误的.当然你的 index.jsp不能为JSF文件.因为直接调用JSF页面而不是使用Faces Servlet映射.就会出错.

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. <!-- 页面管理 --> 
  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> 

 

【编辑推荐】

  1. JSF基础框架
  2. 使用G4JSF集成GWT和JSF
  3. 过渡技术的Ajax及Apusic JSF
  4. NetBeans中JSF的可视化开发
  5. 详细介绍Seam Remoting API和Ajax4jsf
责任编辑:佚名 来源: JavaEye
相关推荐

2009-06-05 10:55:07

struts2 web

2009-07-07 14:27:32

Servlet配置web.xml

2009-07-14 14:08:35

Tapestry 5.web.xml的配置

2009-06-23 09:53:10

JSF程序配置

2011-05-18 16:02:08

XML

2009-02-03 10:19:45

2009-08-21 09:58:48

web.xml元素

2009-07-20 17:49:07

JSF请求处理

2009-06-23 16:22:23

JSF能否

2009-06-22 17:26:26

页面导航JSF

2009-12-02 10:39:26

PHP DOMDocu

2009-06-23 15:09:14

managed-beaJSF

2009-06-23 16:52:16

JSFHibernateWeb应用

2009-06-05 10:09:13

struts配置

2009-06-23 09:33:20

FCKEditorJSFJSP

2009-06-23 14:22:00

DOM文档XML文件Java

2009-02-03 09:41:50

UI组件事件驱动JSF

2009-06-22 13:44:00

JSFJava Web开发

2009-06-24 14:17:00

BackingBeanJSF配置文件

2009-06-17 15:18:38

JSF与Spring
点赞
收藏

51CTO技术栈公众号