Bonjour la liste,
Mon application web tourne sous tomcat6 et la structure est la suivante :
. /onjava : repertoire principal où se trouve ma page login .jsp
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
| <html>
<head>
<title> OnJava Demo </title>
<meta http-equiv="Content-Type" Context="text/html;charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" onLoad="document.loginForm.username.focus()">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><img src="/onjava/images/Beer.gif"/></td>
</tr>
<tr>
<td></td>
</tr>
</table>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<form name="loginForm" method="post" action="servlet/com.onjava.login">
<tr>
<td width="401"><div align="right"> UserName : </div></td>
<td width="399"><input type="text" name="password"></td>
</tr>
<tr>
<td width="401"><div align="right"> PassWord : </div></td>
<td width="399"><input type="password" name="password"></td>
</tr>
<tr>
<td width="401"></td>
<td width="399"><br><input type="submit" value="Submit"></td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html> |
. /onjava/WEB-INF : repertoire dans lequel se trouve le descripteur de déploiement web.xml
1 2 3 4 5 6 7 8 9 10
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.onjava.Login</servlet-class>
</servlet>
</web-app> |
. /onjava/WEB-INF/classes : repertoire où se trouve ma servlet Login.java
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
| package com.onjava;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class Login extends HttpServlet {
private String target = "/welcome.jsp";
private String getUser(String userName, String passWord){
//Just return a static name
//If this was reality, we would perform a SQL lookup
return "Bob";
}
public void doGet ( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
//If it is a get request forward to doPost()
doPost(request, response);
}
public void doPost ( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
//Get the username from the request
String username = request.getParameter("username");
//Get the password from the request
String password = request.getParameter("password");
String user = getUser(username, password);
//Add the fake user to the request
request.setAttribute("USER",user);
//forward the request to the target named
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher(target);
dispatcher.forward(request, response);
}
public void destroy() {
}
} |
Je démarre le serveur tomcat et j'accède à la page JSP à traver l'URL
http://localhost:8080/onjava/login.jsp
Mais lorsque je clique sur le bouton "Submit", j'obtiens la page d'erreur
1 2 3 4
| Etat HTTP 404 -/onjava/login
type Rapport d'etat
message La ressource demandée (/onjava/login) n'est pas disponible
Apache Tomcat /6.0.26 |
J'ai pourtant bien précisé le chemin de la servlet dans la page JSP login.jsp
action="servlet/com.onjava.login
Je ne sais coment remédier à la situation.
Merci beaucoup d'avance pour votre aide
Partager