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