Por favor, ajudem um iniciante

Gente seguinte, estou tentando converter Servlets de uma Bookstore para páginas JSP. Desde então estou encontrando inúmeros erros na compilação do código. Gostaria de contar com a ajuda de vcs para resolver tal problema…

Segue o código do servlet a ser convertido abaixo:

[code]import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Iterator;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import cart.ShoppingCart;
import database.BookDB;
import database.BookDetails;

/**

  • This is a simple example of an HTTP Servlet. It responds to the GET

  • method of the HTTP protocol.
    */
    public class CatalogServlet extends HttpServlet {
    private BookDB bookDB;

    public void init() throws ServletException {
    bookDB =
    (BookDB)getServletContext().getAttribute("examples.bookstore.database");

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

    }

    public void destroy() {
    bookDB = null;
    }

    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.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 data of the response
    out.println("<html>" +
    "<head><title> Book Catalog </title></head>");

     // Get the dispatcher; it gets the banner to the user
     RequestDispatcher dispatcher =
            getServletContext&#40;&#41;.getRequestDispatcher&#40;
               &quot;/banner&quot;&#41;;
                                    
         if &#40;dispatcher != null&#41;
            dispatcher.include&#40;request, response&#41;;
                                    
                                    
     //Information on the books is from the database through its front end
    
     // Additions to the shopping cart
     String bookId = request.getParameter&#40;&quot;Add&quot;&#41;;
     if &#40;bookId != null&#41; &#123;
         BookDetails book = bookDB.getBookDetails&#40;bookId&#41;;
         cart.add&#40;bookId, book&#41;;
         out.println&#40;&quot;&lt;p&gt;&lt;h3&gt;&quot; +
                     &quot;&lt;font color=&quot;#ff0000&quot;&gt;&quot; +
                     &quot;You just added &lt;i&gt;&quot; + book.getTitle&#40;&#41; + &quot;&lt;/i&gt; &quot;+
                     &quot;to your shopping cart.&lt;/font&gt;&lt;/h3&gt;&quot;&#41;;
     &#125;
     
     //Give the option of checking cart or checking out if cart not empty
     if &#40;cart.getNumberOfItems&#40;&#41; &gt; 0&#41; &#123;
         out.println&#40;&quot;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;&quot; +
                     response.encodeURL&#40;&quot;/bookstore/showcart&quot;&#41; +
                     &quot;&quot;&gt; Check Shopping Cart&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot; +
                     &quot;&lt;a href=&quot;&quot; +
                     response.encodeURL&#40;&quot;/bookstore/cashier&quot;&#41; +
                     &quot;&quot;&gt; Buy Your Books&lt;/a&gt;&quot; +
                     &quot;&lt;/p&gt;&lt;/strong&gt;&quot;&#41;;
     &#125;
    
     // Always prompt the user to buy more -- get and show the catalog
     out.println&#40;&quot;&lt;br&gt; &amp;nbsp;&quot; +
                 &quot;&lt;h3&gt;Please choose from our selections&#58;&lt;/h3&gt;&quot; +
                 &quot;&lt;center&gt; &lt;table&gt;&quot;&#41;;
         
         Collection c = bookDB.getBooks&#40;&#41;;
         Iterator i = c.iterator&#40;&#41;;
         while &#40;i.hasNext&#40;&#41;&#41; &#123;
               BookDetails book = &#40;BookDetails&#41;i.next&#40;&#41;;
               bookId = book.getBookId&#40;&#41;;
         //Print out info on each book in its own two rows
         out.println&#40;&quot;&lt;tr&gt;&quot; +
    
                     &quot;&lt;td bgcolor=&quot;#ffffaa&quot;&gt;&quot; +
                     &quot;&lt;a href=&quot;&quot; +
                     response.encodeURL&#40;&quot;/bookstore/bookdetails?bookId=&quot; + bookId&#41; +
                     &quot;&quot;&gt; &lt;strong&gt;&quot; + book.getTitle&#40;&#41; +
                     &quot;&amp;nbsp; &lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&quot; +
    
                     &quot;&lt;td bgcolor=&quot;#ffffaa&quot; rowspan=2&gt;&quot; +
                     Currency.format&#40;book.getPrice&#40;&#41;, request.getLocale&#40;&#41;&#41; +
                     &quot;&amp;nbsp; &lt;/td&gt;&quot; +
    
                     &quot;&lt;td bgcolor=&quot;#ffffaa&quot; rowspan=2&gt;&quot; +
                     &quot;&lt;a href=&quot;&quot; +
                     response.encodeURL&#40;&quot;/bookstore/catalog?Add=&quot; + bookId&#41;
                     + &quot;&quot;&gt; &amp;nbsp; Add to Cart &amp;nbsp;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&quot; +
    
                     &quot;&lt;tr&gt;&quot; +
                     &quot;&lt;td bgcolor=&quot;#ffffff&quot;&gt;&quot; +
                     &quot;&amp;nbsp; &amp;nbsp; by &lt;em&gt; &quot; + book.getFirstName&#40;&#41; +
                     &quot; &quot; + book.getSurname&#40;&#41; + &quot;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&quot;&#41;;
     &#125;
    
     out.println&#40;&quot;&lt;/table&gt;&lt;/center&gt;&lt;/body&gt;&lt;/html&gt;&quot;&#41;;
     out.close&#40;&#41;;
    

    }

    public String getServletInfo() {
    return "The Catalog servlet adds books to the user’s " +
    “shopping cart and prints the catalog.”;

    }
    }[/code]

E agora a minha página JSP q eu converti…

[code]<%@ page import="java.io.IOException" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page import="java.util.Collection" %>
<%@ page import="java.util.Iterator" %>

<%@ page import="javax.servlet.RequestDispatcher" %>
<%@ page import="javax.servlet.ServletException" %>
<%@ page import="javax.servlet.http.HttpServlet" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@ page import="javax.servlet.http.HttpServletResponse" %>
<%@ page import="javax.servlet.http.HttpSession" %>

<%@ page import="cart.ShoppingCart" %>
<%@ page import="database.BookDB" %>
<%@ page import="database.BookDetails" %>

<% /**

  • This is a simple example of an HTTP Servlet. It responds to the GET
  • method of the HTTP protocol.
    **/

public class CatalogServlet extends HttpServlet {
private BookDB bookDB;

public void init&#40;&#41; throws ServletException &#123;
    bookDB =
        &#40;BookDB&#41;getServletContext&#40;&#41;.getAttribute&#40;&quot;examples.bookstore.database&quot;&#41;;

    if &#40;bookDB == null&#41; &#123;
    		bookDB = BookDB.instance&#40;&#41;;
              getServletContext&#40;&#41;.setAttribute&#40;&quot;examples.bookstore.database&quot;, bookDB&#41;;
    &#125;		
&#125;

  public void destroy&#40;&#41; &#123;
        bookDB = null;
  &#125;
  

public void doGet &#40;HttpServletRequest request, HttpServletResponse response&#41; throws ServletException, IOException &#123;
    // Get the user's session and shopping cart
   HttpSession session = request.getSession&#40;true&#41;;
   ShoppingCart cart = &#40;ShoppingCart&#41;session.getAttribute&#40;&quot;examples.bookstore.cart&quot;&#41;;

    // If the user has no cart, create a new one
    if &#40;cart == null&#41; &#123;
        cart = new ShoppingCart&#40;&#41;;
        session.setAttribute&#40;&quot;examples.bookstore.cart&quot;, cart&#41;;
    &#125;

	// set content-type header before accessing the Writer
    response.setContentType&#40;&quot;text/html&quot;&#41;; %&gt;

	&lt;html&gt;
	      &lt;head&gt;&lt;title&gt; Book Catalog &lt;/title&gt;&lt;/head&gt;

<% // Get the dispatcher; it gets the banner to the user
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher("/banner");

        if &#40;dispatcher != null&#41;
           dispatcher.include&#40;request, response&#41;;                                
                                   
 //Information on the books is from the database through its front end

    // Additions to the shopping cart
    String bookId = request.getParameter&#40;&quot;Add&quot;&#41;;
    if &#40;bookId != null&#41; &#123;
        BookDetails book = bookDB.getBookDetails&#40;bookId&#41;;
        cart.add&#40;bookId, book&#41;; %&gt;
    &lt;p&gt;
		&lt;h3&gt;
			&lt;font color=&quot;#ff0000&quot;&gt;You just added &lt;i&gt;&lt;%=book.getTitle&#40;&#41;%&gt;&lt;/i&gt; to your shopping cart.&lt;/font&gt;
		&lt;/h3&gt;
    &lt;%&#125;
    
    //Give the option of checking cart or checking out if cart not empty
    if &#40;cart.getNumberOfItems&#40;&#41; &gt; 0&#41; &#123; %&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;&lt;%=response.encodeURL&#40;&quot;/bookstore/showcart&quot;&#41;%&gt;&quot;&gt; Check Shopping Cart&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
	            &lt;a href=&quot;&lt;%=response.encodeURL&#40;&quot;/bookstore/cashier&quot;&#41;%&gt;&quot;&gt; Buy Your Books&lt;/a&gt;
	&lt;/p&gt;&lt;/strong&gt;
    &lt;%&#125;
    
    // Always prompt the user to buy more -- get and show the catalog %&gt;
    
    &lt;br&gt; &amp;nbsp;&lt;h3&gt;Please choose from our selections&#58;&lt;/h3&gt;
	&lt;center&gt; &lt;table&gt; 
	&lt;%  Collection c = bookDB.getBooks&#40;&#41;;
        Iterator i = c.iterator&#40;&#41;;
        while &#40;i.hasNext&#40;&#41;&#41; &#123;
              BookDetails book = &#40;BookDetails&#41;i.next&#40;&#41;;
              bookId = book.getBookId&#40;&#41;;
        //Print out info on each book in its own two rows %&gt;
	&lt;tr&gt;
		&lt;td bgcolor=&quot;#ffffaa&quot;&gt;
             &lt;a href=&quot;&lt;%=response.encodeURL&#40;&quot;/bookstore/bookdetails?bookId=&quot;+bookId&#41;%&gt;&quot;&gt; 
			 	&lt;strong&gt;&lt;%=book.getTitle&#40;&#41;%&gt;&amp;nbsp; &lt;/strong&gt;
			 &lt;/a&gt;
		&lt;/td&gt;
        &lt;td bgcolor=&quot;#ffffaa&quot; rowspan=2&gt;
                    &lt;%=Currency.format&#40;book.getPrice&#40;&#41;, request.getLocale&#40;&#41;&#41;%&gt;&amp;nbsp;
		&lt;/td&gt;
		&lt;td bgcolor=&quot;#ffffaa&quot; rowspan=2&gt;
			&lt;a href=&quot;&lt;%=response.encodeURL&#40;&quot;/bookstore/catalog?Add=&quot;+bookId&#41;%&gt;&quot;&gt; &amp;nbsp; Add to Cart &amp;nbsp;
			&lt;/a&gt;
		&lt;/td&gt;
	&lt;/tr&gt;
    &lt;tr&gt;
		&lt;td bgcolor=&quot;#ffffff&quot;&gt;
			&amp;nbsp; &amp;nbsp; by &lt;em&gt;&lt;%=book.getFirstName&#40;&#41;%&gt; &lt;%=book.getSurname&#40;&#41;%&gt;&lt;/em&gt;
		&lt;/td&gt;
	&lt;/tr&gt;
	&lt;%&#125;%&gt;
    &lt;/table&gt;&lt;/center&gt;
	&lt;/body&gt;
&lt;/html&gt;
&lt;%  out.close&#40;&#41;;
 &#125;
    public String getServletInfo&#40;&#41; &#123;
    	return &quot;The Catalog servlet adds books to the user's shopping cart and prints the catalog.&quot;;
    &#125;

}%>[/code]

Programo em ASP e sei q horrível este tipo de perguntas mas peço a compreensão de todos pois ainda estou mt crú na linguagem. Eis abaixo os erros de compilação:

[quote]An error occurred at line: 17 in the jsp file: /CatalogServlet.jsp

Generated servlet error:
[javac] Compiling 1 source file

D:DesenvolvimentoProjetos - JAVAookstoreworkorgapachejspCatalogServlet_jsp.java:76: illegal start of expression
public class CatalogServlet extends HttpServlet {
^

An error occurred at line: 17 in the jsp file: /CatalogServlet.jsp

Generated servlet error:
D:DesenvolvimentoProjetos - JAVAookstoreworkorgapachejspCatalogServlet_jsp.java:76: ‘;’ expected
public class CatalogServlet extends HttpServlet {
^
2 errors
[/quote]

Desde de já, agradeço a ajuda de todos que puderem…
[]'s
Beto.

Voce nao pode criar classes Java em arquivos .jsp. Elas precisam necessariamente estar em arquivos .java. No teu jsp vc somente acessa os objetos.

Rafael

Você deve ter em mente que nos JSPs que você cria , deve ter o mínimo de código possível, transcrever de Servlets para Jsp não seria o mais correto… Procure saber mais sobre o uso de Beans em Jsp …

Tente dividir sua aplicação em quantas camadas possíveis!
Podendo … utilize Servlets, com JSP e tente criar uma classe JAVA, que armazene a lógica da sua aplicação!..

Com o uso de Beans você pode usar uma classe Java no seu JSP, uma vez que no Jsp não pode compilar uma classe, e com uma referencia a esse objeto você realiza as diversas operacoes necessarias para tornar a página JSP com um dinamismo, e sem aquela mistura completa de código…

Ps.: Se você é novo na plataforma, procure primeiro entender como funciona cada coisa… JSP, Servlet, Beans … para depois usar :wink:
Teste alguns codigos mais simples … em cada camada … :wink:
assim as duvidas se concentram em um só foco!

Ps2.: Não pense mais como ASP… em Java … você pode organizar melhor sua aplicação web !!! :wink:

Amigo, sugiro voce estudar um pouco mais sobre os JSPs…

No meu site, tem um tutorial legal de WEB em J2EE para iniciantes…

http://www.oziel.com.br/artigos.html

Bom estudo…

[quote=“fmartins”]Você deve ter em mente que nos JSPs que você cria , deve ter o mínimo de código possível, transcrever de Servlets para Jsp não seria o mais correto… Procure saber mais sobre o uso de Beans em Jsp …

Tente dividir sua aplicação em quantas camadas possíveis!
Podendo … utilize Servlets, com JSP e tente criar uma classe JAVA, que armazene a lógica da sua aplicação!..

Com o uso de Beans você pode usar uma classe Java no seu JSP, uma vez que no Jsp não pode compilar uma classe, e com uma referencia a esse objeto você realiza as diversas operacoes necessarias para tornar a página JSP com um dinamismo, e sem aquela mistura completa de código…

Ps.: Se você é novo na plataforma, procure primeiro entender como funciona cada coisa… JSP, Servlet, Beans … para depois usar :wink:
Teste alguns codigos mais simples … em cada camada … :wink:
assim as duvidas se concentram em um só foco!

Ps2.: Não pense mais como ASP… em Java … você pode organizar melhor sua aplicação web !!! :wink:[/quote]

Gente, eu até conheço as BEANS e objetivo do JSP que seria a view de uma aplicação. Objetivo este, q seguiria o modelo MVC-2. O meu problema que tenho q trabalhar arduamente em curto prazo neste projeto com servlets pois se eu pudesse trabalhar em codigos menores eu teria melhor rendimento, mas o q faz eu estar igual um maluko nesta bagunca de codigos se chama a necessidade q passo agora…

De qq maneira agradeço a tds vcs q ja estao tentando me ajudar mas insistindo na minha duvida…

Se eu necessito tirar tda visao do servlet, ou seja, tds os prints… eu colocaria um dispatcher qd chegar nesses prints?

como faria isto neste servlet? Se for possível, me deem exemplos se baseando nesse servlet… Acho q se eu conseguir implementar um, irei conseguir implementar tds os outros…

[code]import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Iterator;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import cart.ShoppingCart;
import database.BookDB;
import database.BookDetails;

/**

  • This is a simple example of an HTTP Servlet. It responds to the GET

  • method of the HTTP protocol.
    */
    public class CatalogServlet extends HttpServlet {
    private BookDB bookDB;

    public void init() throws ServletException {
    bookDB =
    (BookDB)getServletContext().getAttribute("examples.bookstore.database");

     if &#40;bookDB == null&#41; &#123;
     		bookDB = BookDB.instance&#40;&#41;;
               getServletContext&#40;&#41;.setAttribute&#40;&quot;examples.bookstore.database&quot;, bookDB&#41;;
     &#125;		
    

    }

    public void destroy() {
    bookDB = null;
    }

    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.getAttribute(“examples.bookstore.cart”);

     // If the user has no cart, create a new one
     if &#40;cart == null&#41; &#123;
         cart = new ShoppingCart&#40;&#41;;
         session.setAttribute&#40;&quot;examples.bookstore.cart&quot;, cart&#41;;
     &#125;
    

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

//FARIA A REQUISICAO REQUEST.DISPATCHER AQUI??? COMO??

// then write the data of the response
out.println("<html>" +
"<head><title> Book Catalog </title></head>");

    // Get the dispatcher; it gets the banner to the user
    RequestDispatcher dispatcher =
           getServletContext&#40;&#41;.getRequestDispatcher&#40;
              &quot;/banner&quot;&#41;;
                                   
        if &#40;dispatcher != null&#41;
           dispatcher.include&#40;request, response&#41;;
                                   
                                   
    //Information on the books is from the database through its front end

    // Additions to the shopping cart
    String bookId = request.getParameter&#40;&quot;Add&quot;&#41;;
    if &#40;bookId != null&#41; &#123;
        BookDetails book = bookDB.getBookDetails&#40;bookId&#41;;
        cart.add&#40;bookId, book&#41;;
        out.println&#40;&quot;&lt;p&gt;&lt;h3&gt;&quot; +
                    &quot;&lt;font color=&quot;#ff0000&quot;&gt;&quot; +
                    &quot;You just added &lt;i&gt;&quot; + book.getTitle&#40;&#41; + &quot;&lt;/i&gt; &quot;+
                    &quot;to your shopping cart.&lt;/font&gt;&lt;/h3&gt;&quot;&#41;;
    &#125;
    
    //Give the option of checking cart or checking out if cart not empty
    if &#40;cart.getNumberOfItems&#40;&#41; &gt; 0&#41; &#123;
        out.println&#40;&quot;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;&quot; +
                    response.encodeURL&#40;&quot;/bookstore/showcart&quot;&#41; +
                    &quot;&quot;&gt; Check Shopping Cart&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot; +
                    &quot;&lt;a href=&quot;&quot; +
                    response.encodeURL&#40;&quot;/bookstore/cashier&quot;&#41; +
                    &quot;&quot;&gt; Buy Your Books&lt;/a&gt;&quot; +
                    &quot;&lt;/p&gt;&lt;/strong&gt;&quot;&#41;;
    &#125;

    // Always prompt the user to buy more -- get and show the catalog
    out.println&#40;&quot;&lt;br&gt; &amp;nbsp;&quot; +
                &quot;&lt;h3&gt;Please choose from our selections&#58;&lt;/h3&gt;&quot; +
                &quot;&lt;center&gt; &lt;table&gt;&quot;&#41;;
        
        Collection c = bookDB.getBooks&#40;&#41;;
        Iterator i = c.iterator&#40;&#41;;
        while &#40;i.hasNext&#40;&#41;&#41; &#123;
              BookDetails book = &#40;BookDetails&#41;i.next&#40;&#41;;
              bookId = book.getBookId&#40;&#41;;
        //Print out info on each book in its own two rows
        out.println&#40;&quot;&lt;tr&gt;&quot; +

                    &quot;&lt;td bgcolor=&quot;#ffffaa&quot;&gt;&quot; +
                    &quot;&lt;a href=&quot;&quot; +
                    response.encodeURL&#40;&quot;/bookstore/bookdetails?bookId=&quot; + bookId&#41; +
                    &quot;&quot;&gt; &lt;strong&gt;&quot; + book.getTitle&#40;&#41; +
                    &quot;&amp;nbsp; &lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&quot; +

                    &quot;&lt;td bgcolor=&quot;#ffffaa&quot; rowspan=2&gt;&quot; +
                    Currency.format&#40;book.getPrice&#40;&#41;, request.getLocale&#40;&#41;&#41; +
                    &quot;&amp;nbsp; &lt;/td&gt;&quot; +

                    &quot;&lt;td bgcolor=&quot;#ffffaa&quot; rowspan=2&gt;&quot; +
                    &quot;&lt;a href=&quot;&quot; +
                    response.encodeURL&#40;&quot;/bookstore/catalog?Add=&quot; + bookId&#41;
                    + &quot;&quot;&gt; &amp;nbsp; Add to Cart &amp;nbsp;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&quot; +

                    &quot;&lt;tr&gt;&quot; +
                    &quot;&lt;td bgcolor=&quot;#ffffff&quot;&gt;&quot; +
                    &quot;&amp;nbsp; &amp;nbsp; by &lt;em&gt; &quot; + book.getFirstName&#40;&#41; +
                    &quot; &quot; + book.getSurname&#40;&#41; + &quot;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&quot;&#41;;
    &#125;

    out.println&#40;&quot;&lt;/table&gt;&lt;/center&gt;&lt;/body&gt;&lt;/html&gt;&quot;&#41;;
    out.close&#40;&#41;;
&#125;

public String getServletInfo&#40;&#41; &#123;
    return &quot;The Catalog servlet adds books to the user's &quot; +
           &quot;shopping cart and prints the catalog.&quot;;

&#125;

}[/code]

E O JSP SERIA…

[code]<%@ page import="java.io.IOException" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page import="java.util.Collection" %>
<%@ page import="java.util.Iterator" %>

<%@ page import="javax.servlet.RequestDispatcher" %>
<%@ page import="javax.servlet.ServletException" %>
<%@ page import="javax.servlet.http.HttpServlet" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@ page import="javax.servlet.http.HttpServletResponse" %>
<%@ page import="javax.servlet.http.HttpSession" %>

<%@ page import="cart.ShoppingCart" %>
<%@ page import="database.BookDB" %>
<%@ page import="database.BookDetails" %>

	&lt;html&gt;
	      &lt;head&gt;&lt;title&gt; Book Catalog &lt;/title&gt;&lt;/head&gt;
	      
&lt;% // Get the dispatcher; it gets the banner to the user
     RequestDispatcher dispatcher =
           getServletContext&#40;&#41;.getRequestDispatcher&#40;&quot;/banner&quot;&#41;;
                                   
        if &#40;dispatcher != null&#41;
           dispatcher.include&#40;request, response&#41;;                                
                                   
   //Information on the books is from the database through its front end

   // Additions to the shopping cart
   String bookId = request.getParameter&#40;&quot;Add&quot;&#41;;
   if &#40;bookId != null&#41; &#123;
       BookDetails book = bookDB.getBookDetails&#40;bookId&#41;;
       cart.add&#40;bookId, book&#41;; %&gt;
    &lt;p&gt;
		&lt;h3&gt;
			&lt;font color=&quot;#ff0000&quot;&gt;You just added &lt;i&gt;&lt;%=book.getTitle&#40;&#41;%&gt;&lt;/i&gt; to your shopping cart.&lt;/font&gt;
		&lt;/h3&gt;
    &lt;%&#125;
    
    //Give the option of checking cart or checking out if cart not empty
    if &#40;cart.getNumberOfItems&#40;&#41; &gt; 0&#41; &#123; %&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;&lt;%=response.encodeURL&#40;&quot;/bookstore/showcart&quot;&#41;%&gt;&quot;&gt; Check Shopping Cart&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
	            &lt;a href=&quot;&lt;%=response.encodeURL&#40;&quot;/bookstore/cashier&quot;&#41;%&gt;&quot;&gt; Buy Your Books&lt;/a&gt;
	&lt;/p&gt;&lt;/strong&gt;
    &lt;%&#125;
    
    // Always prompt the user to buy more -- get and show the catalog %&gt;
    
    &lt;br&gt; &amp;nbsp;&lt;h3&gt;Please choose from our selections&#58;&lt;/h3&gt;
	&lt;center&gt; &lt;table&gt; 
	&lt;%  Collection c = bookDB.getBooks&#40;&#41;;
        Iterator i = c.iterator&#40;&#41;;
        while &#40;i.hasNext&#40;&#41;&#41; &#123;
              BookDetails book = &#40;BookDetails&#41;i.next&#40;&#41;;
              bookId = book.getBookId&#40;&#41;;
        //Print out info on each book in its own two rows %&gt;
	&lt;tr&gt;
		&lt;td bgcolor=&quot;#ffffaa&quot;&gt;
             &lt;a href=&quot;&lt;%=response.encodeURL&#40;&quot;/bookstore/bookdetails?bookId=&quot;+bookId&#41;%&gt;&quot;&gt; 
			 	&lt;strong&gt;&lt;%=book.getTitle&#40;&#41;%&gt;&amp;nbsp; &lt;/strong&gt;
			 &lt;/a&gt;
		&lt;/td&gt;
        &lt;td bgcolor=&quot;#ffffaa&quot; rowspan=2&gt;
                    &lt;%=Currency.format&#40;book.getPrice&#40;&#41;, request.getLocale&#40;&#41;&#41;%&gt;&amp;nbsp;
		&lt;/td&gt;
		&lt;td bgcolor=&quot;#ffffaa&quot; rowspan=2&gt;
			&lt;a href=&quot;&lt;%=response.encodeURL&#40;&quot;/bookstore/catalog?Add=&quot;+bookId&#41;%&gt;&quot;&gt; &amp;nbsp; Add to Cart &amp;nbsp;
			&lt;/a&gt;
		&lt;/td&gt;
	&lt;/tr&gt;
    &lt;tr&gt;
		&lt;td bgcolor=&quot;#ffffff&quot;&gt;
			&amp;nbsp; &amp;nbsp; by &lt;em&gt;&lt;%=book.getFirstName&#40;&#41;%&gt; &lt;%=book.getSurname&#40;&#41;%&gt;&lt;/em&gt;
		&lt;/td&gt;
	&lt;/tr&gt;
	&lt;%&#125;%&gt;
    &lt;/table&gt;&lt;/center&gt;
	&lt;/body&gt;
&lt;/html&gt;
&lt;%  out.close&#40;&#41;;
 
    public String getServletInfo&#40;&#41; &#123;
    	return &quot;The Catalog servlet adds books to the user's shopping cart and prints the catalog.&quot;;
    &#125; %&gt;[/code]

Eu queria saber um exemplo pratico de implementar tda essa teoria de MVC, BEANS e Servlets…
Eu sei o q é cada coisa… mas nunca vi nada implementado como nessa transformação q estou tentando fazer…