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
|
public class MaServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException { // TODO
}
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//Lecture des données envoyer par le client http codé en java
String donnee = "";
BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));
while(reader.ready()){
donnee = donnee + reader.readLine();
}
reader.close();
if(request.getSession().getAttribute("utilisateur") == null && request.getParameter("url")==null) {
//Création du message et envoie à la couche suivante
getServletContext().getRequestDispatcher("/attente.jsp").forward(request, response);
}else {
switch(request.getParameter("url")){
case "connexion" :
String login = request.getParameter("login");
String mdp= request.getParameter("mdp");
//Création du message et envoie à la couche suivante
getServletContext().getRequestDispatcher("/attente.jsp").forward(request, response);
break;
case "AJAX":
System.out.println("REQUETE AJAX");
MonObjet page = new MonObjet();
synchronized(page){
page.notify();
while(page.getPage() == null){
try {
page.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<message>"+page.getPage()+"</message>");
break;
case "JAVA":
Action action = new Action(donnee);
page= action.getPage();
synchronized(page){
page.notify();
}
break;
}
}
}
} |