Bonjour !
J'ai une appli web (un simple formulaire login/password pour commencer) qui fonctionne tres bien sans DataSource.
Des lors que je déclare un DataSource dans struts-config.xml, la servlet d'action devient indispo (erreur 503 : La servlet action est actuellement indisponible) et ce, meme si je ne fais pas appel au DataSource dans ma classe d'Action.
Voici plusieurs bouts de code :
--- struts-config.xml ---
--- classe d'Action : LoginAction.java ---
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
--- web.xml ---
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
116package fr.ntv.nvgestiondemande.actions; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Vector; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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; import fr.ntv.nvgestiondemande.forms.LoginForm; import fr.ntv.nvgestiondemande.bean.DemandeFactory; import org.apache.log4j.Logger; /** * @version 1.0 * @author */ public class LoginAction extends Action { private Logger logger = Logger.getLogger(getClass()); public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionErrors errors = new ActionErrors(); ActionForward forward = new ActionForward(); // return value LoginForm loginForm = (LoginForm) form; try { // do something here } catch (Exception e) { // Report the error using the appropriate name and ID. errors.add("name", new ActionError("id")); } // If a message is required, save the specified key(s) // into the request for use by the <struts:errors> tag. if (!errors.isEmpty()) { saveErrors(request, errors); } // Write logic determining how the user should be forwarded. String login = loginForm.getLogin(); String password = loginForm.getPassword(); System.out.println("---Début---"); System.out.println("login=" + login); System.out.println("password=" + password); if (login.equals("flo") && password.equals("flo")) { forward = mapping.findForward("success"); logger.debug("login ok"); } else { forward = mapping.findForward("failure"); logger.debug("login ko"); } // javax.sql.DataSource dataSource=null; // java.sql.Connection myConnection = null; // System.out.println("---Connection---"); // try { // System.out.println("---GetDataSource---"); // logger.debug("1"); // dataSource = getDataSource(request, "MyDB"); // // System.out.println("---GetConnection---"); // logger.debug("2"); // myConnection = dataSource.getConnection(); // // System.out.println("---CreateStatement---"); // logger.debug("3"); // Statement st = myConnection.createStatement(); // // String query = "SELECT COUNT(*) FROM USER"; // System.out.println("---ResultSet---"); // ResultSet rs = st.executeQuery(query); // System.out.println(rs); // // rs.close(); // st.close(); // myConnection.close(); // } catch (SQLException sqle) { // getServlet().log("Connection.process", sqle); // } // if (request.getSession().getServletContext().getAttribute("users") // == null) { // System.out.println("user non null"); // } System.out.println("---Fin---"); // Finish with return (forward); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
Merci à tous

 

 
		
		 
         
 

 
			
			


 
   



 [Struts] [Oracle] Datasource et Servlet indispo
 [Struts] [Oracle] Datasource et Servlet indispo
				 Répondre avec citation
  Répondre avec citation
Partager