Message : "The value for the useBean class attribute is invalid."
Bonjour tout le monde,
Mon problème est le suivant :
J'appelle un bean depuis ma jsp :
Code:
1 2
|
<jsp:useBean class="util.Starter" id="db" scope="session"></jsp:useBean> |
Ma classe Starter ressemble à ça :
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
|
package util;
import com.mysql.jdbc.Connection;
/**
* Servlet implementation class for Servlet: Starter
*
*/
public class Starter {
private MysqlDb db = null;
public Connection con = null;
public Starter() {
super();
setDb(MysqlDb.getInstance());
setCon(getDb().getConnection());
}
public MysqlDb getDb()
{
return db;
}
public Connection getCon()
{
return con;
}
public void setDb(MysqlDb db)
{
this.db = db;
}
public void setCon(Connection con)
{
this.con = con;
}
} |
Je respecte la syntaxe getter/setter,
Ma classe Starter compilée se trouve dans WEB-INF/classes/util,
J'ai un constructeur sans paramètre dans ma classe Starter,
Mon fichier web.xml ressemble à ça :
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
|
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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>
WebInterface</display-name>
<servlet>
<description>
</description>
<display-name>
SessionLogger</display-name>
<servlet-name>SessionLogger</servlet-name>
<servlet-class>
util.SessionLogger</servlet-class>
</servlet>
<servlet>
<description>
</description>
<display-name>
Starter</display-name>
<servlet-name>Starter</servlet-name>
<servlet-class>
util.Starter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SessionLogger</servlet-name>
<url-pattern>/SessionLogger</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Starter</servlet-name>
<url-pattern>/Starter</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app> |
Tout cela fonctionne parfaitement sous Eclipse en environnement local, en revanche j'obtient l'erreur suivante sur mon serveur :
Code:
1 2
|
org.apache.jasper.JasperException: /VisioServer/login.jsp(8,0) The value for the useBean class attribute util.Starter is invalid. |
Dans tous les cas (environnement local et serveur) je tourne avec Tomcat 5.5.
Sur le forum de Sun, j'ai pu lire que certains utilisent le mot clé "type" à la place de "class" comme attribut de la balise usebean. Cette solution ne me convient pas car elle sous entends que la classe du bean a déjà été instanciée.
Je sais que c'est un problème récurrent qui a déjà été posté plusieurs fois, mais aucunes des solutions proposées ne semble résoudre mon problème...
Any idea ???