IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Erreur JSP Usebean


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 20
    Par défaut Erreur JSP Usebean
    Bonjour

    J'essaie d'accéder a un entity bean par le biais d'une page jsp en utilisant usebean

    Voici l'erreur que Jboss me sort

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
    2008-01-26 18:03:20,109 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/toto].[jsp]] Servlet.service() for servlet jsp threw exception
    org.apache.jasper.JasperException: /usersGetted.jsp(7,1) The value for the useBean class attribute User is invalid.
    	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
    	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
    	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)
    	at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1174)
    	at org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
    	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    	at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
    	at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
    	at org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
    	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    	at org.apache.jasper.compiler.Generator.generate(Generator.java:3320)
    	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
    	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    	at servlet.GetUsersServlet.doPost(Unknown Source)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:595)
    2008-01-26 18:03:20,109 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/toto].[GetUsersServlet]] Servlet.service() for servlet GetUsersServlet threw exception
    org.apache.jasper.JasperException: /usersGetted.jsp(7,1) The value for the useBean class attribute User is invalid.
    	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
    	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
    	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)
    	at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1174)
    	at org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
    	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    	at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
    	at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
    	at org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
    	at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    	at org.apache.jasper.compiler.Generator.generate(Generator.java:3320)
    	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
    	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    	at servlet.GetUsersServlet.doPost(Unknown Source)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:595)
    le code de ma jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <html>
    <body>
    <%@ page import="ejb.User" %>
    <%@ page import="java.util.List" %>
     
    <table>
    	<jsp:useBean id="user" class="User" scope="request"/>
    		<tr>
    			<td><%= user.getNom() %></td>
    		</tr>
    </table>
    </html>
    </body>
    Le code de ma servlet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    import java.util.Properties;
    import java.util.*;
    import ejb.User;
    import ejb.UserBean;
    import ejb.UserLocal;
     
     
    public class GetUsersServlet extends HttpServlet {
     
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // get parameters
    	UserLocal userLocal;int i=0;
    	RequestDispatcher rd = null;
    	try{
    		final Hashtable<String, String> env = new Hashtable<String, String>();
        env.put(Context.INITIAL_CONTEXT_FACTORY,
                    "org.jnp.interfaces.NamingContextFactory");
        env.put(Context.URL_PKG_PREFIXES,
                    "org.jboss.naming:org.jnp.interfaces");
        env.put(Context.PROVIDER_URL, "localhost:1099");
     
    		Context ctx = new InitialContext(env);
     
    		userLocal = (UserLocal)ctx.lookup("hellouser/UserBean/local");
     
     
    		User u = userLocal.getUser("bebert");
    		request.setAttribute("user",u);	
    		if(u!= null) {
    			rd = request.getRequestDispatcher("usersGetted.jsp");
    		}
    		else {
    			rd = request.getRequestDispatcher("usersNotGetted.jsp");
    		}
    		}catch(Exception e){rd = request.getRequestDispatcher("erreur.jsp");e.printStackTrace();}
    		rd.forward(request, response);
    	}
    }

    Ma servlet qui initialise le bean User se trouve dans le répertoire WEB-INF/classes de mon fichier war mais pas mon fichier User.class

    Je me demande si je dois mettre User.class dans ce répertoire classes? (car il se trouve deja dans un fichier ejb.jar)

    Je précise que j'utilise JBoss 4.0.5

    Merci de m'aider

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 29
    Par défaut
    Bonjour,

    Ceci est correcte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html>
    <body>
    <table>
    	<jsp:useBean id="user" class="ejb.User" scope="request"/>
    		<tr>
    			<td><%= user.getNom() %></td>
    		</tr>
    </table>
    </html>
    </body>
    Dans le jsp:useBean à l'attribut class, il faut mettre le full class name.

    /Muzo

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 20
    Par défaut
    Bonjour

    C'était bien ca mais je comprend pas pourquoi il faut précisé le package puisque je fais un import juste avant

    Merci de m'avoir aidé

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 29
    Par défaut
    Car dit toi que derrière le tag "jsp:useBean" il y a une classe. Cette classe ne voit pas ce qui se passe dans la jsp, et donc ne voit pas l'import.

    /Muzo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec <jsp:usebean />
    Par casho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/08/2006, 15h04
  2. [Erreur JSP] compilation JSP
    Par chernob dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 07/07/2006, 13h46
  3. [jsp] usebean d'un objet null
    Par GLDavid dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/07/2006, 18h12
  4. [JSP] Tag jsp:usebean
    Par GLDavid dans le forum Taglibs
    Réponses: 3
    Dernier message: 05/07/2006, 16h34
  5. [JSP] Usebean : configuration des beans
    Par faroun dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 04/05/2006, 09h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo