当我点击URL时,它正在下载JSP页面,但是当我使用HTML页面时,它将在浏览器中呈现。 || HTML 1-0 JSP ||
项目结构
应用程序属性:
spring.mvc.view.prefix=/views/
spring.mvc.view.suffix=.html
控制器
当我添加了tomcat-embed-jasper依赖项时,它起作用了。 为什么会这样?
答案 0 :(得分:0)
嵌入式tomcat认为jsp渲染是可选的。这就是为什么需要它。据我所知。您必须已提供所提供的tomcat-embed-jasper依赖关系范围。
答案 1 :(得分:0)
您可以执行以下操作:
@Controller
public class DemoController {
@GetMapping("/")
public String getLoginView(){
return "login";
}
@GetMapping("/welcoome")
public String welcome(){
return "login";
}
}
@Configuration
@EnableWebMvc
public class ApplicationConfigurerAdapter extends WebMvcConfigurerAdapter{
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
@Configuration
@EnableAutoConfiguration
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
server.contextPath=/
server.servlet.contextPath=/
server.port=6565
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
您可以将其构建为mvn软件包,也可以在容器(例如Tomcat)之外运行
答案 2 :(得分:0)
-当我添加了tomcat-embed-jasper依赖项时,它起作用了。为什么会这样?
因为它需要一个webapp容器。