Servlet JNDI and Bean : JNDI « Servlets « Java






Servlet JNDI and Bean

 
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



           
         
  








Related examples in the same category

1.JNDI Filter
2.Email JNDI Filter
3.Web JNDI
4.Use JNDI to get database connection or data source