-
Servlet, erreur 404
Bonjour a tous, je suis en stage en entreprise et je n'ai jamais entendu parler de servlet mais mon chef de projet ma demandé d'en faire une et de l'executer. Après avoir lu plusieurs tutoriaux et forums, je me permet de poster ici. Je me retrouve avec l'erreur 404 depuis le debut et je vois vraiment pas comment faire, même s'il m'a dit que c'etait super simple !!
J’utilise Eclipse 3.2 et apache tomcat 5.5.17.
Dans eclipse :
Je fait windows, preferences, server, installed runtimes et j’ajoute tomcat
Je crée un nouveau projet proj (de type Dynamic Web Project), avec un servlet test dans le package pack qui contient ca :
package pack;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class test extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println(ServletUtilities.headWithTitle("Hello WWW") +
"<BODY>\n" +
"<H1>Hello WWW</H1>\n" +
"</BODY></HTML>");
}
}
Je ramene le JAR servlet-api
J’execute sur le serveur
Dans l’explorateur, je tape l’url : http://localhost:8080/pack.test (enfin j’en ai essayé plusieurs mais j’ai toujours un message comme quoi la ressource demandée n’existe pas)
Voila, merci d'avance de vos reponses.
-
Bonjour,
j'avais ton probleme et je suis arrive a le resoudre:
je n'ai pas le meme environement que toi mais je vais te dire ce que j'ai fait:
moi j'utilise Apache et Apache Jserv
en fait avec mon environnement il fallait configurer les fichiers suivant:
httpd.conf, jserv.conf et jserv.properties
essai de chercher l'equivalent de ces fichiers dans ton environement, apres je pense qu'il faudra mettre to servlet.class dans le bon repertoire ( celui fixe dans le fichier de conf d'Apache)
-
Bonjour,
merci de la reponse. J'ai vu qu'il fallait modifier le fichier web.xml, mais ca ne marche toujours pas. Voila ce que j'ai fait modifier dans ce fichier :
<!-- The mapping for the invoker servlet -->
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
-
Ca y est, j'ai enfin la solution !! Un collegue me l'a expliquée. Si ca peut intéresser quelqu'un, je la poste :
Tout d'abord il faut faire ce que j'ai écris dans le premier message et s'arreter avant :"J'execute sur le serveur". Avant cela, Il faut modifier le fichier web.xml en ajoutant :
<servlet>
<servlet-name>nom de la classe(dans mon ex : test)</servlet-name>
<servlet-class>nom du package.nom de la classe(ici, pack.test)</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>nom de la classe(dans mon ex : test)</servlet-name>
<url-pattern>/test(par exemple)</url-pattern>
</servlet-mapping>
Ensuite il faut faire clic droit sur le projet dans eclipse, properties, Java Build Path, Source, et changer le repertoire de output folder (nom du projet/WebContent/WEB-INF/classes)
Ensuite il faut lancer le serveur, puis executer le test.java dessus.
URL : http://localhost:8080/nom du projet/test
Voila, ca peut parraitre tout bête mais pour un debutant, c'est pas facile!!
Merci de ta reponse en tout cas, il fallait bien modifier un fichier.
A++