Première Servlet (Débutant)
Je suis en traint de faire mes premiers pas dans la technologie J2EE. Je travail en suivant un Tutorial intitulé LES BASES DU DEVELOPPEMENT WEB MVC EN JAVA.
Lorsque je crée ma Servlet (ServletFormulaire) et que je l'exécute, elle marche bien quand je l'exécute, mais je me rend compte qu'elle ne communique pas avec le fichier web.xml où je définis les paramètres initiaux. Je ne sais pas si le problème est dû au fait que je suis scrupuleusement un Totorial de 2006 et que les choses ont peut-être évoluées.
Dans ma Servlet apparaît l'annotation @WebServlet("/ServletFormulaire") Lorsque je commente cette ligne, la Servlet ne s'affiche plus lorsque je l'exécute, elleme renvoit un message d'erreur de Tomcat. Je veux en fait qu'elle prenne en compte le paramètre <url-pattern>/ServletFormulaire</url-pattern> défini dans mon fichier web.xml et non l'annotation.
Et dans ma méthode init(), je récupère mes valeurs par défaut dans le fichier web.xml où je fais ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11
| public void init(ServletConfig config) throws ServletException {
// on récupère les paramètres d'initialisation de la servlet
ServletConfig config = getServletConfig();
defaultNom = config.getInitParameter("defaultNom");
System.out.println(defaultNom);
if (defaultNom == null)
defaultNom = "NNNNNNNNNNNNNNN";
defaultAge = config.getInitParameter("defaultAge");
if (defaultAge == null)
defaultAge = "AAA";
} |
Mais ces valeurs me renvoient null, puisque dans mes deux zones de texte HTML correspondantes, j'ai NNNNNNNNNNNNNNN et "AAA" qui s'affichent et non les valeurs par défaut définit dans web.xml dont voici le code :
Code:
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
| <?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_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Personne</display-name>
<servlet>
<servlet-name>formulairepersonne</servlet-name>
<servlet-class>packagePersonne.ServletFormulaire</servlet-class>
<init-param>
<param-name>defaultNom</param-name>
<param-value>Inconnu</param-value>
</init-param>
<init-param>
<param-name>defaultAge</param-name>
<param-value>XXX</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>formulairepersonne</servlet-name>
<url-pattern>/ServletFormulaire</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app> |
Et lorsque je modifie une valeur dans mon web.xml et je redémarre Tomcat, rien ne change dans l'affichage de la Servlet, me prouvanr que celle-ci ne communique pas avec ce fichier.
Y-a-t-il une configuration spéciale à faire pour que les Servlets communiquent avec le fichier web.xml ?
J'utilise Java 6 avec Eclipse Helios combiné à Tomcat 7.
Merci