salut,

je suis ce tuto sur JSF : ici, mais j'ai une erreur au déploiement :

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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
 
1 mars 2010 19:12:48 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.6.0_18/jre/lib/i386/server:/usr/java/jdk1.6.0_18/jre/lib/i386:/usr/java/jdk1.6.0_18/jre/../lib/i386:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386:/usr/lib/xulrunner-1.9.1:/usr/lib/xulrunner-1.9.1:/usr/java/packages/lib/i386:/lib:/usr/lib
1 mars 2010 19:12:48 org.apache.tomcat.util.digester.SetPropertiesRule begin
ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:JSFTuroriel' did not find a matching property.
1 mars 2010 19:12:48 org.apache.coyote.http11.Http11Protocol init
INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
1 mars 2010 19:12:48 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 835 ms
1 mars 2010 19:12:48 org.apache.catalina.core.StandardService start
INFO: Démarrage du service Catalina
1 mars 2010 19:12:48 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.24
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter
INFO: No context init parameter 'org.apache.myfaces.PRETTY_HTML' found, using default value true
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter
INFO: No context init parameter 'org.apache.myfaces.ALLOW_JAVASCRIPT' found, using default value true
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter
INFO: No context init parameter 'org.apache.myfaces.RENDER_CLEAR_JAVASCRIPT_FOR_BUTTON' found, using default value false
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter
INFO: No context init parameter 'org.apache.myfaces.SAVE_FORM_SUBMIT_LINK_IE' found, using default value false
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter
INFO: No context init parameter 'org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS' found, using default value true
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter
INFO: No context init parameter 'org.apache.myfaces.RENDER_VIEWSTATE_ID' found, using default value true
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter
INFO: No context init parameter 'org.apache.myfaces.STRICT_XHTML_LINKS' found, using default value true
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig getLongInitParameter
INFO: No context init parameter 'org.apache.myfaces.CONFIG_REFRESH_PERIOD' found, using default value 2
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter
INFO: No context init parameter 'org.apache.myfaces.VIEWSTATE_JAVASCRIPT' found, using default value false
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig createAndInitializeMyFacesConfig
INFO: Tomahawk jar not available. Autoscrolling, DetectJavascript, AddResourceClass and CheckExtensionsFilter are disabled now.
1 mars 2010 19:12:49 org.apache.myfaces.shared_impl.config.MyfacesConfig createAndInitializeMyFacesConfig
INFO: Starting up Tomahawk on the MyFaces-JSF-Implementation
1 mars 2010 19:12:49 org.apache.myfaces.config.FacesConfigurator feedStandardConfig
INFO: Reading standard config META-INF/standard-faces-config.xml
1 mars 2010 19:12:50 org.apache.myfaces.config.FacesConfigurator feedWebAppConfig
INFO: Reading config /WEB-INF/faces-config.xml
1 mars 2010 19:12:50 org.apache.myfaces.config.FacesConfigurator logMetaInf
INFO: Starting up MyFaces-package : myfaces-api in version : 1.2.6 from path : file:/home/lolveley/Documents/eclipse_jsf/.metadata/.plugins/org.eclipse.wst.server.core/tmp2/wtpwebapps/JSFTuroriel/WEB-INF/lib/myfaces-api-1.2.6.jar
1 mars 2010 19:12:50 org.apache.myfaces.config.FacesConfigurator logMetaInf
INFO: Starting up MyFaces-package : myfaces-impl in version : 1.2.6 from path : file:/home/lolveley/Documents/eclipse_jsf/.metadata/.plugins/org.eclipse.wst.server.core/tmp2/wtpwebapps/JSFTuroriel/WEB-INF/lib/myfaces-impl-1.2.6.jar
1 mars 2010 19:12:50 org.apache.myfaces.config.FacesConfigurator logMetaInf
INFO: MyFaces-package : tomahawk-sandbox15 not found.
1 mars 2010 19:12:50 org.apache.myfaces.config.FacesConfigurator logMetaInf
INFO: MyFaces-package : tomahawk-sandbox not found.
1 mars 2010 19:12:50 org.apache.myfaces.config.FacesConfigurator logMetaInf
INFO: MyFaces-package : tomahawk not found.
1 mars 2010 19:12:50 org.apache.myfaces.shared_impl.util.LocaleUtils toLocale
ATTENTION: Locale name in faces-config.xml null or empty, setting locale to default locale : fr_FR
1 mars 2010 19:12:50 org.apache.myfaces.config.FacesConfigurator handleSerialFactory
INFO: Serialization provider : class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
1 mars 2010 19:12:50 org.apache.myfaces.webapp.AbstractFacesInitializer initFaces
INFO: ServletContext '/home/lolveley/Documents/eclipse_jsf/.metadata/.plugins/org.eclipse.wst.server.core/tmp2/wtpwebapps/JSFTuroriel/' initialized.
1 mars 2010 19:12:50 org.apache.coyote.http11.Http11Protocol start
INFO: Démarrage de Coyote HTTP/1.1 sur http-8080
1 mars 2010 19:12:50 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
1 mars 2010 19:12:50 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/81  config=null
1 mars 2010 19:12:50 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1779 ms
1 mars 2010 19:12:53 org.apache.catalina.core.ApplicationDispatcher invoke
GRAVE: "Servlet.service()" pour la servlet jsp a lancé une exception
javax.servlet.jsp.JspException: UIComponent is no EditableValueHolder
	at javax.faces.webapp.ValidatorELTag.doStartTag(ValidatorELTag.java:59)
	at org.apache.jsp.login_jsp._jspx_meth_f_005fvalidator_005f0(login_jsp.java:409)
	at org.apache.jsp.login_jsp._jspx_meth_h_005fform_005f0(login_jsp.java:201)
	at org.apache.jsp.login_jsp._jspx_meth_f_005fview_005f0(login_jsp.java:129)
	at org.apache.jsp.login_jsp._jspService(login_jsp.java:91)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:341)
	at org.apache.myfaces.application.jsp.JspViewHandlerImpl.buildView(JspViewHandlerImpl.java:486)
	at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:337)
	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:155)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:619)
1 mars 2010 19:12:53 org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory getLifecycleProvider
INFO: Using LifecycleProvider org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider
1 mars 2010 19:12:53 org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider newInstance
INFO: Creating instance of com.tutorial.loginBean
1 mars 2010 19:12:53 javax.faces.webapp._ErrorPageWriter handleThrowable
GRAVE: An exception occurred
javax.faces.FacesException: An exception occurred processing JSP page /login.jsp at line 24
 
21: 			<h:inputSecret value="#{loginBean.password}"></h:inputSecret>
22: 		</h:panelGrid>
23: 		<h:commandButton value="#{msg.login}" action="login"></h:commandButton>
24: 		<f:validator validatorId="com.tutorial.ValidatePassword"/>
25: 	</h:form></f:view></body>
26: </html>
 
 
Stacktrace:
	at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:347)
	at org.apache.myfaces.application.jsp.JspViewHandlerImpl.buildView(JspViewHandlerImpl.java:486)
	at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:337)
	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:155)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /login.jsp at line 24
 
21: 			<h:inputSecret value="#{loginBean.password}"></h:inputSecret>
22: 		</h:panelGrid>
23: 		<h:commandButton value="#{msg.login}" action="login"></h:commandButton>
24: 		<f:validator validatorId="com.tutorial.ValidatePassword"/>
25: 	</h:form></f:view></body>
26: </html>
 
 
Stacktrace:
	at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:341)
	... 17 more
Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: UIComponent is no EditableValueHolder
	at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
	at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
	at org.apache.jsp.login_jsp._jspService(login_jsp.java:100)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
	... 27 more
Caused by: javax.servlet.jsp.JspException: UIComponent is no EditableValueHolder
	at javax.faces.webapp.ValidatorELTag.doStartTag(ValidatorELTag.java:59)
	at org.apache.jsp.login_jsp._jspx_meth_f_005fvalidator_005f0(login_jsp.java:409)
	at org.apache.jsp.login_jsp._jspx_meth_h_005fform_005f0(login_jsp.java:201)
	at org.apache.jsp.login_jsp._jspx_meth_f_005fview_005f0(login_jsp.java:129)
	at org.apache.jsp.login_jsp._jspService(login_jsp.java:91)
	... 30 more
...ce qui me semble important c'est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
javax.servlet.jsp.JspException: UIComponent is no EditableValueHolder
 
javax.faces.FacesException: An exception occurred processing JSP page /login.jsp at line 24
la page JSP, la voilà (flèche à côté de la ligne 24) :

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
 
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%><%@taglib
	uri="http://java.sun.com/jsf/core" prefix="f"%><%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
 
</head>
<body>
 
<f:view>
<f:loadBundle basename="com.tutorial.message" var="msg"/>
<h:form>
 
		<h:panelGrid border="1" columns="2">
			<h:outputText value="#{msg.name}"></h:outputText>
			<h:inputText value="#{loginBean.name}"></h:inputText>
			<h:outputText value="#{msg.password}"></h:outputText>
			<h:inputSecret value="#{loginBean.password}"></h:inputSecret>
		</h:panelGrid>
		<h:commandButton value="#{msg.login}" action="login"></h:commandButton>
		<f:validator validatorId="com.tutorial.ValidatePassword"/>   <----------
	</h:form></f:view></body>
</html>
et voici le fichier ValidatePassword.java :

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
 
package com.tutorial;
 
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
 
public class ValidatePassword implements Validator {
 
	public void validate(FacesContext arg0, UIComponent arg1, Object arg2)
			throws ValidatorException {
		// TODO Auto-generated method stub
 
	}
 
}
cool si vous pouvez m'aider