Mega Code Archive

 
Categories / Java / Servlets
 

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