Whitelabel Error Page Tomcat + Spring boot
В общем проблема такая.
Развернул war на Tomcat 9. /login, /index /403 отрабатывают, а другие к примеру /convert выдает Writable error.
При запуске локально апликации спринга, отрабатывает все хорошо, но при развертывании получают такие ошибки. В самом war, вроде как присутствуют нужные страницы, классы.
В чем может быть причина?
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/>
</parent>
<groupId>com.iga</groupId>
<artifactId>trends</artifactId>
<version>0.1</version>
<packaging>war</packaging>
<name>trends</name>
<description>test</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<start-class>com.iga.trends.TrendsApplication</start-class>
</properties>
<dependencies>
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>4.6</version>
</dependency>
<!-- наш старый добрый thymeleaf шаблонизатор -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>2.3.1.RELEASE</version>
</dependency>
<!-- опционально, библиотека добавит полезные теги для SPRING SECURITY в Thymeleaf шаблонах -->
<!-- содержит в себе необходимые библиотеки для создания ВЕБ приложения -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- горячая подмена, выключенный кеш для шаблонов, включенный live reload -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>nz.net.ultraq.thymeleaf</groupId>
<artifactId>thymeleaf-layout-dialect</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.7</version>
</dependency>
</dependencies>
<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Поменял:
@RequestMapping(value = {"/convert"}, method = RequestMethod.GET)
public ModelAndView convert(HttpServletRequest request, HttpServletResponse response) {
ModelAndView mav = new ModelAndView("convert");
mav.addObject("alarms", storageService.loadAll().map( Path::getFileName)
.collect(Collectors.toList()));
mav.addObject("toks", storageService.loadAllToks().map( Path::getFileName)
.collect(Collectors.toList()));
mav.addObject("naprs", storageService.loadAllNaprs().map( Path::getFileName)
.collect(Collectors.toList()));
return mav;
}
На
@GetMapping(value = {"/convert"})
public String convert(Model model) {
model.addAttribute("alarms", storageService.loadAll().map( Path::getFileName)
.collect(Collectors.toList()));
return "convert";
}
Развернутое приложение на Tomcate теперь отпрабатывает по этому запросу нормально. Может кто-то подсказать в чем проблема?