Bonjour,

Je débute en J2EE et je n'arrive pas à faire dialoguer une page JSP avec un JavaBean (qui dialogue avec un EJB) en utilisant la balise : jsp:useBean.
Le projet fonctionne avec une page JSF, je ne comprend pas pourquoi cela ne fonctionne pas avec une JSP

code de la page 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
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
 
<%@page import="bean.Conversion"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Conversion entre les euros et les francs</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
      <h2 align="center">Conversion entre les euros et les francs</h2>
      <hr />
      <h4 align="center">
          <form action="index.jsp">
              <input type="text" name="euro" value="" size="25" />
              &nbsp;&euro;uro(s)
              <input type="submit" value="Conversion Euros" />
          </form>
          <br>
          <form action="index.jsp">
              <input type="text" name="franc" value="" size="25" />
              &nbsp;Franc(s)
              <input type="submit" value="Conversion Franc" />
          </form>
      </h4>
      <%
        if(request.getParameter("franc")!= null || request.getParameter("euro")!= null)
        {
            %>
            <jsp:useBean id="conv" class="Conversion" scope="session">
            <%
            if(request.getParameter("franc")!= null)
            {
            %>
 
            <%
            }
            else
            {
            }
            %>
         </jsp:useBean>
        <%
      
        }
      %>
  </body>
</html>
code du JavaBean :
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
package bean;
 
import javax.annotation.PreDestroy;
import session.Conversions;
import javax.ejb.EJB;
import javax.faces.bean.*;
 
@ManagedBean
@SessionScoped
public class Conversion {
    private double euro;
    private double franc;
    @EJB Conversions convertir;
 
    public double getEuro() { return euro;  }
    public void setEuro(double euro) {  this.euro = euro;  }
 
    public double getFranc() { return franc;  }
    public void setFranc(double franc) {  this.franc = franc;  }
 
    public Conversions getConvertir() {  return convertir;   }
 
    public void euroFranc() { franc = convertir.euroFranc(euro);   }
    public void francEuro() { euro = convertir.francEuro(franc);   }
 
    @PreDestroy
    public void fin() {
        convertir.fin();
    }
}
code de web.xml :
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
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>1</session-timeout>
    </session-config>
    <welcome-file-list>
        <!--<welcome-file>faces/index.xhtml</welcome-file>-->
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
l'exception remontée est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
javax.servlet.ServletException: java.lang.InstantiationException: Conversion
J'ai essayé de le faire sans passer par la balise jsp:usebean, en créant directement un objet de type Conversion cela fonctionne jusqu'au moment ou je veut utiliser les méthode euroFranc ou francEuro,
L'erreur remontée est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
org.apache.jasper.JasperException: java.lang.NullPointerException
Merci pour votre aide