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:
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.";
}
}
<%@ 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.";
}
}%>
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:
An error occurred at line: 17 in the jsp file: /CatalogServlet.jspGenerated servlet error:
[javac] Compiling 1 source fileD: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
Desde de já, agradeço a ajuda de todos que puderem...
[]'s
Beto.
