# servlet: init wird auch nach ServletException aufgerufen



## iggy (11. Mrz 2008)

hallo!

ich hab ein mehr oder weniger komisches problem und weiß leider net, wieso es so ist.

ich habe ein servlet, nun ruft ja der tomcat die init-methode auf. in der init-methode wird allerhand zeugs gemacht und unter anderem kann es auch zu einer exception kommen. tritt nun eine solche exception auf, wird jedesmal, wenn man per browser das servlet ansteuert, immer wieder die init-methode des servlets aufgerufen. ich seh es daran, dass nach jedem browser-aufruf immer wieder der selbe fehler in der log-datei mitgeschrieben wird.

woran liegt das? hier einige config-dateien:

server.xml:

```
<Context path="/foo" docBase="/home/devel/foo/webapp" debug="1" reloadable="false" />
```

web.xml meiner application:

```
<session-config>
   <session-timeout>15</session-timeout>
</session-config>

	<display-name>
		application
	</display-name>
	
	<description>
                my first application
	</description>


	<servlet>
		<servlet-name>foo</servlet-name>
		<servlet-class>
			de.foo.MyServlet
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>


	<servlet-mapping>
		<servlet-name>foo</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>foo</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>

</web-app>
```

init methode meines servlets:

```
public void init(ServletConfig servletConfig) throws ServletException {
		super.init(servletConfig);
		
		ServletContext servletContext = this.getServletContext();
		
		fooSetup = new fooSetup(servletContext);
		try {
			
			// startup
			fooSetup.configure();
		}
		catch ( Exception e ) {
			
			String errorMsg = "Error during startup! Shutting down system.";
			Logging.logFatal(errorMsg, e, MyServlet.class);
			
			this.destroy();
			
			throw new RuntimeException(errorMsg, e, MyServlet.class);
		}
	}
```

hat jemand eine ahnung, woran das liegen kann?

mfg iggy


----------



## maki (11. Mrz 2008)

> this.destroy();


Wundert dich das wirklich?


----------



## iggy (11. Mrz 2008)

@maki: ach man, man übersieht auch immer wieder etwas... danke, wollte dort eigentlich ne andere destroy methode aufrufen...


----------



## iggy (11. Mrz 2008)

@maki: ich bins nochmal, das ändert aber leider auch nichts an der tatsache. immer wenn ich ein reload im browser mache, wird jedesmal wieder die init-methode aufgerufen...


----------

