In case anyone is interested I found the problem.
I changed my DTD to this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
and removed <description> and <display-name> tags.
Also, the listener tags must come before the
servlet tags.