FileDocCategorySizeDatePackage
BookDetailServlet.javaAPI DocExample3794Tue Dec 12 18:59:40 GMT 2000None

BookDetailServlet

public class BookDetailServlet extends HttpServlet
This is a simple example of an HTTP Servlet. It responds to the GET and HEAD methods of the HTTP protocol. This servlet calls other servlets.

Fields Summary
Constructors Summary
Methods Summary
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.getValue(session.getId());
        
        // If the user has no cart, create a new one
        if (cart == null) {
            cart = new ShoppingCart();
            session.putValue(session.getId(), 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>" +

                    "<body  bgcolor=\"#FFFFFF\">" +
                    "<center>" +
                    "<hr> <br>  " +
                    "<h1>" +
                    "<font size=\"+3\" color=\"red\">Duke's </font>" +
                    "<font size=\"+3\" color=\"purple\">Bookstore</font>" +
                    "</h1>" +
                    "</center>" +
                    "<br>   <hr> <br>  ");

        //Get the identifier of the book to display
        String bookId = request.getParameter("bookId");
        if (bookId != null) {

            // and the information about the book
            BookDBServlet database = (BookDBServlet)
                getServletConfig().getServletContext().getServlet("bookdb");
            BookDetails bd = database.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: $" + bd.getPrice() + "</h4>" +

                        "<center>" +
                        "<p><a href=\"" +
                        response.encodeUrl("/servlet/catalog?Buy=" + bookId) +
                        "\"> Add this item to your shopping cart.</a></p>" +
                        "</center>");
        }
        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.";