How to fix Face context Error in JSF?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • jerald m
    New Member
    • Dec 2010
    • 28

    #1

    How to fix Face context Error in JSF?

    login.jsp
    Code:
    <%@ page contentType="text/html"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <f:view>
    	<html>
    		<head>
    			<title>JSF Login Application</title>
    		</head>
    		<body>
    			<h:form>
    				<table>
    					<tr>
    						<td><h:outputText value="Enter Login ID: " /></td>
    						<td><h:inputText id="id" value="#{LoginBean.loginid}" /></td>
    					</tr>
    					<tr>
    						<td><h:outputText value="Enter Password: " /></td>
    						<td><h:inputSecret id="pwd" value="#{LoginBean.pwd}" /></td>
    					</tr>
    					<tr>
    						<td>&nbsp;</td>
    						<td><h:commandButton value="Login" action="#{LoginBean.CheckValidUser}" /></td>
    					</tr>
    				</table>
    			</h:form>
    		</body>
    	</html>
    </f:view>

    loginfail.jsp

    Code:
    Login Failed. Please try again.
    loginsuccess.js p

    Code:
    Login Successful.
    LoginBean.java
    Code:
    package javajazzup;
    
    public class LoginBean{
    	String loginid;
    	String pwd;
    
    	public LoginBean(){}
    
    	public String getLoginid(){
    		return loginid;
    	}
    	public void setLoginid(String loginid){
    		this.loginid = loginid;
    	}
    	public String getPwd(){
    		return pwd;
    	}
    	public void setPwd(String pwd){
    		this.pwd = pwd;
    	}
    	public String CheckValidUser(){
    		if(loginid.equals("JavaJazzUp") && pwd.equals("mypwd")){
    			return "success";
    		}
    		else{
    			return "fail";
    		}
    	}
    }

    faces-config.xml

    Code:
    <?xml version="1.0"?>
    <!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>
    	<managed-bean>
    		<managed-bean-name>LoginBean</managed-bean-name>
    		<managed-bean-class>javajazzup.LoginBean</managed-bean-class>
    		<managed-bean-scope>request</managed-bean-scope>
    	</managed-bean>
    	<navigation-rule>
    		<from-view-id>/login.jsp</from-view-id>
    		<navigation-case>
    			<from-action>#{LoginBean.CheckValidUser}</from-action>
    			<from-outcome>success</from-outcome>
    			<to-view-id>loginsuccess.jsp</to-view-id>
    		</navigation-case>
    		<navigation-case>
    			<from-action>#{LoginBean.CheckValidUser}</from-action>
    			<from-outcome>fail</from-outcome>
    			<to-view-id>loginfail.jsp</to-view-id>
    		</navigation-case>
    	</navigation-rule>
    </faces-config>

    web.xml

    Code:
    <?xml version="1.0"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    
    <web-app>
    	<context-param>
    		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    		<param-value>server</param-value>
    	</context-param>
    	
    	<!-- Faces Servlet -->
    	<servlet>
    		<servlet-name>Faces Servlet</servlet-name>       <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    		<load-on-startup> 1 </load-on-startup>
    	</servlet>
    	
    	<!-- Faces Servlet Mapping -->
    	<servlet-mapping>
    		<servlet-name>Faces Servlet</servlet-name>
    		<url-pattern>*.jsf</url-pattern>
    	</servlet-mapping>
    </web-app>

    after compiling java code
    i run this application but i got Face context Error
    Please help me out

    error




    HTTP Status 500 -

    type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    org.apache.jasp er.JasperExcept ion: java.lang.Runti meException: Cannot find FacesContext
    org.apache.jasp er.servlet.JspS ervletWrapper.h andleJspExcepti on(JspServletWr apper.java:500)
    org.apache.jasp er.servlet.JspS ervletWrapper.s ervice(JspServl etWrapper.java: 428)
    org.apache.jasp er.servlet.JspS ervlet.serviceJ spFile(JspServl et.java:313)
    org.apache.jasp er.servlet.JspS ervlet.service( JspServlet.java :260)
    javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:717)

    root cause

    java.lang.Runti meException: Cannot find FacesContext
    javax.faces.web app.UIComponent ClassicTagBase. getFacesContext (UIComponentCla ssicTagBase.jav a:1797)
    javax.faces.web app.UIComponent ClassicTagBase. setJspId(UIComp onentClassicTag Base.java:1614)
    org.apache.jsp. login_jsp._jspx _meth_f_005fvie w_005f0(login_j sp.java:98)
    org.apache.jsp. login_jsp._jspS ervice(login_js p.java:75)
    org.apache.jasp er.runtime.Http JspBase.service (HttpJspBase.ja va:70)
    javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:717)
    org.apache.jasp er.servlet.JspS ervletWrapper.s ervice(JspServl etWrapper.java: 386)
    org.apache.jasp er.servlet.JspS ervlet.serviceJ spFile(JspServl et.java:313)
    org.apache.jasp er.servlet.JspS ervlet.service( JspServlet.java :260)
    javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:717)

    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.
Working...