У меня проблема с отображением страницы jsp в Spring-MVC.Это базовый привет мир Spring-MVC с Gradle и IntelliJ CE:
Я получаю следующую страницу ошибки:
Вот мой build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE")
}
}
plugins {
id 'java'
}
group 'com.helloct'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
bootJar {
baseName = 'gs-serving-web-content'
version = '0.1.0'
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
compile("org.springframework.boot:spring-boot-devtools")
compile("org.springframework.boot:spring-boot-starter")
compile("org.springframework:spring-jdbc")
compile("com.h2database:h2")
compile("com.fasterxml.jackson.core:jackson-databind")
compile('javax.servlet:jstl')
compile('org.apache.tomcat.embed:tomcat-embed-jasper')
compile 'javax.servlet.jsp:javax.servlet.jsp-api'
testCompile("junit:junit")
}
Файл разрешения представления:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "hello")
public class WebConfig implements WebMvcConfigurer {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setViewClass(JstlView.class);
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
Страница контроллера:
@Controller
public class JSPController {
@GetMapping("/jspPage")
public String home(){
return "jspPage";
}
}
jsp страница расположение:
Содержимое файла application.properties:
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
Использованиедвижок шаблонов по умолчанию, страница отображается правильно, но с использованием jsp она не работает
Ошибка журнала:
https://hastebin.com/lijekesoti.apache
ПРИМЕЧАНИЕ. Я знаю, что Thymleleafрекомендуемый шаблон для Spring, но я хочу по какой-то причине работать с JSP
ОБНОВЛЕНИЕ
После прочтения этот пост с помощью ответа paulsm4 , удалив следующую строку:
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
и удалив файл решателя представлений, решил мою проблему.