import java.io.*;
import java.util.Enumeration;   // Enumeration用に必要
import javax.servlet.*;
import javax.servlet.http.*;

public class GuestBook extends HttpServlet {
  @Override  
  public void doPost(HttpServletRequest req, HttpServletResponse res)
              throws IOException {
    res.setContentType("text/html;  charset=Windows-31J");
    req.setCharacterEncoding("Windows-31J");
    PrintWriter out = res.getWriter();
    out.println("<html><head></head><body>");
    try {
      File f = new File(getServletContext().getRealPath("Guests.html"));
      BufferedReader fin = new BufferedReader
                      (new InputStreamReader(new FileInputStream(f), "Windows-31J"));
      
      File tmp = new File(getServletContext().getRealPath("tmp.html"));
      PrintWriter fout = new PrintWriter
                   (new OutputStreamWriter(new FileOutputStream(tmp), "Windows-31J"));
      while (true) {
        String line = fin.readLine();
        if (line.trim().equals("<!-- OWARI -->")) break;
        fout.println(line);  
      }

      fout.println("<table border>");
      Enumeration keys = req.getParameterNames();
      while (keys.hasMoreElements()) {
      	  fout.print("<tr>");
      	  String left = (String)keys.nextElement();
      	  String right = req.getParameter(left); 
      	  fout.print("<td>"+left+"</td>");
      	  fout.print("<td>"+right+"</td>"); 
      	  fout.print("</tr>");
      }
      fout.println("</table>");
      fout.println("<hr>");

      fout.println("<!-- OWARI -->");
      while (true) {
        String line = fin.readLine();
        if (line==null) break;
        fout.println(line);  
      }
      fin.close();
      fout.close();
      f.delete();
      tmp.renameTo(f);
      
      out.println("御記帳有難うございました。<br>");
      out.print("ゲストブックは<a href='Guests.html'>こちら</a>です。");

    } catch (Exception e) {
      e.printStackTrace(out);
    }
    out.println("</body></html>");
    out.close();
  }
}
