BeanServlet.java Source code

Java tutorial

Introduction

Here is the source code for BeanServlet.java

Source

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class BeanServlet extends HttpServlet {

    private StockPriceBean spbean;

    public void init() throws ServletException {

        Context env = null;

        try {
            // Compile error since there is no StockPriceBean.class
            // change the name according to your requirements
            env = (Context) new InitialContext().lookup("java:comp/env");
            spbean = (StockPriceBean) env.lookup("bean/pricebean");

            //close the InitialContext
            env.close();

            if (spbean == null)
                throw new ServletException("bean/pricebean is an unknown JNDI object");

        } catch (NamingException ne) {

            try {
                env.close();
            } catch (NamingException nex) {
            }

            throw new ServletException(ne);

        }

    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, java.io.IOException {

        //set the MIME type of the response, "text/html"
        response.setContentType("text/html");

        //use a PrintWriter send text data to the client who has requested the
        // servlet
        java.io.PrintWriter out = response.getWriter();

        //Begin assembling the HTML content
        out.println("<html><head>");

        out.println("<title>Stock Price Fetcher</title></head><body>");
        out.println("<h2>Please submit a valid stock symbol</h2>");

        //make sure method="post" so that the servlet service method
        //calls doPost in the response to this form submit
        out.println("<form method=\"post\" action =\"" + request.getContextPath() + "/namingbean\" >");

        out.println("<table border=\"0\"><tr><td valign=\"top\">");
        out.println("Stock symbol: </td>  <td valign=\"top\">");
        out.println("<input type=\"text\" name=\"symbol\" size=\"10\">");
        out.println("</td></tr><tr><td valign=\"top\">");

        out.println("<input type=\"submit\" value=\"Submit Info\"></td></tr>");
        out.println("</table></form>");
        out.println("</body></html>");

        out.close();
    } //end doGet

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException {

        String symbol;//this will hold the stock symbol
        float price = 0f;

        symbol = request.getParameter("symbol");

        boolean isValid = (symbol == null || symbol.length() < 1) ? false : true;

        //set the MIME type of the response, "text/html"
        response.setContentType("text/html");

        //use a PrintWriter send text data to the client who has requested the
        // servlet
        java.io.PrintWriter out = response.getWriter();

        //Begin assembling the HTML content
        out.println("<html><head>");
        out.println("<title>Latest stock value</title></head><body>");

        if ((!isValid) || spbean == null) {

            out.println("<h2>Sorry, the stock symbol parameter was either empty or null</h2>");

        } else {

            out.println("<h2>Here is the latest value of " + symbol + "</h2>");

            spbean.setSymbol(symbol);
            price = spbean.getLatestPrice();

            out.println((price < 1 ? "The symbol is probably invalid." : "" + price));

        }

        out.println("</body></html>");

    }// doPost

}//BeanServlet