www.pudn.com > j2mewireless_examples.zip > NetAddressBook.java
/*
* Copyright (c) 2000-2001 Sun Microsystems, Inc. All Rights Reserved.
*/
package servlets;
import java.lang.*;
import java.util.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.*;
/**
* Simple servlet that answers network address book lookups
*
*/
public class NetAddressBook extends HttpServlet {
private static final String[] database = {
"Mark,VandenBrink_c,5555551212",
"Mary,VandenBrink_b,5555551212",
"Marcus,VandenBrink_a,5555551212",
"Joy,VandenBrink_c,5555552222",
"Jay,VandenBrink_d,5555552222",
"Jane,VandenBrink_a,5555552222",
"Jody,VandenBrink_v,5555552222",
"Zach,VandenBrink_c,5555553333",
"Zeke,VandenBrink_d,5555553333",
"Zoe,VandenBrink_x,5555553333",
"Zar,VandenBrink_z,5555553333",
};
/**
* Respond to a GET request for the content produced by
* this servlet.
*
* @param request The servlet request we are processing
* @param response The servlet response we are producing
*
* @exception IOException if an input/output error occurs
* @exception ServletException if a servlet error occurs
*/
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
String[] matches = new String[database.length];
int index = 0;
String firstS = request.getParameter("first").toLowerCase();
String lastS = request.getParameter("last").toLowerCase();
String sortOrder = request.getParameter("sort");
response.setContentType("text/html");
PrintWriter writer = response.getWriter();
for (int i = 0; i < database.length; i++) {
StringTokenizer st = new StringTokenizer(database[i], ",");
String f = st.nextToken().toLowerCase();
String l = st.nextToken().toLowerCase();
if (f.startsWith(firstS) &&
l.startsWith(lastS)) {
matches[index++] = database[i];
}
}
if (index > 0) {
Arrays.sort(matches, 0, index, new MyComparator(sortOrder.equals("0")));
for (int i = 0; i < index; i++) {
writer.println(matches[i]);
}
}
}
}