0

I have created a simple EJB Application to demonstrate Session Bean by making a simple calculator on a JSP Page. For Stateless SessionBean.

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <div>Calculator</div>
        <form action="NewServlet" method="post">
            value 1:<input type="text" name="v1"><br>
            value 2:<input type="text" name="v2"><br>
            <input type="radio" name="g" value="1"> ADDITION <br>
            <input type="radio" name="g" value="2"> SUBTRACT <br>
            <input type="radio" name="g" value="3"> DIVIDE <br>
            <input type="radio" name="g" value="4"> MULTIPLY <br>
            <input type="submit" value="=">
        </form>
    </body>
</html>

NewSessionBean.java

package com;
import javax.ejb.Stateless;
@Stateless

public class NewSessionBean implements NewSessionBeanLocal {
@Override
public int sub(int a, int b) {
    return (a-b);
}
@Override
public int add(int v1, int v2) {
    return v1+v2;
}

@Override
public int mul(int v1, int v2) {
    return v1*v2;
}

@Override
public int div(int v1, int v2) {
    return v1/v2;
}

}

NewServlet.java

package com;
import com.NewSessionBeanLocal;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name="NewServlet", urlPatterns={"/NewServlet"})
public class NewServlet extends HttpServlet {

    @EJB
    private NewSessionBeanLocal newSessionBean;
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
            PrintWriter out=response.getWriter();
            try {
            int v1=Integer.parseInt(request.getParameter("v1"));
            int v2=Integer.parseInt(request.getParameter("v2"));
            String f=request.getParameter("g");
            int result=0;
            if(f.equals("1"))
            {
             result=newSessionBean.add(v1, v2);
             out.println("<h1>result =>"+result+"<h1>");
            }     
            else if(f.equals("2"))
            {
             result=newSessionBean.sub(v1, v2);
             out.println("<h1>result =>"+result+"<h1>");
            }    
            else if(f.equals("3"))
            {
             result=newSessionBean.div(v1, v2);
             out.println("<h1>result =>"+result+"<h1>");
            }    
            else
            {
             result=newSessionBean.mul(v1, v2);
             out.println("<h1>result =>"+result+"<h1>");
            }    
            }
            finally{
                out.close();
            }
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }

}

After writing the program, I went to the Project Folder(EnterpriseApplication3) right-click => properties => run => Relative Url: /index.jsp. So that when I build and run the project it should start from index.jsp page. Index.jsp page is working perfectly but when I press submit, i am getting NewServlet page which is blank.

Browser: Chrome, Mozilla, IE (All latest versions). index.jsp Page

0 Answers0