【问题标题】:Why is WebApplicationInitializer ignored?为什么 WebApplicationInitializer 被忽略?
【发布时间】:2015-04-02 15:53:08
【问题描述】:

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

我使用 JBoss AS 7.0.1。

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

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

} 

【问题讨论】:

标签: java spring maven servlets


【解决方案1】:

找到。

检测“WebApplicationInitializer”实现。 添加文件:/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 文件中声明它并具有条目 org.springframework.web.SpringServletContainerInitializer

【讨论】:

  • 另外我认为这不是一个友好的使用。所以我更喜欢“web.xml”“DispatcherServlet”声明。
  • Sprig 已经定义了这个文件,所以你不需要自己弄乱它。所以这不是解决方案...
猜你喜欢
  • 2021-11-06
  • 2019-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多