====== TP1 : Rappels Web ====== ==== Documentations utiles==== * http://java.sun.com/j2ee/1.4/docs/api/index.html * http://tomcat.apache.org * http://ws.apache.org/axis * http://ws.apache.org/axis/java/user-guide.html ==== Installation d'un serveur Web Apache Tomcat ==== ==Installation sur votre compte (ou dans /tmp)...== Télécharger l'archive : wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz Décompressez l'archive dans le répertoire de votre choix : tar xvzf apache-tomcat-6.0.20.tar.gz Configurez votre environnement pour Apache/Tomcat en remplaçant par le chemin absolu vers le répertoire que vous avez décompressé : export CATALINA_HOME= Puis lancer le serveur Web Tomcat (à l'écoute par défaut sur le port 8080) : /bin/startup.sh Vous pouvez ensuite consulter http://localhost:8080 avec votre navigateur Web pour vérifier que votre serveur Web est opérationnel. ==Configuration avançée== Pour changer le port 8080, vous pouvez editer le fichier /conf/server.xml, sans oublier de relancer le serveur Web : /bin/shutdown.sh ; /bin/startup.sh Il faut maintenant ajouter un administrateur au serveur Web Tomcat en ajoutant au fichier de configuration /conf/tomcat-users.xml les lignes suivantes : Relancer le serveur Web. Démarrer l'interface Web d'administration http://localhost:8080/manager/html/ et entrer le login "admin" et le password "adminadmin". A priori, tout est OK pour la suite. ==== Serveur Web et Servlet ==== Un peu d'aide pour la suite : http://localhost:8080/docs/ ==Page Web HelloWorld== Par défaut, il faut ajouter les ressources web dans le répertoire /webapps/. Créez un sous-répertoire test/. Ajouter une simple page HTML "HelloWorld.html" à votre serveur Web, accessible à l'URL suivante : http://localhost:8080/test/HelloWorld.html Ajouter l'option permettant à votre serveur web de lister les fichiers contenus dans un répertoire. ==Servlet Hello World== Toujours dans le sous-répertoire test/, nous allons ajouter une servlet. Ecrire une servlet "HelloServlet.java", qui a la structure suivante... import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); /* ... */ out.println(""); } } Pour compiler votre servlet, utilisez la ligne de commande ci-dessous : $ javac -cp "${CATALINA_HOME}/lib/*" HelloServlet.java Il faut maintenant créer un répertoire WEB-INF/ dans test/ et déplacer le fichier HelloServlet.class dans le sous-répertoire WEB-INF/classes/ Pour rendre votre servlet accessible à l'URL suivante : http://localhost:8080/test/MyHelloServlet il faut ajoutez un fichier web.xml dans WEB-INF/ avec les informations suivantes : testservlet HelloServlet testservlet /MyHelloServlet ==Utilisation de Paramètres== Ecrire maintenant une servlet "ParamServlet.java" qui utilise deux paramètres, "firstname" et "lastname" et qui affiche le message "Hello World ". On pourra tester la servlet de la façon suivante (requête GET) : http://localhost:8080/test/MyParamServlet?firstname=tutu&lastname=toto Mettre maintenant en place une page HTML "Form.html" permettant de saisir les paramètres dans un formulaire et de les "poster" à la servlet (requête POST). http://localhost:8080/test/Form.html ==Un exemple de JSP (Java Server Page)== Ecrire maintenant la JSP HelloWorld.jsp, affichant fois le message , de la manière suivante : http://localhost:8080/test/HelloWorld.jsp?message=Hello+World&count=10 ==Mise en place de HTTPS== En vous aidant de l'aide http://localhost:8080/docs/ssl-howto.html, mettre en place un serveur web sécurisé sur le port 8443. Il faut tout d'abord générer un certificat autosigné avec keytool, puis ensuite configurer le fichier /conf/server.xml comme il faut. Pour vous aider, vous povez consulter les logs de démarrage du serveur dans /logs/catalina.*.log. https://localhost:8443/