かんたんさーぶれっと


/*
* すごく単純な Java Servletサンプルソースコード構築計画
* Copyright (C) 2004 いがぴょん
*/

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* すごく単純な Java Servletサンプルソースコード
* @author iga
*/
public class SampleServlet extends HttpServlet {
public static final String ENCODING = "UTF-8";

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

BufferedReader reader = null;
BufferedWriter writer = null;

setResponseDefault(response);

try {
reader = request.getReader();
writer = new BufferedWriter(response.getWriter());

for (;;) {
String line = reader.readLine();
if (line == null) {
break;
}
System.out.println("REQ:" + line);
}
writer.write("うげうげ");
writer.write("

はろう

");

for (Enumeration enum = request.getHeaderNames();
enum.hasMoreElements();
) {
String key = (String) enum.nextElement();
writer.write(
"

  • H:" + key + "=" + request.getHeader(key) + "
  • ");
    }

    for (Enumeration enum = request.getAttributeNames();
    enum.hasMoreElements();
    ) {
    String key = (String) enum.nextElement();
    writer.write(
    "

  • A:" + key + "=" + request.getAttribute(key) + "
  • ");
    }

    for (Enumeration enum = request.getParameterNames();
    enum.hasMoreElements();
    ) {
    String key = (String) enum.nextElement();
    String value =
    new String(
    ((String) request.getParameter(key)).getBytes(
    "ISO8859-1"),
    "UTF-8");
    writer.write("

  • P:" + key + "=" + value + "
  • ");
    }

    writer.write("

    ");
    writer.write(
    "");
    writer.write(
    "");
    writer.write("
    ");
    writer.write("");

    } finally {
    reader.close();
    writer.close();
    }
    }

    private void setResponseDefault(final HttpServletResponse response) {
    response.setContentType("text/html; charset=" + ENCODING);
    response.addHeader("Content-Type", "text/html");
    response.addHeader("charset", ENCODING);
    response.addHeader("Expires", "-1");
    response.addHeader("Cache-Control", "no-cache");
    response.addHeader("Pragma", "no-cache");
    }
    }