I write a simple JSF hello world page index.jsp and deploy to JBoss 4.0.5. it seems that JBoss can only accept .faces extension, despite I define the Faces servlet filter with *.jsp.
Setup 1. My simple JSF apps has only one page index.jsp, which is a simple hello world app, e.g. Hello world, hi there. 2. I have a simple web.xml that defines the servlet filter with *.jsp (instead of .faces). e.g. <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>xxx</display-name> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> <!-- Welcome File List --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> 3. A simple, vanilla faces-config.xml e.g. <?xml version="1.0" encoding="UTF-8"?> <faces-config> <locale-config> <default-locale>en</default-locale> </locale-config> </faces-config> Problems 1. upon successful deployment to JBoss, if I type http://localhost:8080/xxx/index.jsp JBoss will generate "non-stoppable" exceptions in the server console for a few minutes, and ends up with an exception on the Web browser: exception javax.servlet.ServletException: javax.servlet.ServletException javax.faces.webapp.FacesServlet.service(FacesServlet.java:152) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) root cause javax.faces.FacesException: javax.servlet.ServletException org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:422) org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234) org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384) javax.faces.webapp.FacesServlet.service(FacesServlet.java:138) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 2. if I type http://localhost:8080/xxx/index.faces the system will work and show hello world message. Note: if I put *.faces in the faces servlet filter in the web.xml, the system will work as well. 3. JBoss does not seem to accept the faces servlet with a non-*.faces entry. I understand that *.faces is a recommended practice from the JSF spec, but in reality, many people use *.jsf or even *.jsp in the servlet filter. Implication - I can only use *.faces in the URL for JSF apps. Could anyone tell me whether I miss anything, or whether this is a specific JBoss implementation? Thanks View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3982203#3982203 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3982203 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user