java - 如何使用 Spring Boot 将文件放在 servlet 上下文路径上?

标签 java spring-boot embedded-tomcat-7

我正在尝试将 BlazeDS 添加到 Spring Boot 应用程序。为此,我在配置中添加了“MessageBrokerServlet”:

@Bean
public ServletRegistrationBean messageBrokerRegistration()
{
    ServletRegistrationBean registration = new ServletRegistrationBean(new MessageBrokerServlet(), "/messagebroker/*");
    Map<String,String> params = Maps.newHashMap();
    params.put( "services.configuration.file", "/WEB-INF/flex/services-config.xml" );
    registration.setInitParameters(params);
    return registration;
}

Servlet 已加载,但在运行时失败:

MessageBrokerServlet in application 'undefined' failed to initialize due to runtime exception:   
Exception: flex.messaging.config.ConfigurationException: Please specify a 
valid 'services.configuration.file' in web.xml. You specified '{0}'.
This is not a valid file system path reachable via the app server and 
is also not a path to a resource in your J2EE application archive.

查看BlazeDS的源代码,我发现代码最后使用了ServletContext#getResourceAsStream(path)。如何使 Spring Boot 中的嵌入式 tomcat 在该调用中返回某些内容?

我使用的是 Spring Boot 1.1.1,它使用嵌入式 Tomcat 7.0.54

最佳答案

Servlet 上下文资源至少应该在 war 中发挥作用。将它们粘贴到 src/main/webapp 中(用于标准构建布局)。

关于java - 如何使用 Spring Boot 将文件放在 servlet 上下文路径上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24712988/

相关文章:

java - 这行代码有语法错误吗?

java - spring boot嵌入式tomcat添加war

java - 以编程方式使用嵌入式 tomcat 7 配置 hibernate

java - 如何向应用程序上下文注册 bean 集合并使其符合 Autowiring 条件?

java - Spring Boot连接Mongodb Atlas问题

java - Spring Boot - 如何指定备用启动类? (多个入口点)

spring - Spring容器与Servlets的交互

java - 如何为 Openfire 插件创建我自己的日志配置

java - 无法使 @Formula 属性与 CriteriaBuilder 一起使用

java - 在比较器接口(interface)中使用 equals() 方法?