【Java开源代码栏目提醒】:以下是网学会员为您推荐的Java开源代码-CheckOutServlet.java,希望本篇文章对您学习有所帮助。
package ejava.servletsch32;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import java.util.Properties;
import java.util.Date;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Vector;
import java.util.StringTokenizer;
import java.util.Enumeration;
import javax.servlet.RequestDispatcher;
/**
* This servlet initially (i.e. doGet()) displays the cart information.
* During this process, if the customer is not logged in,
* it displays the login screen. If the customer is logged in and cart
* is empty, it displays the empty cart info.
* If both criterion are met, it displys the cart information.
*/
public class CheckOutServlet extends HttpServlet
{
public static final String SERVLET_NAME="/CheckOutServlet";
/**
* Called when a GET request received by the Servlet
*/
public void doGet(HttpServletRequest servletRequest,
HttpServletResponse servletResponse)
throws ServletException, IOException
{
// Get stored customer session information
Customer customer = getCustomerFromSession(servletRequest);
// If no stored customer info, redirect to registration screen
if(customer == null){
redirectRegistrationScreen(servletRequest, servletResponse);
}
// Get stored shopping cart information
ShoppingCart cart = getShoppingCartFromSession(servletRequest);
// If no stored cart info, redirect to browse screen
if(cart == null){
redirectBrowseScreen(servletRequest, servletResponse);
}
else{ // Else display the cart info and request card info
displayTheCartAndTakeUserCardInformation(servletRequest,
servletResponse, cart);
}
}
private Customer getCustomerFromSession(
HttpServletRequest servletRequest)
{
// Retrieve session object and get Customer
HttpSession session = servletRequest.getSession();
return (Customer)session.getAttribute(Customer.CUSTOMER_OBJECT);
}
private ShoppingCart getShoppingCartFromSession(
HttpServletRequest servletRequest)
{
// Retrieve session object and get ShoppingCart
HttpSession session = servletRequest.getSession();
return (ShoppingCart)
session.getAttribute(ShoppingCart.SHOPPING_CART_OBJECT);
}
/**
* Redirect the customer to the registration screen
*/
private void redirectRegistrationScreen(HttpServletRequest servletRequest,
HttpServletResponse servletResponse) throws ServletException, IOException
{
// First retrieve servlet context handle
ServletContext ctx = getServletContext();
// Obtain dispatcher handle to registration.html
RequestDispatcher dispatcher =
ctx.getRequestDispatcher(
RegistrationServlet.REGISTRATION_HTML);
// Forward to registration.html
if(dispatcher != null){
dispatcher.forward(servletRequest, servletResponse);
}
}
/**
* Redirect user to item browsing screen
*/
private void redirectBrowseScreen(HttpServletRequest servletRequest,
HttpServletResponse servletResponse) throws ServletException, IOException
{
// Obtain dispatcher
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher(
BrowseShirtsServlet.SERVLET_NAME);
if(dispatcher != null){
dispatcher.forward(servletRequest, servletResponse);
}
}
/**
* Display the cart information
*/
private void displayTheCartAndTakeUserCardInformation(
HttpServletRequest servletRequest,
HttpServletResponse servletResponse, ShoppingCart cart)
throws ServletException, IOException
{
// Create initial document type and headers
PrintWriter printWriter =
ServletsHelper.createInitialDocumentResponse(servletResponse);
// Write top half of screen
ServletsHelper.writePageTopArea(printWriter);
// Divide the ramaining area into two Table columns.
printWriter.println("<TABLE BORDER=0 COLS=2 WIDTH=\"100%\" >");
printWriter.println(" <TR> ");
String serverInfo = ServletsHelper.getServerInfo(servletRequest);
// Write out left hand side (buttons)
ServletsHelper.writePageLeftArea(printWriter, serverInfo);
// Write out the shopping cart as an HTML table in the center
printWriter.println("<TD VALIGN=TOP>" );
printWriter.println(cart.getCartAsHTMLTable());
printWriter.println(" </TD> ");
// close the TABLE
printWriter.println("</TR>");
printWriter.println("</TABLE> <br> ");
ServletsHelper.createClosingDocumentResponse(printWriter);
}
}
上一篇:
checkModify_jsp.java
下一篇:
学会忘记那个不值得你爱的人