我是春季靴子的新手。我在Jboss 7.1.1中部署战争时遇到了问题。当我尝试在tomcat中部署WAR时,它运行顺利但是当我切换到JBOSS 7时,它已停止部署应用程序。
我们知道JBOSS不允许我们使用' /'所以要实现' / *'使用dispatcherServlet并尝试在我的@SpringBootApplication带注释的类中注册它,如下所示。
@SpringBootApplication
public class ServletInitializer extends SpringBootServletInitializer {
@Bean
public ServletRegistrationBean dispatcherServletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(dispatcherServlet(), "/*");
registration.setName(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME);
return registration;
}
@Bean
public DispatcherServlet dispatcherServlet() {
return new DispatcherServlet();
}
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(AppSpringBootConfig.class);
}
}
并在application.properties文件中添加以下行
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
我正在使用@EnableAutoConfiguration,所以它应该自动映射返回jsp名称和jsp文件夹中可用的文件。
相反,它会给我一个错误,例如无法转发到请求[/ login]的错误页面,因为响应已经提交。因此,响应可能具有错误的状态代码。如果您的应用程序在WebSphere Application Server上运行,则可以通过将com.ibm.ws.webcontainer.invokeFlushAfterService设置为false来解决此问题
是否可以覆盖InternalResourceViewResolver?
答案 0 :(得分:0)
我遇到了JBoss EAP 6.4.0.GA(AS 7.5.0.Final-redhat-21)的确切问题。安装Jboss补丁jboss-eap-6.4.6-patch.zip后,问题不再发生。
修补后,我不需要使用设置server.servlet-path = / *