URI запроса сопоставления HTTP Проблема при использовании встроенного Tomcat, но хорошо работает на локальном сервере Tomcat - PullRequest
0 голосов
/ 23 октября 2018

Почему мое приложение SpringBoot SpringMVC работает хорошо и отображается в браузере, когда я запускаю его с помощью локального сервера Tomcat, но приложение не загружается по контекстному пути всякий раз, когда я запускаю его на встроенном сервере Tomcat?

Нижеэто сообщение журнала, которое я получаю, когда запускаю его на встроенном сервере tamcat

No mapping found for HTTP request with URI [/ccbpas/WEB-INF/views/index/loginform.jsp] in DispatcherServlet with name 'dispatcherServlet'

Ниже приведен файл application.properties для SpringBoot

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.

1 Ответ

0 голосов
/ 23 октября 2018

Позже я решил эту проблему, добавив этот файл конфигурации

@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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...