www.pudn.com > j2mewireless_examples.zip > NetServer.java
/*
* Copyright (c) 2000-2001 Sun Microsystems, Inc. All Rights Reserved.
*/
package servlets;
import java.lang.*;
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* Simple servlet that processes a POST request by
* reversing a string passed in as data.
*/
public class NetServer extends HttpServlet {
private String processData(char[] inData) {
String s = new String(inData);
StringBuffer sb = (new StringBuffer(s)).reverse();
return sb.toString();
}
// used to test this servlet.
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
PrintWriter out = response.getWriter();
response.setContentType("text/plain");
Enumeration e = request.getHeaderNames();
while (e.hasMoreElements()) {
String key = (String)e.nextElement();
String value = request.getHeader(key);
out.write(key + ": " + value + "\n");
}
out.flush();
}
/**
* Respond to a POST 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 doPost(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
Date date = new Date();
BufferedReader reader = request.getReader();
char inData[] = new char[request.getIntHeader("Content-Length")];
reader.read(inData, 0, inData.length);
StringBuffer sb = new StringBuffer();
sb.append("NetServer Servlet\n");
sb.append(date.toString() + "\n");
sb.append(new String(inData) + "\n");
sb.append(processData(inData) + "\n");
Enumeration e = request.getHeaderNames();
while (e.hasMoreElements()) {
String key = (String)e.nextElement();
String value = request.getHeader(key);
sb.append(key + ": " + value + "\n");
}
response.setContentType("text/plain");
response.setContentLength(sb.length());
PrintWriter out = response.getWriter();
out.write(sb.toString());
out.flush();
}
}