我有一个用maven构建的Web应用程序(war)。
我正在使用一个旧的struts应用程序(没有选择)。我使用AnnotationConfigApplicationContext
和配置类使用spring注释重构旧服务。
我使用JBoss AS 7.0.1。
我需要在我的应用程序中实现Web服务。所以我正在尝试使用DispatcherServlet
设置WebApplicationInitializer
。
我尝试过实现“WebApplicationInitializer”,或者扩展“AbstractDispatcherServletInitializer”,“AbstractAnnotationConfigDispatcherServletInitializer”,但是一旦启动JBoss并部署war就不会检测和处理类。
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 :(得分:1)
找到。
检测&#34; WebApplicationInitializer&#34;实现。 添加文件:/META-INF/services/javax.servlet.ServletContainerInitializer 将此文件设置为JAR
设置完整的包装和类名: com.xxxxxxx.AbstractAnnotationConfigDispatcherServletInitializer
Spring通过SpringServletContainerInitializer类实现ServletContainerInitializer。根据Servlet规范,这个实现必须在库jar文件的META-INF / services / javax.servlet.ServletContainerInitializer文件中声明 - Spring在spring-web * .jar jar文件中声明它并且有一个条目{{1} }