# Servlet wird nicht gefunden  - HTTP Error 503



## Precosia (19. Aug 2011)

*Hallo Community,

Ich habe das Problem das GWT den Servlet wohl nicht findet obwohl dieser in web.xml, TaschenrechnerApp.gwt.xml integriert sind, ferner kommt noch ein 503 HTTP Error.

Kann mir vielleicht jemand sagen wo der Fehler ist. SUch schon ne Weile und find ihn nicht.*

*web.xml*

```
<?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>
  
  <!-- Servlets -->
  <servlet>
    <servlet-name>TaschenrechnerAppServiceImpl</servlet-name>
    <servlet-class>com.hs.java.taschenrechnerapp.server.TaschenrechnerAppServiceImpl</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>TaschenrechnerAppServiceImpl</servlet-name>
    <url-pattern>/taschenrechnerapp/taschenrechnerApp</url-pattern>
  </servlet-mapping>
  
  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>TaschenrechnerApp.html</welcome-file>
  </welcome-file-list>

</web-app>
```

*TaschenrechnerApp.gwt.xml*

```
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='taschenrechnerapp'>
  <!-- Inherit the core Web Toolkit stuff.                        -->
  <inherits name='com.google.gwt.user.User'/>
  <inherits name='com.google.gwt.user.theme.clean.Clean'/>

  <!-- Other module inherits                                      -->
  <servlet path="/taschenrechnerapp" class="com.hs.java.taschenrechnerapp.server.TaschenrechnerAppServiceImpl" />

  <!-- Specify the app entry point class.                         -->
  <entry-point class='com.hs.java.taschenrechnerapp.client.TaschenrechnerView'/>

  <!-- Specify the paths for translatable code                    -->
  <source path='client'/>
  <source path='shared'/>

</module>
```

*Consolenausgabe*

```
Starting Jetty on port 8888
   [WARN] EXCEPTION 
java.lang.ClassNotFoundException: com.hs.java.taschenrechnerapp.server.TaschenrechnerAppServiceImpl
	at java.lang.ClassLoader.findClass(ClassLoader.java:359)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:352)
	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
	at org.mortbay.util.Loader.loadClass(Loader.java:91)
	at org.mortbay.util.Loader.loadClass(Loader.java:71)
	at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
	at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:233)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:616)
	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
	at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:463)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
	at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
	at org.mortbay.jetty.Server.doStart(Server.java:222)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:667)
	at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:500)
	at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1055)
	at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:804)
	at com.google.gwt.dev.DevMode.main(DevMode.java:309)
   [WARN] failed TaschenrechnerAppServiceImpl
javax.servlet.UnavailableException: com.hs.java.taschenrechnerapp.server.TaschenrechnerAppServiceImpl
	at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:79)
	at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:233)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:616)
	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
	at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:463)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
	at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
	at org.mortbay.jetty.Server.doStart(Server.java:222)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:667)
	at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:500)
	at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1055)
	at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:804)
	at com.google.gwt.dev.DevMode.main(DevMode.java:309)
   [WARN] Failed startup of context com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload@1b2e4a1{/,D:\Projects\workspace_TaschenrechnerApp\TaschenrechnerApp\war}
javax.servlet.UnavailableException: com.hs.java.taschenrechnerapp.server.TaschenrechnerAppServiceImpl
	at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:79)
	at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:233)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:616)
	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
	at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:463)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
	at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
	at org.mortbay.jetty.Server.doStart(Server.java:222)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
	at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:667)
	at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:500)
	at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1055)
	at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:804)
	at com.google.gwt.dev.DevMode.main(DevMode.java:309)
[ERROR] 503 - GET /TaschenrechnerApp.html?gwt.codesvr=127.0.0.1:9997 (127.0.0.1) 1329 bytes
   Request headers
      Host: 127.0.0.1:8888
      User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
      Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
      Accept-Encoding: gzip, deflate
      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
      Connection: keep-alive
   Response headers
      Content-Type: text/html; charset=iso-8859-1
      Content-Length: 1329
```


----------



## nillehammer (19. Aug 2011)

> java.lang.ClassNotFoundException: com.hs.java.taschenrechnerapp.server.TaschenrechnerAppServiceImpl


Die Exception ist ziemlich eindeutig. Sie sagt, dass Jetty gerne die genannte Klasse laden möchte (weil sie so im servlet-mapping in der web.xml angegeben ist). Aber er findet sie nicht. Das kann verschiedene Ursachen haben. Entweder stimmt die Angabe in der web.xml nicht (z.B. Package falsch?). Oder Deine kompilierten Klassen liegen zwar in deiner Entwicklungsumgebung, aber nicht in dem Ordner, aus dem Jetty die Klassel laden möchte. Dann müsstest Du an Deiner Buildumgebung was korrigieren.


----------



## Precosia (22. Aug 2011)

stimmt das package war falsch importiert. manchmal sieht man den wald vor lauter bäumen nicht mehr.

danke für deine hilfe


----------



## paladin240679 (1. Jan 2013)

Precosia hat gesagt.:


> stimmt das package war falsch importiert. manchmal sieht man den wald vor lauter bäumen nicht mehr.
> 
> danke für deine hilfe




Hallo, hab das Problem auch. Darf ich fragen was du genau gemacht hast, um das Problem zu lösen?


----------



## saölfdj (5. Jan 2013)

Hallo,

habe genau das gleiche Problem... bisher keine Lösung weil ich nicht verstanden habe was du nun genau gemacht hast ^^


----------



## paladin240679 (5. Jan 2013)

Mittlerweile habe ich herausgefunden woran es bei mir lag. In meinem Fall habe ich in der Web.xml die servlets alle rausgenommen. Dann hat es funktioniert. Natürlich vorrausgesetzt, dass man die nicht braucht.


----------



## saölfdj (6. Jan 2013)

Ich bin auch ein Stückchen weiter gekommen. In meinem Fall (da ich ein Maven-GWT-Projekt habe),
musste ich den WAR Ordner auf /target/MyApp-1.0.0-SNAPSHOT setzen.


----------



## saölfdj (6. Jan 2013)

Sorry - Nachtrag:

Hab ja vergessen zu beschreiben wie das geht, falls das einer braucht, also:

Rechtsklick auf das Projekt -> Run As -> Run Configurations -> Arguments

Und dort die Variable -war "Pfad zum Ordner" angeben


----------

