bonjour,
je travaille avec spring, struts et hibernate , et lors de l'execution j'ai eu cet erreur.
voici ma classe java où on doit initialiser les parametres du fichier web.xml :
ma classe InitAction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124 package com.school.commons.controlleur; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import com.school.domain.commons.IServiceDomain; import com.school.domain.admistration.ManipUtilisateur; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionServlet; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; public class MainServlet extends ActionServlet { private ActionErrors errors = new ActionErrors(); private ActionError error; private IServiceDomain serviceDomain = null; private ManipUtilisateur manipUtilisateur = null; private ServletConfig config; private final String SPRING_CONFIG_FILENAME = "springConfigFileName"; private final String[] parameters = {SPRING_CONFIG_FILENAME}; public IServiceDomain getServiceDomain() { serviceDomain = (IServiceDomain)(new XmlBeanFactory( new ClassPathResource((String)config.getInitParameter((SPRING_CONFIG_FILENAME))))) .getBean("serviceDomain"); return serviceDomain; } public void setServiceDomain(IServiceDomain serviceDomain) { this.serviceDomain = serviceDomain; } public ManipUtilisateur getManipUtilisateur() { if(manipUtilisateur==null) { manipUtilisateur = (ManipUtilisateur)(new XmlBeanFactory( new ClassPathResource((String)config.getInitParameter((SPRING_CONFIG_FILENAME))))) .getBean("manipUtilisateur"); } return manipUtilisateur; } public ManipUtilisateur getManipUtilisateurForTest() { if(manipUtilisateur==null) { manipUtilisateur = (ManipUtilisateur)(new XmlBeanFactory( new ClassPathResource("Spring-config.xml"))) .getBean("manipUtilisateur"); } return manipUtilisateur; } public void setManipUtilisateur(ManipUtilisateur manipUtilisateur) { this.manipUtilisateur = manipUtilisateur; } public ActionErrors getErrors() { return errors; } public void setErrors(ActionErrors errors) { this.errors = errors; } public void setMainServletForManips(MainServlet mainServlet) { ManipUtilisateur.setMainServlet(this); /*ManipDemande.setMainServlet(this); ManipDotation.setMainServlet(this); ManipEntite.setMainServlet(this); ManipEntreeAchat.setMainServlet(this); ManipEntreeExcep.setMainServlet(this); ManipFamille.setMainServlet(this); ManipFournisseur.setMainServlet(this); ManipLot.setMainServlet(this); ManipProduit.setMainServlet(this); ManipSortieExcep.setMainServlet(this); ManipSourceAchat.setMainServlet(this); */ } /*public void init() throws ServletException{ //init classe parent System.out.print("Action servlet initialisée"); super.init(); //on récupère les parametres d'initialisation de la servlet config = getServletConfig(); String param = null; for(int i=0;i<parameters.length;i++) { param = config.getInitParameter(parameters[i]); if(param == null) { //on mémorise l'erreur error = new ActionError("error.init.failure",parameters[i]); errors.add("init", error); } } //en cas d'erreurs if(errors.size()!=0) return; //on initialise l'attribut mainServlet pour toutes //les classes 'Manip' pour pouvoir les instancier setMainServletForManips(this); return; }*/ }
et mon fichier Web.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 package com.school.commons; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import org.apache.struts.action.ActionServlet; import com.school.commons.controlleur.MainServlet; import com.school.domain.admistration.ManipUtilisateur; import org.apache.struts.action.Action; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class InitAction extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { InitForm initForm = (InitForm)form; MainServlet mainServlet = (MainServlet) this.getServlet(); ActionErrors errors = mainServlet.getErrors(); if(errors.size()!=0) { saveErrors(request,errors); return mapping.findForward("afficherErreursPage"); } List utilisateurs = ManipUtilisateur.getInstance().getUtilisateurList(); initForm.setListUtilisateur(utilisateurs); return mapping.findForward("afficherLoginPage"); } }
mon fichier Spring-config.xml :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>action</servlet-name> <servlet-class>com.school.commons.controlleur.MainServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>springConfigFileName</param-name> <param-value>spring-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <!-- <servlet>--> <!-- <servlet-name>Connexions</servlet-name>--> <!-- <servlet-class>menu.Connexions</servlet-class> --> <!-- </servlet>--> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- <servlet-mapping> <servlet-name>Connexions</servlet-name> <url-pattern>/Connexions</url-pattern> </servlet-mapping> --> <welcome-file-list> <welcome-file>vues/Init.jsp</welcome-file> </welcome-file-list> </web-app>
merci d'avance
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- la classe d'accès aux données --> <bean id="serviceDao" class="com.school.dao.commons.ServiceDao"> </bean> <!-- les classes métier --> <bean id="serviceDomain" class="com.school.domain.commons.ServiceDomain"> <property name="serviceDao"> <ref bean="serviceDao"/> </property> </bean> <bean id="manipUtilisateur" class="com.school.domain.admistration.ManipUtilisateur"> <property name="serviceDomain"> <ref bean="serviceDomain"/> </property> </bean> </beans>
Partager