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

📄 customerservlet.java

📁 21天精通Java,这是一本英文书
💻 JAVA
字号:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import agency.*;
import javax.naming.*;
import java.rmi.*;
import javax.rmi.*;
import javax.ejb.*;
import java.util.*;

public class CustomerServlet extends HttpServlet
{
	private Agency agency;
	private StringBuffer optionString;
	private List customers;
	private List logins;

	public void init(){
	   try {
			InitialContext ic = new InitialContext();
			Object lookup = ic.lookup("java:comp/env/ejb/Agency");
			AgencyHome home = (AgencyHome)PortableRemoteObject.narrow(lookup, AgencyHome.class);
			agency = home.create();
		}
		catch (NamingException ex) {
			System.err.println(ex);
		}
		catch (ClassCastException ex) {
			System.err.println(ex);
		}
		catch (CreateException ex) {
			System.err.println(ex);
		}
		catch (RemoteException ex) {
			System.err.println(ex);
		}
	}

	private void getCustomers () {
		try {
			List query = agency.select("Customer");
			optionString = new StringBuffer();
			customers = new ArrayList();
			logins = new ArrayList();
			for (int i = 1; i < query.size(); i++) {
				String[] row = (String[])query.get(i);
				logins.add(row[0]);
				customers.add(row[1]);
				optionString.append ("<OPTION>" + row[1]);
			}
		}
		catch (RemoteException ex) {
			System.err.println(ex);
		}
	}

	private String findLogin (String customer) {
		for (int i = 0;  i < customers.size(); i++) {
			if (((String) customers.get(i)).equals(customer))
			   return (String)logins.get(i);
		}
		return null;
	}

	private void outputJobs (PrintWriter out, String customer) {
		try {
			List query;   // list of String[], first row = column names
			query = agency.select("Job");


			String login = findLogin (customer);
			if (login != null) {
				out.println ("<P><FONT SIZE=+1>Listing of jobs for " + customer + "</FONT></P>");
				out.println ("<TABLE BORDER=1 BORDERCOLOR=SILVER BGCOLOR=IVORY CELLPADDING=5><TR>");

				String[] headerRow = (String[])query.get(0);
				for (int i = 0; i < headerRow.length; i++) {
					out.println ("<TH ALIGN=LEFT>" + headerRow[i] + "</TH>");
				}
				out.println ("</TR>");
				for (int i = 1; i < query.size(); i++) {
					String[] row = (String[])query.get(i);
					if (row[1].equals(login)) {
					   out.println ("<TR>");
					   for (int r = 0; r < row.length; r++) {
						   out.println ("<TD>" + row[r] + "</TD>");
					   }
					   out.println ("</TR>");
					}
				}
			}
			out.println ("</TABLE>");
		}
		catch (RemoteException ex) {
			System.err.println(ex);
		}
	}
	private void outputForm (PrintWriter out) {
		out.println ("<P><BR>Select a Customer from the list to display their jobs</BR></P>");
		out.println ("<FORM>");
		out.println ("<SELECT NAME=\"customer\" SIZE=1>" + optionString + "</SELECT>");
		out.println ("<INPUT TYPE=submit>");
		out.println ("</FORM>");
	}

	public void doGet(HttpServletRequest req, HttpServletResponse res)
				 throws ServletException, IOException {
		try {
			String agencyName = agency.getAgencyName();
			String customer = null;

			res.setContentType ("text/html");
			PrintWriter out = res.getWriter();

			// print out form
			out.println ("<HTML>");
			out.println ("<HEAD><TITLE>" + agencyName + " List Customers</TITLE></HEAD>");
			out.println ("<BODY><FONT FACE=ARIAL COLOR=DARKBLUE");
			out.println ("<H1><FONT SIZE=+3>" + agencyName + " List Customers and Jobs</FONT></H1>");

			getCustomers ();

			customer = req.getParameter("customer");
			if (customer != null) {
				outputJobs(out, customer);
			}
			outputForm (out);

			// format & display
			out.println ("</FONT></BODY>");
			out.println ("</HTML>");
		}
		catch (RemoteException ex) {
			System.err.println(ex);
		}
	}
}

⌨️ 快捷键说明

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