Probleme d'instanciation du bean
Bonjour,j'ai pas mal essayer de resoudre le probleme mais j'y arrive pas.
voici l'erreur que me donne Tomcat5.5.9
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
javax.servlet.ServletException: javax.servlet.jsp.JspException: javax.faces.FacesException: javax.faces.FacesException: Can't instantiate class: 'core.walid.NwindManagedBean'.. core.walid.NwindManagedBean
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:844)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.index_jsp._jspService(index_jsp.java:91)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
cause mère
javax.faces.el.EvaluationException: javax.faces.FacesException: javax.faces.FacesException: Can't instantiate class: 'core.walid.NwindManagedBean'.. core.walid.NwindManagedBean
com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:206)
com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:154)
javax.faces.component.UIData.getValue(UIData.java:527)
javax.faces.component.UIData.getDataModel(UIData.java:856)
javax.faces.component.UIData.setRowIndex(UIData.java:379)
com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:65)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:683)
javax.faces.component.UIData.encodeBegin(UIData.java:681)
javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:591)
javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:543)
com.sun.faces.taglib.html_basic.DataTableTag.doEndTag(DataTableTag.java:491)
org.apache.jsp.index_jsp._jspx_meth_h_dataTable_0(index_jsp.java:161)
org.apache.jsp.index_jsp._jspx_meth_c_view_0(index_jsp.java:116)
org.apache.jsp.index_jsp._jspService(index_jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362) |
Voici le bean NwindManagedBean que j'utilise pour acceder a la base de données en utilisant Api JDBC
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| import java.sql.*;
import javax.sql.*;
import java.util.ArrayList;
import java.util.Collection;
import java.io.*;
import javax.servlet.jsp.jstl.sql.*;
/**
*
* @author XPPRESP3
*/
public class NwindManagedBean implements Serializable{
private String tableName="Customers";
private ResultSet resultSet;
private Connection connection;
/** Creates a new instance of NwindManagedBean */
public NwindManagedBean() {
}
public String getTableName(){
return tableName;
}
public void setTableName(String tableName){
this.tableName=tableName;
}
public void open(){
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:Nwind";
String username = "";
String password = "";
try{
Class.forName(driver);
connection =DriverManager.getConnection(url,username,password);}
catch(Exception e){System.out.println(e);}
}
public void search(){
try{ Statement statement=connection.createStatement();
String query ="select * from "+tableName;
resultSet=statement.executeQuery(query);
}
catch(Exception cnfe) {};
}
public ResultSet getResultSet(){
open();
search();
return resultSet;
}
public void showResults(){
int i=1;
try{ while(resultSet.next())
{
System.out.println(resultSet.getString(i));
i++;
}
}
catch(Exception e){System.out.println("erreur sql"+e);}
}
} |
ici ma page jsf qui utilise dataTable pour afficher la liste des clients
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| <%@ taglib uri="http://java.sun.com/jsf/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<html>
<HEAD><TITLE>Northwind Customers</title>
</HEAD>
<body>
<center>
<table border="5">
<tr><th class="Northwind customers"></th></tr>
</table>
<p>
<c:view>
<h:dataTable value="#{NwindManagedBean.resultSet}"
var="dbRow"
border="1"
>
<h:column>
<c:facet name="header">
<c:verbatim>Company name</c:verbatim>
</c:facet>
<h:outputText value="#{dbRow.CompanyName}"/>
</h:column>
<h:column>
<c:facet name="header">
<c:verbatim>Address</c:verbatim>
</c:facet>
<h:outputText
value="#{dbRow.Address}"/>
</h:column>
<h:column>
<c:facet name="header">
<c:verbatim>City</c:verbatim>
</c:facet>
<h:outputText
value="#{dbRow.City}"/>
</h:column>
</h:dataTable>
</c:view>
</center>
</body>
</html> |
enfin le faces-config.xml ou je declare le bean
Code:
1 2 3 4 5 6 7
| <faces-config>
<managed-bean>
<managed-bean-name>NwindManagedBean</managed-bean-name>
<managed-bean-class>core.walid.NwindManagedBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config> |
si pouvait m'aider je serais tres reconnaissant!!