package com.ikai.mapperdemo.servlets; import java.io.IOException; import java.util.Date; 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; @SuppressWarnings("serial") public class AddCommentServlet extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { // resp.setContentType("text/plain"); // resp.getWriter().println("Hello, world"); String comment = req.getParameter("comment"); comment = escapeCommentHtml(comment); Entity entry = new Entity("Comment"); entry.setProperty("comment", comment); entry.setProperty("createdAt", new Date()); entry.setProperty("locale", req.getLocale().toString()); DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); datastore.put(entry); resp.sendRedirect("/view"); } /* * A not-foolproof but cheap and dirty way to escape <> characters * that lets me get enough security without having to import a lot * of new packages. NOT FOOLPROOF. */ protected String escapeCommentHtml(String comment) { comment = comment.replaceAll("<", "<"); comment = comment.replaceAll(">", ">"); return comment; } }