Issues with servlet loading in JBoss7
dmaier1 Apr 17, 2012 5:55 PMHi everyone,
I have recently migrated a JavaSE application (.war) to JBoss7. After spending the customary time to understand the new structure and configurations I have finally managed to run the app (including connect to the database). However there are several servlets that do not work and the only indication I have to the problem is a warning message in web.xml such as:
Description | Resource | Path | Location | Type |
servlet-class references to org.jboss.seam.servlet.SeamResourceServlet that does not implement interface javax.servlet.Servlet | web.xml | /MyApp/WebContent/WEB-INF | line 57 | Web XML Problem |
For sure this class implements the given interface. Also the compiler offers to "Configure problem severity for preference 'Invalid Server Class' ".
I have looked over the web a lot trying to find the way that JBoss7 handles the servlets but haven't been able to make any progress. Any help / suggestions would be greatly appreciated as I am so close to running.
Previously I was on JBoss 4.2.3 (all working fine).
Here is the full web.xml:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>MyApp</display-name> <!-- <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> --> <listener> <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> </listener> <!-- place the GraniteConfigListener after the seam listener --> <listener> <listener-class>org.granite.config.GraniteConfigListener</listener-class> </listener> <filter> <filter-name>Seam Filter</filter-name> <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class> </filter> <filter-mapping> <filter-name>Seam Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- Seam resource --> <servlet> <servlet-name>Seam Resource Servlet</servlet-name> <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Seam Resource Servlet</servlet-name> <url-pattern>/seam/resource/*</url-pattern> </servlet-mapping> <filter> <filter-name>AMFMessageFilter</filter-name> <filter-class>org.granite.messaging.webapp.AMFMessageFilter</filter-class> </filter> <filter-mapping> <filter-name>AMFMessageFilter</filter-name> <url-pattern>/graniteamf/*</url-pattern> </filter-mapping> <!-- AMF Servlet --> <servlet> <display-name>AMFMessageServlet</display-name> <servlet-name>AMFMessageServlet</servlet-name> <servlet-class>org.granite.messaging.webapp.AMFMessageServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AMFMessageServlet</servlet-name> <url-pattern>/graniteamf/*</url-pattern> </servlet-mapping> <!-- place the GravityServlet at the end of the file --> <servlet> <servlet-name>GravityServlet</servlet-name> <servlet-class>org.granite.gravity.servlet3.GravityAsyncServlet</servlet-class> <load-on-startup>1</load-on-startup> <!-- <async-supported>true</async-supported> --> </servlet> <servlet-mapping> <servlet-name>GravityServlet</servlet-name> <!-- map this to "gravityamf" not "gravity" --> <url-pattern>/gravityamf/*</url-pattern> </servlet-mapping> </web-app>
Many thanks!
Dahn