Package gaej2011.hello

Source Code of gaej2011.hello.GuestbookServlet

package gaej2011.hello;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

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

import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.Query;
import com.google.appengine.api.datastore.Query.SortDirection;

@SuppressWarnings("serial")
public class GuestbookServlet extends HttpServlet {
  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    String message = req.getParameter("message");
    System.out.println("message=" + message);
    saveToDatastore(message);
    resp.sendRedirect("/guestbook");
  }

  static void saveToDatastore(String message) {
    Entity entity = new Entity("Guestbook");
    entity.setProperty("message", message);
    entity.setProperty("createdAt", new Date());
    DatastoreService datastoreService = DatastoreServiceFactory
        .getDatastoreService();
    datastoreService.put(entity);
  }

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    resp.setContentType("text/html");
    resp.setCharacterEncoding("utf-8");
    PrintWriter writer = resp.getWriter();
    writer.println("<html><head><title> ゲストブック</title></head>");
    writer.println("<body><h1> ゲストブック</h1>");
    writer.println("<p> 何か書いてね</p>");
    writer.println("<div><form action='/guestbook' method='post'>");
    writer.println("<p><input type='text' name='message' size='50'/>");
    writer.println("<input type='submit' /></p>");
    writer.println("</form></div>");
    Iterable<Entity> list = queryFromDatastore();
    writer.println("<div><ul>");
    for (Entity entity : list) {
      writer.println("<li>" + entity.getProperty("message") + "("
          + entity.getProperty("createdAt") + ")</li>");
    }
    writer.println("</ul></div>");
    writer.println("</body></html>");
    resp.flushBuffer();
  }

  static Iterable<Entity> queryFromDatastore() {
    // メッセージを日付の降順で取得する
    Query query = new Query("Guestbook");
    query.addSort("createdAt", SortDirection.DESCENDING);
    DatastoreService datastoreService = DatastoreServiceFactory
        .getDatastoreService();
    Iterable<Entity> list = datastoreService.prepare(query).asIterable();
    return list;
  }
}
TOP

Related Classes of gaej2011.hello.GuestbookServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.