>Thank you Bill.
>you are right. I just did not notice the two character "ln" in println.
>Thank you very much.
>By the way, did you ever try the sample duke's bookstore provided by
>javasoft. The BookDetailServlet and CatalogServlet always output
>NullPointerException. I have worked on this for long time, right now my
>major problem is: debugging message does not show on the javawebserver
>console( when start the web server, leave it open, then message will show
>up, I used to debug in this way), so I can not check where cause the NPE. I
>use following
>code:
> String bookId = request.getParameter("bookId");
> try{
> bookId = request.getParameter("bookId");
> }catch(Exception e)
> {
> e.printStackTrace();
> System.out.println(e.getMessage());
> }
> System.out.println("bookId is: "+bookId);
>Nothing shows on the console. The full version of BookDetailServlet.java
is
>here, gurus please help, the whole package is also attached for your
>convenience.
>
>import java.io.*;
>import javax.servlet.*;
>import javax.servlet.http.*;
>import database.*;
>import cart.ShoppingCart;
>
>
>public class BookDetailServlet extends HttpServlet {
>
> public void doGet (HttpServletRequest request,
> HttpServletResponse response)
> throws ServletException, IOException
> {
> // 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 String getServletInfo() {
> return "The BookDetail servlet returns information about" +
> "any book that is available from the bookstore.";
> }
>}
>
>
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html