Outils pour utilisateurs

Outils du site


exercices:debut

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
exercices:debut [31/01/2019 09:27]
webmestre [Servlet]
exercices:debut [07/02/2019 09:27] (Version actuelle)
webmestre
Ligne 1: Ligne 1:
 +====== Exercices ======
 +
 +Voici les codes fournis pour les TP M4102
 +
 +===== TP3 =====
 +
 +==== Servlet ====
 +
 +Le Tiny Java Web Server {{ :​exercices:​tjws.zip |tjws.zip}}
 +
 +Le fichier {{jquery.js|jquery.js}}
 +
 +Le fichier {{json-simple-1.1.1.jar|json}}
 +
 +Lancement sous Windows quand Fédora n'est pas disponible à l'IUT :
 +<code bash>
 +cd ..
 +set JDK_HOME=C:​\Program Files\Java\jdk1.8.0_101
 +set SERVLET_API=lib\servlet.jar
 +java -cp "​%SERVLET_API%;​lib\war.jar;​lib\webserver.jar;​lib\jsp.jar;​lib\jspengine.jar;​%JDK_HOME%\lib\tools.jar"​ -Dtjws.webappdir=webapps -Dtjws.wardeploy.warname-as-context=yes Acme.Serve.Main -a aliases.properties -p 80 -l -c cgi-bin -j gnu.jspengine.JspServlet -gnu.jspengine.JspServlet.scratchdir %%deploydir%%/​~~~/​_jsp -gnu.jspengine.JspServlet.classloadername %%classloader%%
 +</​code>​
 +
 +Exemple d'​arborescence ​
 +<code bash>
 +.
 +├── appli.war
 +├── compilation.sh
 +├── index.html
 +├── makewar.sh
 +├── src
 +│   ​└── com
 +│       ​└── iut
 +│           ​└── servlets
 +│               ​└── Action.java
 +└── WEB-INF
 +    ├── classes
 +    │   ​└── com
 +    │       ​└── iut
 +    │           ​└── servlets
 +    │               ​└── Action.class
 +    ├── lib
 +    └── web.xml
 +</​code>​
 +
 +Exemple de fichier web.xml :
 +<code XML>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<web-app xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance"​
 +  xmlns="​http://​java.sun.com/​xml/​ns/​javaee"​
 +  xmlns:​web="​http://​java.sun.com/​xml/​ns/​javaee/​web-app_2_5.xsd"​
 +  xsi:​schemaLocation="​http://​java.sun.com/​xml/​ns/​javaee http://​java.sun.com/​xml/​ns/​javaee/​web-app_2_5.xsd"​ id="​M4201C"​ version="​2.5">​
 +
 +   <​display-name>​M4102C</​display-name>​
 +
 +   <​description>​Cours M4102C - François MERCIOL</​description>​
 +
 +   <​welcome-file-list>​
 +     <​welcome-file>​index.html</​welcome-file>​
 +   </​welcome-file-list>​
 +
 +   <​servlet>​
 +      <​servlet-name>​ServletAction</​servlet-name>​
 +      <​servlet-class>​com.iut.servlets.Action</​servlet-class>​
 +   </​servlet>​
 +   <​servlet-mapping>​
 +      <​servlet-name>​ServletAction</​servlet-name>​
 +      <​url-pattern>/​action</​url-pattern>​
 +   </​servlet-mapping> ​
 +
 +</​web-app>​
 +</​code>​
 +
 +Exemple de classe Java :
 +<code java>
 +import java.io.*;
 +import javax.servlet.*;​
 +import javax.servlet.http.*;​
 +
 +public class HorlogeServlet extends HttpServlet {
 +   ​public void doGet(HttpServletRequest request, HttpServletResponse response) ​
 +throws ServletException,​ IOException {
 +      SimpleDateFormat dateFormat = new SimpleDateFormat("​HH:​mm:​ss"​);​
 +      PrintWriter pw;
 +
 +      response.setContentType("​text/​html"​);​
 +      pw=response.getWriter();​
 +      pw.println("<​h1>"​+ dateFormat.format(new Date())+"<​h2>"​);​
 +   }
 +}
 +</​code>​
 +
 +Commandes utiles :
 +<code bash>
 +javac -cp ../​Tjws/​lib/​servlet.jar -d --racine-des-classes-- --les-sources--
 +
 +jar cf --mon-war-- WEB-INF
 +jar uf --mon-war-- index.html
 +</​code>​
 +
 +Si Fédora ne fonctionne pas :
 +<code bash>
 +"​C:​\Program Files\Java\jdk1.8.0_101\bin\javac.exe"​ -cp ../​Tjws/​lib/​servlet.jar -d --racine-des-classes-- --les-sources--
 +
 +"​C:​\Program Files\Java\jdk1.8.0_101\bin\jar.exe"​ cf --mon-war-- WEB-INF
 +"​C:​\Program Files\Java\jdk1.8.0_101\bin\jar.exe"​ uf --mon-war-- index.html
 +</​code>​
 +
 +===== TP4 =====
 +
 +==== Servlet & Json ====
 +
 +Vous pouvez télécharger la libraire Java pour utiliser JSON :
 +  * {{ :​exercices:​json-simple-1.1.1.jar|}}
 +  * et sa documentation [[http://​juliusdavies.ca/​json-simple-1.1.1-javadocs/​]]
 +
 +===== TP5 =====
 +
 +Vous pouvez télécharger la libraire JQuery :
 +  * {{ :​exercices:​jquery.js |}}
 +
 +
 +===== TP6 =====
 +
 +Le seveur pour le DNS dynamique est ici :
 +  * [[http://​www.pencouelo.fr/​tp6/​]] si vous êtes chez vous
 +  * [[http://​www.pencouelo.fr/​tp6/?​id=MonId]] si vous êtes en salle TP passant par un mandataire (MonId est un text qui vous est personnel)
 +
 +  * [[http://​www.pencouelo.fr/​tp6/​index.html]] l'​état des connexions en cours
 +
 +==== Anciene version ====
 +
 +<WRAP center round todo 60%>
 +==== TP3 ====
 +
 +Exemple d'​instruction permettant de récupérer un élément suivant sont identifiant "​id"​ dans le document :
 +<code javascript>​
 +document.getElementsByTagId (id);
 +</​code>​
 +
 +Exemple d'​instruction permettant de récupérer un tableau de tous les éléments de type "​tag"​ dans le document :
 +<code javascript>​
 +document.getElementsByTagName (tag);
 +</​code>​
 +
 +==== TP4 ====
 +
 +    * {{:​supports:​m4102-tp4.zip|}}<​wrap center round important 60%>​fichier à renommer m4102-tp4.jar</​wrap>​
 +
 +<code bash>
 +$ mkdir tp4
 +$ cd tp4
 +$ unzip m4102-tp4.zip
 +$ mv lib/*.jar .
 +$ zip -r m4102-tp4.zip lib/ com/ META-INF/
 +$ mv m4102-tp4.zip m4102-tp4.jar
 +</​code>​
 +
 +Faire un répertoire racine du serveur web exemple "​docRoot"​.
 +
 +<code bash> $ java -jar m4102-tp4.jar -p 9090 -d docRoot
 +</​code>​
 +
 +Testez : [[http://​localhost:​9090/​getEvts]]
 +
 +Vous obtenez un texte du genre :
 +<code HTML>
 +[{"​evt":"​1","​dateTime":"​2015-02-02 09:​11:​32","​data":"​Function:​ processNotice File: MainThread.cpp Line: 6201 Invoked Function: CMainThread::​genericNoticeCategoryHandler Return Code: -327492","​error":​true},​{"​evt":"​5","​dateTime":"​2015-02-02 09:​11:​32","​data":"​The HTTPS probe to 10.0.0.70 resulted in a redirect","​error":​false}]
 +</​code>​
 +
 +Créez une page HTML et le javascript pour obtenir les traces du serveur par exemple :
 +
 +<WRAP center round box>
 +{{ :​exercices:​m4102-tp4-traces.png?​nolink |}}
 +</​WRAP>​
 +
 +===== TP6 =====
 +
 +  * {{:​exercices:​icalc.java|}}
 +  * {{:​exercices:​calcimpl.java|}}
 +  * {{:​exercices:​calcserveur.java|}}
 +  * {{:​exercices:​calcclient.java|}}
 +
 +</​WRAP>​
  
exercices/debut.txt · Dernière modification: 07/02/2019 09:27 par webmestre

Outils de la page