📄 customerservlet.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 + -