2016-11-15 13 views
1
<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" 
    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_2_5.xsd"> 

    <servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>spring</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 

</web-app> 

Над кодом мой web.xml .После развёртывание, я получаюОшибка в Spring MVC, разместившей в IBM websphere.Error 404: SRVE0201E: сервлет [org.springframework.web.servlet.DispatcherServlet]: не сервлет класса

Error 404: SRVE0201E: Servlet[org.springframework.web.servlet.DispatcherServlet]: not a servlet class. 

Есть ли лишний код в web.xml? Как исправить эту проблему?

+1

Обеспечить полную отслеживаемую трассировку стека. «Не класс сервлета» обычно означает, что он был скомпилирован с более высокой версией Java. Убедитесь, что вы используете ту же версию Java во время сборки и на развернутом сервере. – Gas

ответ

2

Это часто представляет проблему с упаковкой - «не класс сервлета» может указывать на отказ от броска (у вас может быть журнал FFDC с ClassCastException), и во многих случаях это может быть вызвано упаковкой API Servlet в ваше приложение и работает с загрузкой класса «parent last». Когда это происходит, ваш сервлет ссылается на свою собственную копию API, но ссылки WebSphere на свою собственную версию, а JVM не может использовать две копии класса, загружаемого отдельными загрузчиками классов (даже если они идентичны).

Если у вас есть API-интерфейс сервлета в вашем приложении, удалите его, потому что нет никакого способа «принести свой» для этого API. Вы также можете подумать о том, действительно ли вам нужно работать с «родительским последним» - если вы не пытаетесь привлечь, скажем, собственный поставщик веб-сервисов или реализацию JSF, вам, вероятно, это не понадобится.