/* */ package com.lodgon.chatserver.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * * @author Erwin */ public class ChatServlet extends HttpServlet { /** * used to GET chat texts. * connection is left open. */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter w = response.getWriter(); boolean running = true; int myseq = 0; while(running) { System.out.println("WAITING FOR TEXT"); if (ChatStore.hasNewText(myseq)) { System.out.println("NEW TEXT FOUND. GETTING TEXT."); Map result = ChatStore.getNewLines(myseq); myseq = (Integer)result.get("sequence"); String text = (String) result.get("text"); System.out.println("WRITING"); w.write(text); w.write("\r\n"); System.out.println("FLUSHING"); w.flush(); } } w.close(); } /** * used to POST new text lines. * connection is closed after request. */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String text = request.getParameter("text"); System.out.println("RECEIVED "+text); ChatStore.addText(text); PrintWriter w = response.getWriter(); w.write("ok"); w.close(); } }