J'essaye de tester un exemple du livre "Développement Java sous Struts" mais quand j'execute l'application je reçois dans le navigateur "La ressource demandée (/FirstStruts/) n'est pas disponible." alors que dans tomcat je ne vois aucun message d'erreur.

bean de modèle (je ne l'ai pas encore utilisé)
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
package ddd.pharaon.javabeans;
 
import java.io.Serializable;
 
public class Login implements Serializable {
private static final long serialVersionUID = 1L;
private String login = null;
private String mdp=null;
 
  public String getLogin() {
  return login;
  }
 
  public void setLogin(String login) {
    this.login = login;
  }
 
  public String getMdp() {
  return mdp;
  }
 
  public void setMdp(String mdp) {
    this.mdp = mdp;
  }
 
}
Action
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
package ddd.pharaon.action;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.apache.commons.beanutils.*;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
 
import ddd.pharaon.actionform.LoginForm;
import ddd.pharaon.javabeans.Login;
 
public class LoginAction extends Action {
  public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response ) 
       throws Exception {
 
 LoginForm monLoginForm = (LoginForm) form;
 Login monLogin = new Login();
 
 BeanUtils.copyProperties(monLogin, monLoginForm);
 request.setAttribute(mapping.getAttribute(),monLogin);
 
 if (monLogin.getLogin().equals ("jcf") && monLogin.getMdp().equals("jcf")){
  return mapping.findForward("success");
 }
  return mapping.findForward("erreur");
 
  }
}
ActionForm
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
package ddd.pharaon.actionform;
 
import org.apache.struts.action.ActionForm;
 
public class LoginForm extends ActionForm {
private static final long serialVersionUID = 2L;
private String login = null;
private String mdp=null;
 
  public String getLogin() {
  return login;
  }
 
  public void setLogin(String login) {
    this.login = login;
  }
 
  public String getMdp() {
  return mdp;
  }
 
  public void setMdp(String mdp) {
    this.mdp = mdp;
  }
 
}
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
59
60
61
62
63
64
65
66
67
68
69
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
 
<web-app>
  <display-name>Struts Blank Application</display-name>
 
  <!-- Standard Action Servlet Configuration (with debugging) -->
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>
 
 
  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
 
 
  <!-- The Usual Welcome File List -->
  <welcome-file-list>
    <welcome-file>/pages/loginForm.jsp</welcome-file>
  </welcome-file-list>
 
 
  <!-- Struts Tag Library Descriptors -->
  <taglib>
    <taglib-uri>/tags/struts-bean</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
 
  <taglib>
    <taglib-uri>/tags/struts-html</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
 
  <taglib>
    <taglib-uri>/tags/struts-logic</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
 
  <taglib>
    <taglib-uri>/tags/struts-nested</taglib-uri>
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
  </taglib>
 
  <taglib>
    <taglib-uri>/tags/struts-tiles</taglib-uri>
    <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
  </taglib>
 
</web-app>
struts-config.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
<?xml version="1.0" encoding="ISO-8859-1" ?>
 
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
 
<struts-config>
  <form-beans>
    <form-bean
      name="LoginForm"
      type="ddd.pharaon.actionform.LoginForm"/>
   </form-beans>
   <action-mappings>
 
     <action 
       path = "/InputSubmit"
       forward = "ddd.pharaon.action.LoginAction" 
       name="LoginForm"
       scope="request"
       attribute = "login"
       input="/pages/loginForm.jsp">
       <forward name="success" path = "/pages/loginSuccess.jsp"></forward>
       <forward name="erreur" path = "/pages/erreur.jsp"></forward>
     </action>              
   </action-mappings>
   <message-resources parameter = "java.MessageResources" />
</struts-config>
Nota :
Les pages jsp se trouvent dans le repéertoire WEB-INF/pages
EDI : Eclipse

Merci