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().getRequestDispatcher( "/banner"); if (dispatcher != null) dispatcher.include(request, response); //Information on the books is from the database through its front end // Additions to the shopping cart String bookId = request.getParameter("Add"); if (bookId != null) { BookDetails book = bookDB.getBookDetails(bookId); cart.add(bookId, book); out.println("<p><h3>" + "<font color="#ff0000">" + "You just added <i>" + book.getTitle() + "</i> "+ "to your shopping cart.</font></h3>"); } //Give the option of checking cart or checking out if cart not empty if (cart.getNumberOfItems() > 0) { out.println("<p><strong><a href="" + response.encodeURL("/bookstore/showcart") + ""> Check Shopping Cart</a>&nbsp;&nbsp;&nbsp;" + "<a href="" + response.encodeURL("/bookstore/cashier") + ""> Buy Your Books</a>" + "</p></strong>"); } // Always prompt the user to buy more -- get and show the catalog out.println("<br> &nbsp;" + "<h3>Please choose from our selections:</h3>" + "<center> <table>"); Collection c = bookDB.getBooks(); Iterator i = c.iterator(); while (i.hasNext()) { BookDetails book = (BookDetails)i.next(); bookId = book.getBookId(); //Print out info on each book in its own two rows out.println("<tr>" + "<td bgcolor="#ffffaa">" + "<a href="" + response.encodeURL("/bookstore/bookdetails?bookId=" + bookId) + ""> <strong>" + book.getTitle() + "&nbsp; </strong></a></td>" + "<td bgcolor="#ffffaa" rowspan=2>" + Currency.format(book.getPrice(), request.getLocale()) + "&nbsp; </td>" + "<td bgcolor="#ffffaa" rowspan=2>" + "<a href="" + response.encodeURL("/bookstore/catalog?Add=" + bookId) + ""> &nbsp; Add to Cart &nbsp;</a></td></tr>" + "<tr>" + "<td bgcolor="#ffffff">" + "&nbsp; &nbsp; by <em> " + book.getFirstName() + " " + book.getSurname() + "</em></td></tr>"); } out.println("</table></center></body></html>"); out.close();
}
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() 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"); %>
<html>
<head><title> Book Catalog </title></head>
<% // Get the dispatcher; it gets the banner to the user
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher("/banner");
if (dispatcher != null)
dispatcher.include(request, response);
//Information on the books is from the database through its front end
// Additions to the shopping cart
String bookId = request.getParameter("Add");
if (bookId != null) {
BookDetails book = bookDB.getBookDetails(bookId);
cart.add(bookId, book); %>
<p>
<h3>
<font color="#ff0000">You just added <i><%=book.getTitle()%></i> to your shopping cart.</font>
</h3>
<%}
//Give the option of checking cart or checking out if cart not empty
if (cart.getNumberOfItems() > 0) { %>
<p><strong><a href="<%=response.encodeURL("/bookstore/showcart")%>"> Check Shopping Cart</a>&nbsp;&nbsp;&nbsp;
<a href="<%=response.encodeURL("/bookstore/cashier")%>"> Buy Your Books</a>
</p></strong>
<%}
// Always prompt the user to buy more -- get and show the catalog %>
<br> &nbsp;<h3>Please choose from our selections:</h3>
<center> <table>
<% Collection c = bookDB.getBooks();
Iterator i = c.iterator();
while (i.hasNext()) {
BookDetails book = (BookDetails)i.next();
bookId = book.getBookId();
//Print out info on each book in its own two rows %>
<tr>
<td bgcolor="#ffffaa">
<a href="<%=response.encodeURL("/bookstore/bookdetails?bookId="+bookId)%>">
<strong><%=book.getTitle()%>&nbsp; </strong>
</a>
</td>
<td bgcolor="#ffffaa" rowspan=2>
<%=Currency.format(book.getPrice(), request.getLocale())%>&nbsp;
</td>
<td bgcolor="#ffffaa" rowspan=2>
<a href="<%=response.encodeURL("/bookstore/catalog?Add="+bookId)%>"> &nbsp; Add to Cart &nbsp;
</a>
</td>
</tr>
<tr>
<td bgcolor="#ffffff">
&nbsp; &nbsp; by <em><%=book.getFirstName()%> <%=book.getSurname()%></em>
</td>
</tr>
<%}%>
</table></center>
</body>
</html>
<% out.close();
}
public String getServletInfo() {
return "The Catalog servlet adds books to the user's shopping cart and prints the catalog.";
}
}%>[/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.