import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* Cette classe permet
d'indiquer à un poste IP Cisco muni d'un navigateur XML / HTTP
* l'emplacement d'un autre servlet qui offrira un outil de recherche dans l'annuaire
* LDAP de l'INRIA. l'URL d'exécution de ce servlet est : http://192.168.1.3/ourDirectory
**/
public class ourDirectory extends HttpServlet {
PrintWriter outToClient;
// implémentation de la méthode abstraite de la classe mère, c'est cette
// méthode qui sera exécutée lors de l'accès à l'URL abritant le servlet
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
HttpSession session = request.getSession();
// 'content-type' doit être fixé à "text/xml" pour les postes IP response.setContentType("text/xml");
// cet objet permettra d'envoyer le contenu de notre réponse au poste IP
outToClient = response.getWriter();
System.out.println("Analysis of received Http request: ");
System.out.println("\tMethod : " + request.getMethod());
System.out.println("\tURL : " + HttpUtils.getRequestURL(request));
System.out.println("\tURI : " + request.getRequestURI());
System.out.println("\tParameters : " + request.getQueryString());
Enumeration e;
e = request.getHeaderNames();
System.out.println("\tHttp headers : ");
while (e.hasMoreElements()){
Object element = e.nextElement();
System.out.println("\t\t" + element + " : " + request.getHeader((String)element));
}
// une fois les paramètres HTTP de la réponse fixés, on peut
// effectivement envoyer notre réponse au poste IP sous la
// forme d'un objet XML <CiscoIPPhoneMenu> en indiquant le titre
// et l'URL pointée par l'objet
outToClient.println("<CiscoIPPhoneMenu>");
outToClient.println("<Title>Recherche Annuaire" + "</Title>");
outToClient.println("<MenuItem>");
outToClient.println("<Name>Annuaire INRIA</Name>");
outToClient.println("<URL>http://192.168.1.3/directorySearchTool</URL>");
outToClient.println("</MenuItem>");
outToClient.println("</CiscoIPPhoneMenu>");
// finalement, on ferme la session HTTP
session.invalidate();
}
}
auteur : Philippe Sultan ------- date de mise à jour : 17 juillet, 2003