2015-04-02 3 views
1

У меня есть веб-приложение (война), построенное с помощью maven. Я использую приложение старых расположений (нет выбора). Я реорганизую старые службы с весенней аннотацией, используя AnnotationConfigApplicationContext и класс конфигурации.Почему WebApplicationInitializer игнорируется?

Я использую JBoss AS 7.0.1.

Мне нужно внедрить веб-службы в моем приложении. Поэтому я пытаюсь установить DispatcherServlet, используя WebApplicationInitializer.

Я попытался с помощью implemeting, «WebApplicationInitializer», или расширение «AbstractDispatcherServletInitializer», «AbstractAnnotationConfigDispatcherServletInitializer», но класс не обнаружен и обработан, как только JBoss запускается и война развертывается.

Как Jboss обнаруживает этот тип класса. Нужно ли нам где-то указывать какую-либо декларацию.

пример кода моей последней попытки:

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; 

public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     String test = ""; 
     test.toLowerCase(); 
     return null; 
    } 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     String test = ""; 
     test.toLowerCase(); 
     return new Class[] {ApplicationContextConfiguration.class}; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     String test = ""; 
     test.toLowerCase(); 
     return new String[] { 
       "*.html" 
       ,"*.json" }; 
    } 

} 
+0

Пробовал ли вы прочитать это: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-servlet? –

ответ

1

FOUND.

Чтобы определить реализацию «WebApplicationInitializer». Добавить файл: /META-INF/services/javax.servlet.ServletContainerInitializer Установите этот файл в JAR

Набор в полной packagge и именем класса: com.xxxxxxx.AbstractAnnotationConfigDispatcherServletInitializer

Spring реализует ServletContainerInitializer через класс SpringServletContainerInitializer. В соответствии с спецификациями Servlet эта реализация должна быть объявлена ​​в файле META-INF/services/javax.servlet.ServletContainerInitializer файла библиотеки jar - Spring объявляет об этом в файле jar файла spring-web * .jar и имеет запись org.springframework.web.SpringServletContainerInitializer

+0

Кроме того, я думаю, что это не дружелюбное использование. Поэтому я предпочитаю декларацию «web.xml» «DispatcherServlet». – Anthony

+1

Sprig уже определяет этот файл, поэтому вам не нужно обходиться с ним самим. Так что это не решение ... –

Смежные вопросы