More than one /VAADIN/* servlet mapping in web.xml

I have a Vaadin GAE project in Eclipse. The “web.xml” file has 3 servlet definitions in it, each with a URL pattern other than root/*. As per the book:

"Notice also that if the URL pattern is other than root /* (such as /myapp/), you will also need to make a servlet mapping to /VAADIN/ (unless you are serving it statically as noted below). "

I therefore had 3 mappings at the end of web.xml of the form:

	<servlet-mapping>
		<servlet-name>One</servlet-name>
		<url-pattern>/VAADIN/*</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>Two</servlet-name>
		<url-pattern>/VAADIN/*</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>Three</servlet-name>
		<url-pattern>/VAADIN/*</url-pattern>
	</servlet-mapping>	

I was having problems with the project setups so I created a new project using the latest vaadin eclipse plugin with the latest app engine SDK 1.5, and Vaadin 6.6.1, and GWT 2.3.0, and copied my code into the freshly set up project.

I am now getting "CHKJ4010W: Duplicate URL mapping /VAADIN/" as a warning in Eclipse. Is this something I should just ignore? Does each servlet need its own /VAADIN/ mapping?

Hi! Only one /VAADIN/* mapping is needed / allowed. Just pick one of those. It shouldn’t matter which one, because servlet class is the same.

Thanks. Might be worth adding to the documentation now that it seems to be generating a warning.

Regards,
Jonathan

Yes, this is more like a Servlet Specification thing, and (un-)fortunately most/some servers seem to be able to normalize this and it just works with multiple mappings.