Spring boot - 如何在JBOSS 7中配置JSP视图?

时间:2015-12-23 12:31:14

标签: spring-boot jboss7.x

我是春季靴子的新手。我在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?

1 个答案:

答案 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 = / *