orderfilter.java

来自「J2EE导学」· Java 代码 · 共 100 行

JAVA
100
字号
/* * * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved. *  * This software is the proprietary information of Sun Microsystems, Inc.   * Use is subject to license terms. *  */package filters;import java.io.IOException;import java.io.PrintWriter;import java.io.StringWriter;import java.sql.Timestamp;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import database.BookDetails;import cart.*;import java.util.*;import util.*;public final class OrderFilter implements Filter {    private FilterConfig filterConfig = null;      public void doFilter(ServletRequest request, ServletResponse response,                               FilterChain chain) throws IOException, ServletException {            if (filterConfig == null)               return;            // Render the generic servlet request properties            StringWriter sw = new StringWriter();            PrintWriter writer = new PrintWriter(sw);            ServletContext context = filterConfig.getServletContext();            Counter counter = (Counter)context.getAttribute("orderCounter");            HttpServletRequest hsr = (HttpServletRequest)request;            HttpSession session = hsr.getSession();            ShoppingCart cart =               (ShoppingCart)session.getAttribute("cart");                 Currency c = new Currency();                 c.setLocale(request.getLocale());                 c.setAmount(cart.getTotal());            writer.println();            writer.println("=======================================================");            writer.println("The total number of orders is: " + counter.incCounter());            writer.println("This order Received at " +               (new Timestamp(System.currentTimeMillis())));            writer.println();            writer.print("Purchased by: " + request.getParameter("cardname"));            writer.println();            writer.print("Total: "  + c.getFormat());            writer.println();                                    int num = cart.getNumberOfItems();            if (num > 0) {                  Iterator i = cart.getItems().iterator();                  while (i.hasNext()) {                        ShoppingCartItem item = (ShoppingCartItem) i.next();                        BookDetails bookDetails = (BookDetails) item.getItem();                        writer.print("ISBN: "  + bookDetails.getBookId());                        writer.print("   Title: "  + bookDetails.getTitle());                        writer.print("   Quantity: " + item.getQuantity());                        writer.println();			                  }            }            writer.println("=======================================================");            // Log the resulting string            writer.flush();            context.log(sw.getBuffer().toString());            chain.doFilter(request, response);    }    public FilterConfig getFilterConfig() {            return (this.filterConfig);    }      public void setFilterConfig(FilterConfig filterConfig) {            this.filterConfig = filterConfig;      }    public String toString() {         if (filterConfig == null)               return ("OrderFilter()");         StringBuffer sb = new StringBuffer("OrderFilter(");         sb.append(filterConfig);         sb.append(")");         return (sb.toString());    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?