我正在尝试使用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
时,应用程序运行正常。
发生了什么事?
答案 0 :(得分:0)
@EnableWebMvc
禁用MVC自动配置,并允许您准确提供所需内容。在这种情况下,这意味着它会关闭默认资源。
您可以使用其他方式自定义配置,例如*Configurer
,也可以使用@EnableWebMvc
准确指定所需内容。请参阅Boot WebMvcAutoConfiguration
以了解默认值以及所需内容。