execution servlet sous tomcat

execution servlet sous tomcat - Java - Programmation

Marsh Posté le 07-06-2004 à 11:01:13    

Bonjour,  
 
erreur à l'execution d'une servlet, voici tous les éléments  
-------------------------------------  
type Exception report  
 
message  
 
description The server encountered an internal error () that prevented it from fulfilling this request.  
 
exception  
 
javax.servlet.ServletException: Class FirstServlet2 is not a Servlet  
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:896)  
 
etc ...  
-----------------------  
je lance la servlet de cette facon (c'est là ou je ne suis pas sur que ce soit bon ?)  
 
http://nom_serveur:8080/FirstServlet2  
 
le code est simple, un grand classique (example tomcat):  
 
------------------------------------------  
 
/* $Id: HelloWorldExample.java,v 1.2 2001/11/29 18:27:25 remm Exp $  
*  
*/  
 
import java.io.*;  
import java.util.*;  
import javax.servlet.*;  
import javax.servlet.http.*;  
 
/**  
* The simplest possible servlet.  
*  
* @author James Duncan Davidson  
*/  
 
public class FirstServlet2 extends HttpServlet {  
 
 
public void doGet(HttpServletRequest request,  
HttpServletResponse response)  
throws IOException, ServletException  
{  
ResourceBundle rb =  
ResourceBundle.getBundle("LocalStrings",request.getLocale());  
response.setContentType("text/html" );  
PrintWriter out = response.getWriter();  
 
out.println("<html>" );  
out.println("<head>" );  
 
     String title = rb.getString("helloworld.title" );  
 
     out.println("<title>" + title + "</title>" );  
out.println("</head>" );  
out.println("<body bgcolor=\"white\">" );  
 
    // note that all links are created to be relative. this  
    // ensures that we can move the web application that this  
    // servlet belongs to to a different place in the url  
    // tree and not have any harmful side effects.  
 
// XXX  
// making these absolute till we work out the  
// addition of a PathInfo issue  
 
     out.println("<a href=\"/examples/servlets/helloworld.html\">" );  
out.println("<img src=\"/examples/images/code.gif\" height=24 " +  
"width=24 align=right border=0 alt=\"view code\"></a>" );  
out.println("<a href=\"/examples/servlets/index.html\">" );  
out.println("<img src=\"/examples/images/return.gif\" height=24 " +  
"width=24 align=right border=0 alt=\"return\"></a>" );  
out.println("<h1>" + title + "</h1>" );  
out.println("</body>" );  
out.println("</html>" );  
}  
}  
------------------------------------------------  
 
 
l'arborescence est la suivante :  
 
C:\Tomcat\webapps\FirstServlet2\WEB-INF\classes  
 
et le fichier web.xml sous C:\Tomcat\webapps\examples\WEB-INF contient  
 
<?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>  
    <display-name>FirstServlet2</display-name>  
    <servlet>  
        <servlet-name>FirstServlet2</servlet-name>  
        <servlet-class>FirstServlet2</servlet-class>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>FirstServlet2</servlet-name>  
        <url-pattern>/</url-pattern>  
    </servlet-mapping>  
</web-app>  
 
 
 
Je ne vois ce qui cloche.  
Merci pour votre aide  

Reply

Marsh Posté le 07-06-2004 à 11:01:13   

Reply

Marsh Posté le 07-06-2004 à 11:44:42    

très bizare ...
tu aurais pas un jar qui contiendrait les classes de l'API servlet dans ta web-app ?
 
sinon, je ne crois pas que ca corrigerait le problème, mais utilise des packages pour tes classes ...


Message édité par benou le 07-06-2004 à 11:44:48

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 07-06-2004 à 11:56:57    

le fichier xml doit être dans C:\Tomcat\webapps\FirstServlet2\WEB-INF\ il me semble parce que comme par hasard nous avons eu le meme probleme il y a à peine 2 minutes en cour. :)
Je pense que tu tourne sous tomcat5

Reply

Marsh Posté le 07-06-2004 à 12:05:42    

berceker united a écrit :

le fichier xml doit être dans C:\Tomcat\webapps\FirstServlet2\WEB-INF\ il me semble parce que comme par hasard nous avons eu le meme probleme il y a à peine 2 minutes en cour. :)
Je pense que tu tourne sous tomcat5


ben ca dépend du nom de ta web-app ca ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 07-06-2004 à 12:17:41    

Mets ta classe dans au moins 1 package et mets le nom complet de ta classe dans le tag servlet-class
 
Pour ce qui est de l'emplacement du fichier web.xml il doit se trouver dans webapps/<nom du context>/WEB-INF si tu déploie directement dans tomcat.


Message édité par pascal34 le 07-06-2004 à 12:20:17
Reply

Marsh Posté le 07-06-2004 à 13:35:44    

berceker united
 
rectification :
 
en fait j'ai fait une erreur de copier/coller lors du premier post.
le fichier web.xml est bien dans C:\Tomcat\webapps\FirstServlet2\WEB-INF\

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed