2013-04-10 9 views
9

tworzę prosty aplet i wdrażania go w serwer Tomcat, ale otrzymuję następujący błąd:HTTP status 500 - Błąd instancji klasy serwletu pkg.coreServlet

HTTP Status 500 - Error instantiating servlet class pkg.coreServlet

struktury plików na serwer Tomcat:

webapps  
| 
- aarya 
    | 
    - WEB-INF 
    | 
    -web.xml 
    -src(folder) 
     | 
     -pkg 
     | 
     -coreServlet.class 

web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 


<servlet> 
    <servlet-name>aaryaservlet</servlet-name> 
    <servlet-class>pkg.coreServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>aaryaservlet</servlet-name> 
     <url-pattern>/coreServlet</url-pattern> 
    </servlet-mapping> 
</web-app> 

coreServlet.java:

package pkg; 

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class coreServlet extends HttpServlet 
{ 
    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 

public void doGet(HttpServletRequest req,HttpServletResponse res) 
throws ServletException,IOException 


    { 
     PrintWriter out = res.getWriter(); 
     res.setContentType("text/html"); 
     out.println("this is First servlet Example "); 
    } 
} 

url Daję jest http://localhost:8080/aarya/coreServlet Staram przez ponowne uruchomienie tomcat ale otrzymuję ten sam błąd. Gdzie robię źle?

Odpowiedz

12

Nie umieszczaj folderu src w katalogu WEB-INF!

+1

dobry punkt! Nie zauważyłem tego! Powinien to być WEB-INF/classes – NickJ

+0

Robię przy pomocy http://www.mkyong.com/servlet/a-simple-servlet-example-write-deploy-run/ Czy to źle? – Anshul

+0

nawet w tym, src jest poza stroną WEB-INF – Ankit

3

Czy zamknąłeś tag> web-app> < w swoim web.xml? Z tego, co napisałeś, brakuje tagu zamykającego.

+0

Przepraszam, że tęsknię za tym w poście. – Anshul

3

Klasa serwletów powinna należeć do klas WEB-INF/nie WEB-INF/src.

4

Zmień

private static final long serialVersionUID = 1L; 

do dowolnej innej wartości jak

private static final long serialVersionUID = 102831973239L; 

też można wygenerować go automatycznie w Eclipse.

To dlatego, że każdy aplet w app posiada unikalny id.and Tomcat powoduje problemy z dwoma serwlety posiadające ten sam identyfikator ...

3

W moim przypadku brakującego private static final long serialVersionUID = 1L; linii spowodowało ten sam błąd. Dodałem linię i zadziałało!

0

Wystąpił problem z instancją Servlet. Oczyściłem projekt i zadziałało to dla mnie. W menu Zaćmienie przejdź do Projekt-> Wyczyść. Powinno działać.

0

Try This:)

przed: -

<servlet> 
    <servlet-name>TestServlet</servlet-name> 
    <servlet-class>TestServlet</servlet-class> 
</servlet> 

Po: -

<servlet> 
    <servlet-name>TestServlet</servlet-name> 
    <servlet-class>operation.TestServlet</servlet-class> 
</servlet> 
Powiązane problemy