Contexte (très résumé, mais encore compréhensible, j'espère) :
Avant, j'employais donc JSP, JSTL, ... et une servlet pour chaque page envoyant une requête au serveur Tomcat. Par exemple, à la page d'autentification correspondait une servlet 'Authenticat_Contr' (httpServletRequest, ...Response, ...) (qui s'adressait vers une classe business 'Authenticat_Façade', 'Authenticat_DataAccess', JDBC, SQL, etc.).
Avec Struts, c'est plutôt une servlet générique (classe ActionServlet du contrôleur) qui se charge de toutes les requêtes (URL#1 '*.do' propres à et envoyées par chaque page) et se base sur une table 'struts-config.xml' pour savoir
1) quelle classe doit traiter la requête (p.ex. 'org.apache.struts.actions.ForwardAction') et
2) vers quelle URL#2 doit être envoyée la requête (p.ex. une autre page '.JSP').
J'ai donc voulu tester rien que ce petit mécanisme lorsque l'URL#2 ...
A) est une autre page '.JSP'. Celle-ci est bien appelée. Youpie! Je n'ai pas encore appliqué d'action JSP ou JSTL pour tester la présence des paramètres de la requête émis par la page '.JSP' d'origine (log-in name, password, ...);
B) est une de mes classes. Plus précisément la classe servlet 'Authenticat_Contr' (voir début). Surtout pour savoir si j'allais encore y recevoir les paramètres Request.
Il faut savoir que a) le contexte : MC b) les packages : 'org' et 'control' c) ma classe : 'Authentic_Contr.java' .
Je m'attendais donc à ce que 'ForwardAction' relaye la requête avec ses paramètres vers l'URL '/org/control/Authenticat_Contr.java'. Hélas, je reçois l'erreur "Etat HTTP 404 - /MC/org/control/Authenticat_Contr.java" ("La ressource demandée (/MC/org/control/Authenticat_Contr.java) n'est pas disponible.").
Pourtant mon fichier struts-config.xml contient bien
Une âme compatissante et éclairée a-t-elle une idée de la raison pour laquelle le conteneur de Tomcat ne trouve pas ma classe ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <struts-config> <action-mappings> <action path="/Authenticat_url" type="org.apache.struts.actions.ForwardAction" parameter="/org/control/Authenticat_Contr.java" /> </action-mappings> </struts-config>
J'utilise l'IDE NetBeans 6.1, le conteneur Apache-Tomcat Server 5.5.27, JDK 1.6.0._07, Struts 1.2.9, Servlet 2.4, JavaBeans 1.01, JSTL 1.1 .
Ou bien dois-je implémenter mon code dans une classe héritant de la classe ForwardAction (et httpServlet) ?
Merci au cas où ...
Partager