⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auctionservlet.java

📁 jdbc书
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package auction;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;
import javax.ejb.*;
import java.rmi.RemoteException;
import java.util.*;
import java.text.NumberFormat;
import bidder.*;
import registration.*;
import seller.*;
import pool.*;
import search.*;

public class AuctionServlet extends HttpServlet { 

    Context ctx=null;
    private String detailsTemplate;

    public void init(ServletConfig config) throws ServletException{
	super.init(config);
        try {
            ctx = getInitialContext();
        }catch (Exception e){
           System.err.println("failed to contact EJB server"+e);
	}
	try {
	    detailsTemplate=readFile(config.getInitParameter("detailstemplate"));
        } catch(IOException e) {
            System.err.println("Error in AuctionServlet <init>"+e);	
        }
    }

    public void service(HttpServletRequest request, 
                HttpServletResponse response) throws IOException {

        String cmd;
        response.setContentType("text/html");
        ServletOutputStream out = response.getOutputStream();
        if (ctx == null ) {
	   try {
               ctx = getInitialContext();
           }catch (Exception e){
               System.err.println("failed to contact EJB server"+e);
	   }
	}

        cmd=request.getParameter("action");     
        if(cmd !=null)  {
            if(cmd.equals("list")) {    
		 listAllItems(out);
            } 
            else if(cmd.equals("newlist")) {   
		 listAllNewItems(out);
            } 
            else if(cmd.equals("search")) {   
		 searchItems(out, request);
            } 
            else if(cmd.equals("close")) {
		 listClosingItems(out);
            }
            else if (cmd.equals("insert")) {
		 insertItem(out, request);
            }
            else if (cmd.equals("details")) {
		 itemDetails(out, request );
            }           
            else if (cmd.equals("bid")) {
		 itemBid(out, request) ;
            }
            else if (cmd.equals("register")) {
		 registerUser(out, request);
	    }
        }
        else {
           // no command set
	   setTitle(out, "error");
        }
	setFooter(out);
        out.flush();
    }

  
    static private void addLine(String message, ServletOutputStream out) 
             throws IOException {
        if(message !=null) {
           out.println("<BR>"+message);
        }
    }

    static public Context getInitialContext() throws Exception {
        Properties p = new Properties();
        p.put(Context.INITIAL_CONTEXT_FACTORY,
          "weblogic.jndi.TengahInitialContextFactory");
        return new InitialContext(p);
    }

    private void listAllItems(ServletOutputStream out) throws IOException{

        String text = "Click Item number for description and to place bid.";
	setTitle(out, "Auction results");
        try {
            addLine("<BR>"+text, out);
            BidderHome bhome=(BidderHome) ctx.lookup("bidder");
            Bidder bid=bhome.create();
            Enumeration enum=(Enumeration)bid.getItemList();

            if(enum != null) {
                displayitems(enum, out);
                addLine("", out);
            }
        } catch (Exception e) {
             addLine("AuctionServlet List All Items error",out);
             System.out.println("AuctionServlet <list>:"+e);
        }
        out.flush();
    }

    private void listAllNewItems(ServletOutputStream out) throws IOException {

        setTitle(out, "New Auction Items");
        try {
            addLine("", out);
            String text = "Click Item number for description and to place bid.";
            addLine(text, out);
            BidderHome bhome=(BidderHome) ctx.lookup("bidder");
            Bidder bid=bhome.create();
            Enumeration enum=(Enumeration)bid.getNewItemList();

            if(enum != null) {
                displayitems(enum, out);
                addLine("", out);
            }
         } catch (Exception e) {
             addLine("AuctionServlet List New Items error", out);
             System.out.println("AuctionServlet <newlist>:"+e);
         }
         out.flush();
    }

    private void searchItems(ServletOutputStream out, 
                  HttpServletRequest request) throws IOException {

        String searchString=request.getParameter("searchString");
        String text = "Click Item number for description and to place bid.";
        setTitle(out, "Search Results");
        try {
            addLine("<BR>"+text, out);
            AuctionItemHome ahome = (AuctionItemHome) ctx.lookup("auctionitems");
            SearchHome shome=(SearchHome) ctx.lookup("search");
            Search search=shome.create();
            Enumeration enum=(Enumeration)
                              search.getMatchingItemsList(searchString);

            addLine("<TABLE BORDER=1 CELLPADDING=1 CELLSPACING=0><TR><TH>Item</TH><TH>Summary</TH><TH>Current High bid</TH><TH>Number of bids</TH><TH>Closing Date</TH></TR>", out);
            while ((enum != null) && (enum.hasMoreElements())) {
                while(enum.hasMoreElements()) {
                    AuctionItem ai=ahome.findByPrimaryKey((AuctionItemPK)enum.nextElement());
                    displayLineItem(ai, out);
                }
            }
            addLine("</TABLE>", out);
        } catch (Exception e) {
             addLine("AuctionServlet Search Items error", out);
             System.out.println("AuctionServlet <searchItems>:"+e);
        }
        out.flush();
    } 

    private void listClosingItems(ServletOutputStream out)  throws IOException{
        setTitle(out, "Items Due to Close Today");
        String text = "Click Item number for description and to place bid.";
        setTitle(out, "Items Due to Close Today");
        try {
            addLine("<BR>"+text, out);
            BidderHome bhome=(BidderHome) ctx.lookup("bidder");
            Bidder bid=bhome.create();
            Enumeration enum=(Enumeration)bid.getClosedItemList();

            if(enum != null) {
                 displayitems(enum, out);
                 addLine("", out);
	    }
        } catch (Exception e) {
             addLine("AuctionServlet List Closed Items error", out);
             System.out.println("AuctionServlet <close>:"+e);
        }
        out.flush();
    }

    private void insertItem(ServletOutputStream out, HttpServletRequest request) throws IOException{

        setTitle(out, "Insert Auction Item");
        String seller=request.getParameter("seller");
        String description=request.getParameter("description");
        String summary=request.getParameter("summary");
        String password=request.getParameter("password");
        String price=request.getParameter("startprice");
        double startprice=0.00;
        try{
            startprice=((Number)NumberFormat.getCurrencyInstance().parse("$"+price)).doubleValue();
        }catch(java.text.ParseException e){
            System.out.println("money problem"+e);
	    return;
	}catch (NumberFormatException e) {
             System.out.println("money problem"+e);
	     return;
        }

        int auctiondays=7;
        try{
           auctiondays=Integer.parseInt(request.getParameter("auctiondays"));
        } catch(NumberFormatException e){
             System.out.println("problem parsing auction days"+e);
	     return;
        }

        if(auctiondays<=0 || auctiondays>7) {
            auctiondays=7;
        }

        try {
            SellerHome home = (SellerHome) ctx.lookup("seller");
            Seller si= home.create();

            if(si != null) {
                int result= si.insertItem(seller, password, description, 
                                         auctiondays, startprice, summary);
                if (result >0) {
                    addLine("Inserted item "+summary, out);
                    addLine("Details available <A HREF=/AuctionServlet?action=details&item="+result+">here</A>", out);

⌨️ 快捷键说明

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