Java Techies- Solution for All
Accessing Enterprise Beans
Client gets access to enterprise beans using:
- Dependency Injection using Java programming language annotations. Eg. Javax.ejb.EJB annotation.
- JNDI lookup for application running outside JEE server-managed environment
EJB Example Using JNDI Lookup
CalculatorRemote.java File
package com.jtechies; import javax.ejb.Remote; @Remote public interface CalculatorRemote { public float add(float x, float y); public float subtract(float x, float y); public float multiply(float x, float y); public float division(float x, float y); }
Calculator.java File
package com.jtechies; import java.math.*; import javax.ejb.Stateless; import javax.ejb.Remote; @Stateless public class Calculator implements CalculatorRemote{ public float add(float x, float y){ return x + y; } public float subtract(float x, float y){ return x - y; } public float multiply(float x, float y){ return x * y; } public float division(float x, float y){ return x / y; } }
Client.java File
package com.jtechies; import java.io.IOException; import java.io.PrintWriter; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Client */ @WebServlet("/Client") public class Client extends HttpServlet { private static final long serialVersionUID = 1L; public Client() { super(); } protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ PrintWriter out = response.getWriter(); CalculatorRemote calculator = null; Context context = null; try { context = new InitialContext(); } catch (NamingException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { // Give the name of your // interface follow with package name calculator = (CalculatorRemote) context.lookup ("com.jtechies.CalculatorRemote"); } catch (NamingException e) { // TODO Auto-generated catch block e.printStackTrace(); } out.println("<html>"); out.println("<head>"); out.println(">title< Calculator</title>"); out.println("<body>"); out.println("<h3>Addition = "+calculator.add(200, 100)+"</h3>"); out.println("<h3>subtraction = "+calculator.subtract(200, 100)+"</h3>"); out.println("<h3>multiplication = "+calculator.multiply(200, 100)+"</h3>"); out.println("<h3>division = "+calculator.division(200, 100)+"</h3>"); out.println("</body>"); out.println("</html>"); } }
Output
