1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
   |  
package testChat;
 
import java.io.IOException;
import java.util.Collection;
import java.util.LinkedHashSet;
 
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 
import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
 
/**
 * Servlet implementation class for Servlet: contoleurserv
 *
 * @web.servlet
 *   name="contoleurserv"
 *   display-name="contoleurserv" 
 *
 * @web.servlet-mapping
 *   url-pattern="/contoleurserv"
 *  
 */
 @SuppressWarnings("serial")
public class contoleurserv extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
	 @SuppressWarnings("unused")
	private static final String JSP_ID_PERSONNE = "PERSONNE";
	 @SuppressWarnings("unused")
	private static final String JSP_ID_MESSAGES = "MESSAGES";
 
    /* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	 public void init(ServletConfig config) throws ServletException
	  {
	    super.init(config);
	    // stockage partagé des messages du chat
	    getServletContext().setAttribute(JSP_ID_MESSAGES, new LinkedHashSet<Message>());
	  }
 
	public contoleurserv() {
		super();
	}   	
 
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
		// TODO Auto-generated method stub
	}  	
 
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession();
		  // est-ce que l'utilisateur s'est identifié ?
		  Personne personne = (Personne) session.getAttribute(JSP_ID_PERSONNE);
		  if (personne == null) {
			 // identification
			 personne = new Personne();
			 personne.setNom(request.getParameter("nom"));
			 personne.setPrenom(request.getParameter("prenom"));
			 personne.setEmail(request.getParameter("email"));
			 session.setAttribute(JSP_ID_PERSONNE, personne);
		  }
 
		  ServletContext ctx = getServletContext();
		  String chatTexte = request.getParameter("texte");
		  // a-t-il envoyé un message ?
		  if (chatTexte != null) {
			  synchronized(ctx) {
				  // ajout du message à la liste des messages
				  Collection<Message> messages = (Collection<Message>) ctx.getAttribute(JSP_ID_MESSAGES);
				  ((Object) messages).addMessage(personne, chatTexte);
			  }
		  }
		  // redirection vers le chat
		  request.getRequestDispatcher("/chat.jsp").forward(request, response);
 
		// TODO Auto-generated method stub
	}   	  	    
} | 
Partager