gpt4 book ai didi

java - 为什么 WebApplicationInitializer 被忽略?

转载 作者:行者123 更新时间:2023-11-30 08:17:43 25 4
gpt4 key购买 nike

我有一个使用 Maven 构建的 Web 应用程序(war)。我正在使用旧的 struts 应用程序(别无选择)。我正在使用 AnnotationConfigApplicationContext 和一个配置类通过 spring 注释重构旧服务。

我使用 JBoss AS 7.0.1。

我需要在我的应用程序中实现 Web 服务。因此,我尝试使用 WebApplicationInitializer 设置 DispatcherServlet

我尝试过实现“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" };
}

}

最佳答案

找到了。

检测“WebApplicationInitializer”实现。添加文件:/META-INF/services/javax.servlet.ServletContainerInitializer将此文件设置在 JAR 中

设置完整的包和类名:com.xxxxxxx.AbstractAnnotationConfigDispatcherServletInitializer

Spring implements the ServletContainerInitializer through SpringServletContainerInitializer class. Per the Servlet specs, this implementation must be declared in a META-INF/services/javax.servlet.ServletContainerInitializer file of the libraries jar file - Spring declares this in spring-web*.jar jar file and has an entry org.springframework.web.SpringServletContainerInitializer

关于java - 为什么 WebApplicationInitializer 被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29417240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com