Could anybody advise me how to convert a servlet file to a JSP file? For example: I have a pretty big servlet file listed below which handles "session tracking", I don't know where to start for conversion. I would appreciate your help.
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; import java.text.NumberFormat; /** Shows all items currently in ShoppingCart. Clients * have their own session that keeps track of which * ShoppingCart is theirs. If this is their first visit * to the order page, a new shopping cart is created. * Usually, people come to this page by way of a page * showing catalog entries, so this page adds an additional * item to the shopping cart. But users can also * bookmark this page, access it from their history list, * or be sent back to it by clicking on the "Update Order" * button after changing the number of items ordered. * <P> */ public class OrderPage extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(true); ShoppingCart cart; synchronized(session) { cart = (ShoppingCart)session.getValue("shoppingCart"); // New visitors get a fresh shopping cart. // Previous visitors keep using their existing cart. if (cart == null) { cart = new ShoppingCart(); session.putValue("shoppingCart", cart); } String itemID = request.getParameter("itemID"); if (itemID != null) { String numItemsString = request.getParameter("numItems"); if (numItemsString == null) { // If request specified an ID but no number, // then customers came here via an "Add Item to Cart" // button on a catalog page. cart.addItem(itemID); } else { // If request specified an ID and number, then // customers came here via an "Update Order" button // after changing the number of items in order. // Note that specifying a number of 0 results // in item being deleted from cart. int numItems; try { numItems = Integer.parseInt(numItemsString); } catch(NumberFormatException nfe) { numItems = 1; } cart.setNumOrdered(itemID, numItems); } } } // Whether or not the customer changed the order, show // order status. response.setContentType("text/html"); PrintWriter out = response.getWriter(); String title = "Status of Your Order"; out.println(ServletUtilities.headWithTitle(title) + "<BODY BGCOLOR=\"#FDF5E6\" ALINK=\"#52B552\" VLINK=\"#299C39\" LINK=\"#218429\">\n" + "<H1 ALIGN=\"CENTER\">" + title + "</H1>"); synchronized(session) { Vector itemsOrdered = cart.getItemsOrdered(); if (itemsOrdered.size() == 0) { out.println("<H2><I>No items in your cart...</I></H2>"); } else { // If there is at least one item in cart, show table // of items ordered. out.println ("<TABLE BORDER=1 ALIGN=\"CENTER\">\n" + "<TR BGCOLOR=\"#299C39\">\n" + " <TH>Item ID<TH>Description\n" + " <TH>Unit Cost<TH>Number<TH>Total Cost"); ItemOrder order;
// Rounds to two decimal places, inserts dollar // sign (or other currency symbol), etc., as // appropriate in current Locale. NumberFormat formatter = NumberFormat.getCurrencyInstance(); String formURL = "OrderPage"; // Pass URLs that reference own site through encodeURL. formURL = response.encodeURL(formURL);
// For each entry in shopping cart, make // table row showing ID, description, per-item // cost, number ordered, and total cost. // Put number ordered in textfield that user // can change, with "Update Order" button next // to it, which resubmits to this same page // but specifying a different number of items. for(int i=0; i<itemsOrdered.size(); i++) { order = (ItemOrder)itemsOrdered.elementAt(i); out.println ("<TR>\n" + " <TD>" + order.getItemID() + "\n" + " <TD>" + order.getShortDescription() + "\n" + " <TD>" + formatter.format(order.getUnitCost()) + "\n" + " <TD>" + "<FORM ACTION=\"" + formURL + "\">\n" + "<INPUT TYPE=\"HIDDEN\" NAME=\"itemID\"\n" + " VALUE=\"" + order.getItemID() + "\">\n" + "<INPUT TYPE=\"TEXT\" NAME=\"numItems\"\n" + " SIZE=3 VALUE=\"" + order.getNumItems() + "\">\n" + "<SMALL>\n" + "<INPUT TYPE=\"SUBMIT\"\n "+ " VALUE=\"Update Order\">\n" + "</SMALL>\n" + "</FORM>\n" + " <TD>" + formatter.format(order.getTotalCost())); } String checkoutURL = response.encodeURL("Checkout"); // "Proceed to Checkout" button below table out.println ("</TABLE>\n" + "<FORM ACTION=\"" + checkoutURL + "\">\n" + "<BIG><CENTER>\n" + "<INPUT TYPE=\"SUBMIT\"\n" + " VALUE=\"Proceed to Checkout\">\n" + "</CENTER></BIG></FORM>"); } out.println("<CENTER><B><FONT SIZE=\"3\"><A href=\"" + response.encodeUrl("HomePage") + "\">Back to Home Page</A></FONT></B></CENTER>"); out.println("</BODY></HTML>"); } } /** POST and GET requests handled identically. */
<% import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; import java.text.NumberFormat; %> <!--/** Shows all items currently in ShoppingCart. Clients * have their own session that keeps track of which * ShoppingCart is theirs. If this is their first visit * to the order page, a new shopping cart is created. * Usually, people come to this page by way of a page * showing catalog entries, so this page adds an additional * item to the shopping cart. But users can also * bookmark this page, access it from their history list, * or be sent back to it by clicking on the "Update Order" * button after changing the number of items ordered. * <P> */ --> <%! ShoppingCart cart; %> <5 synchronized(session) { cart = (ShoppingCart)session.getValue("shoppingCart"); // New visitors get a fresh shopping cart. // Previous visitors keep using their existing cart. if (cart == null) { cart = new ShoppingCart(); session.putValue("shoppingCart", cart); } String itemID = request.getParameter("itemID"); if (itemID != null) { String numItemsString = request.getParameter("numItems"); if (numItemsString == null) { // If request specified an ID but no number, // then customers came here via an "Add Item to Cart" // button on a catalog page. cart.addItem(itemID); } else { // If request specified an ID and number, then // customers came here via an "Update Order" button // after changing the number of items in order. // Note that specifying a number of 0 results // in item being deleted from cart. int numItems; try { numItems = Integer.parseInt(numItemsString); } catch(NumberFormatException nfe) { numItems = 1; } cart.setNumOrdered(itemID, numItems); } } } // Whether or not the customer changed the order, show // order status. String title = "Status of Your Order";%> <BODY><%=title%> <% Vector itemsOrdered = cart.getItemsOrdered(); if (itemsOrdered.size() == 0) {%> <H2><I>No items in your cart...</I></H2> <% } else {%> // If there is at least one item in cart, show table // of items ordered. <TABLE BORDER=1 ALIGN=\CENTER\> <TR BGCOLOR=\"#299C39\> <TH>ItemID<TH>Description\n <TH>Unit Cost<TH>Number<TH>Total Cost ItemOrder order;
<!-- Rounds to two decimal places, inserts dollar // sign (or other currency symbol), etc., as // appropriate in current Locale. --> <% NumberFormat formatter = NumberFormat.getCurrencyInstance(); String formURL = "OrderPage"; // Pass URLs that reference own site through encodeURL. formURL = response.encodeURL(formURL);
// For each entry in shopping cart, make // table row showing ID, description, per-item // cost, number ordered, and total cost. // Put number ordered in textfield that user // can change, with "Update Order" button next // to it, which resubmits to this same page // but specifying a different number of items. for(int i=0; i<itemsOrdered.size(); i++) { order = (ItemOrder)itemsOrdered.elementAt(i);%> <TR> <TD><%=order.getItemID() %><TD> <%=order.getShortDescription()%><TD> <% formatter.format(order.getUnitCost()) + "\n" +%> <TD> THIS WAY U CAN DO THIS. SERVLET REQ,RES JSP REQUEST,RESPONSE
JiaPei Jen
Ranch Hand
Joined: Nov 19, 2000
Posts: 1309
posted
0
Thanks a lot, James, for responding to my post. I am going to give a try. Lots of appreciation.