FileDocCategorySizeDatePackage
BookDetailServlet.javaAPI DocExample4224Tue Dec 12 18:59:36 GMT 2000None

BookDetailServlet

public class BookDetailServlet extends HttpServlet
This is a simple example of an HTTP Servlet. It responds to the GET method of the HTTP protocol.

Fields Summary
private BookDB
bookDB
Constructors Summary
Methods Summary
public voiddestroy()

          bookDB = null;
      
public voiddoGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)

        // Get the user's session and shopping cart
        HttpSession session = request.getSession(true);
        ShoppingCart cart =
            (ShoppingCart)session.getAttribute("examples.bookstore.cart");
        
        // If the user has no cart, create a new one
        if (cart == null) {
            cart = new ShoppingCart();
            session.setAttribute("examples.bookstore.cart", cart);
        }

   // set content-type header before accessing the Writer
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

   // then write the response
        out.println("<html>" +
                    "<head><title>Book Description</title></head>");
                              
        // Get the dispatcher; it gets the banner to the user
        RequestDispatcher dispatcher =
               getServletContext().getRequestDispatcher(
                  "/banner");
                                       
            if (dispatcher != null)
               dispatcher.include(request, response);
                                       
        //Get the identifier of the book to display
        String bookId = request.getParameter("bookId");
        if (bookId != null) {

            // and the information about the book
            BookDetails bd = bookDB.getBookDetails(bookId);

            //Print out the information obtained
            out.println("<h2>" + bd.getTitle() + "</h2>" +

                        "  By <em>" + bd.getFirstName() + " " +
                        bd.getSurname() + "</em>     " +
                        "(" + bd.getYear() + ")<br>   <br>" +

                        "<h4>Here's what the critics say: </h4>" +
                        "<blockquote>" + bd.getDescription() +
                        "</blockquote>" +

                        "<h4>Our price: " + Currency.format(bd.getPrice(), request.getLocale()) + "</h4>" +

                        "<p><strong><a href=\"" +
                        response.encodeURL("/bookstore/catalog?Add=" + bookId) +
                        "\"> Add To Your Shopping Cart</a>   " +
                        "<a href=\"" + 
                                    response.encodeURL("/bookstore/catalog") + "\">Continue Shopping</a></p></strong>");
                                    

        }
        out.println("</body></html>");
        out.close();
    
public java.lang.StringgetServletInfo()

        return "The BookDetail servlet returns information about" +
               "any book that is available from the bookstore.";
    
public voidinit()

        bookDB =
            (BookDB)getServletContext().getAttribute("examples.bookstore.database");

        if (bookDB == null) {
        		bookDB = BookDB.instance();
                  getServletContext().setAttribute("examples.bookstore.database", bookDB);
        }