为什么我在使用本地tomcat服务器运行它时,我的SpringBoot SpringMVC应用程序运行良好并显示在浏览器上,但是当我在tomcat嵌入式服务器上运行该应用程序时,该应用程序不会加载到上下文路径上吗?
下面是我在tamcat嵌入式服务器上运行时得到的日志消息
No mapping found for HTTP request with URI [/ccbpas/WEB-INF/views/index/loginform.jsp] in DispatcherServlet with name 'dispatcherServlet'
下面是我的SpringBoot的application.properties文件
server.port = 1098
server.servlet.context-path=/ccbpas
spring.datasource.url=jdbc:mysql://localhost:3306/cataloguing
spring.datasource.username=nandom
spring.datasource.password=nandom
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.mvc.static-path-pattern=/resources/**
在嵌入式tomcat服务器上运行同一应用程序可能是问题,而当我使用本地tomcat服务器运行它时,它运行良好并显示在浏览器上。
答案 0 :(得分:0)
我后来通过添加此配置文件解决了这个问题
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/theme/");
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
此后,我添加了此依赖项
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>compile</scope>
</dependency>
文件现在在嵌入式tomcat服务器上运行良好。但是我相信SpringBoot已经消除了很多配置。我们现在怎么写一个配置文件,以便通过SpringBoot实现这一目标?