使用@EnableWebMVC注释会导致异常

时间:2018-06-18 06:45:56

标签: spring-mvc spring-boot

我正在尝试使用spring boot运行Web应用程序。

Dependencies: compile('org.springframework.boot:spring-boot-starter-web')
runtime('org.springframework.boot:spring-boot-devtools')
compile('org.apache.tomcat.embed:tomcat-embed-jasper:8.0.47')

有很少的.jsp文件,例如:Login.jsp,Welcome.jsp

将密码映射为硬编码值。

我的问题是:当应用程序运行并且在主类上使用@EnableWebMVC注释时,只要它到达URL http://localhost:8080/login就会发生以下异常:

  

javax.servlet.ServletException:无法解析名称视图   在servlet中“登录”,名称为“dispatcherServlet”at   org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1305)   〜[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at   org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1069)   〜[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at   org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1008)   〜[弹簧webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]

但是,当删除注释@EnableWebMVC时,应用程序运行正常。

发生了什么事?

1 个答案:

答案 0 :(得分:0)

@EnableWebMvc禁用MVC自动配置,并允许您准确提供所需内容。在这种情况下,这意味着它会关闭默认资源。

您可以使用其他方式自定义配置,例如*Configurer,也可以使用@EnableWebMvc准确指定所需内容。请参阅Boot WebMvcAutoConfiguration以了解默认值以及所需内容。

相关问题