2017-10-19 225 views
0

的IntelliJ IDEA作为开发工具,我想开发使用Spring WebFlux,这是我目前使用如下一个简单的博客系统:春天WebFlux不能在Tomcat的运行

  1. 泉的FrameWork 5.0;
  2. 百里香
  3. Spring WebFlux;

我暂时不使用数据库(直到我可以通过Spring WebFlux访问我的主页)。在Spring WebFlux,我使用的Java配置和配置文件如下:

// WebConfig.java 
@Configuration 
@EnableWebFlux 
public class WebConfig implements WebFluxConfigurer { 


@Override 
public void configureContentTypeResolver(RequestedContentTypeResolverBuilder builder) { 
    builder.fixedResolver(MediaType.ALL); 
} 




@Override 
public void configureViewResolvers(ViewResolverRegistry registry) { 
    registry.viewResolver(viewResolver()); 
} 


public SpringResourceTemplateResolver templateResolver() { 
    SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver(); 
    templateResolver.setApplicationContext(org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext()); 
    templateResolver.setPrefix("/resources/templates/"); 
    templateResolver.setSuffix(".html"); 
    templateResolver.setTemplateMode(TemplateMode.HTML); 
    templateResolver.setCacheable(true); 
    return templateResolver; 
} 


public SpringWebFluxTemplateEngine templateEngine() { 
    SpringWebFluxTemplateEngine templateEngine = new SpringWebFluxTemplateEngine(); 
    templateEngine.setTemplateResolver(templateResolver()); 
    templateEngine.setEnableSpringELCompiler(true); 
    return templateEngine; 
} 


public ThymeleafReactiveViewResolver viewResolver() { 
    ThymeleafReactiveViewResolver viewResolver = new ThymeleafReactiveViewResolver(); 
    viewResolver.setTemplateEngine(templateEngine()); 
    viewResolver.setOrder(1); 
    return viewResolver; 
} 

@Override 
public void addResourceHandlers(ResourceHandlerRegistry registry) { 
    registry.addResourceHandler("/images/**") 
      .addResourceLocations("classpath:/src/main/resources/static/images/"); 
} 


} 

另一个配置类:

@Configuration 
@ComponentScan("xyz.suancaiyu") 
public class RootConfig extends 
    AbstractAnnotationConfigDispatcherHandlerInitializer { 

    @Override 
    protected Class<?>[] getConfigClasses() { 
     return new Class[]{WebConfig.class}; 
    } 
} 

控制器:

@Controller 
public class HomeController { 

    @RequestMapping("/") 
    public String index() { 
     String home = "hello"; 
     return "home"; 
    } 
} 

HTML:

<!DOCTYPE html> 
 
<html xmlns:th="http://www.thymeleaf.org"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Title</title> 
 
</head> 
 
<body> 
 
<p th:text="${home}"></p> 
 
</body> 
 
</html>

但我访问了:http://localhost:8080当提示500错误,但我无法看到IntelliJ IDEA中的具体错误。

请帮助我,谢谢。

所有的代码,您可以查看:https: //github.com/dcxy0/Spring5WebFluxDemo

回答