【Java】Springboot 配置jsp 能进入后台却找不到jsp页面

1.我按网上配置jsp的方法,在一个单独的springBoot工程中,可以通过springboot的Main启动,然后访问jsp页面成功。

然后,我在一个pom工程中添加了一个springboot 模块,然后按之前的方法配置完之后,访问jsp页面,能进入后台
但是,却找不到jsp页面,显示如下图:

【Java】Springboot 配置jsp 能进入后台却找不到jsp页面

不知道为什么?

工程结构如下

【Java】Springboot 配置jsp 能进入后台却找不到jsp页面

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 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.wuyou</groupId>

<artifactId>spring-boot-web-jsp</artifactId>

<version>0.0.1-SNAPSHOT</version>

<packaging>jar</packaging>

<name>spring-boot-web-jsp</name>

<description>Demo project for Spring Boot</description>

<parent>

<groupId>com.wuyou</groupId>

<artifactId>springboot</artifactId>

<version>0.0.1-SNAPSHOT</version>

</parent>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

<!-- 使用Jasper引擎解析JSP -->

<dependency>

<groupId>org.apache.tomcat.embed</groupId>

<artifactId>tomcat-embed-jasper</artifactId>

<!--<scope>provided</scope>-->

</dependency>

<!-- jstl标签 -->

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>jstl</artifactId>

<version>1.2</version>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

</project>

application.properties 如下

spring.mvc.view.prefix= /WEB-INF/view/

spring.mvc.view.suffix= .jsp

controller 如下:

@Controller

public class JspController {

@RequestMapping(value = "/login", method = RequestMethod.GET)

public ModelAndView getListaUtentiView(){

ModelAndView model = new ModelAndView("login");

model.addObject("name", "Spring Boot");

return model;

}

@RequestMapping(value = "/403", method = RequestMethod.GET)

public ModelAndView to403(){

ModelAndView model = new ModelAndView("403");

// model.addObject("name", "Spring Boot");

return model;

}

}

工程源码地址:https://git.oschina.net/zh194...
有哪位大神有这方面经验的,还望指点一二?

回答

不能访问:Tomcat docbase: ---------->/C:/Users/ADMINI~1/AppData/Local/Temp/tomcat-docbase.8467610191904668066.8081/
能访问:Tomcat docbase: ------------>/D:/Workspace/IDEA/spring-boot-jsp/src/main/webapp/
主要原因:Tomcat未能找到src/main/webapp目录;
解决办法:1、重新创建新项目;2、创建一个配置Spring文件如下。

// 编写一个Config,设置其指向webapp目录即可,请优化配置webapp目录

@Configuration

public class TomcatConfig {

@Bean

public EmbeddedServletContainerFactory embeddedServletContainerFactory() {

ConfigurableEmbeddedServletContainer factory = new TomcatEmbeddedServletContainerFactory();

factory.setDocumentRoot(new File("D:\\Workspace\\IDEA\\spring-boot-web-demo\\src\\main\\webapp\\"));

return (EmbeddedServletContainerFactory) factory;

}

}

有疑问请Mail:
mail: [email protected]

带上项目名访问试试。

加上这个试试:

@Bean

public ViewResolver getViewResolver(){

InternalResourceViewResolver resolver = new InternalResourceViewResolver();

resolver.setPrefix("/WEB-INF/jsp/");

resolver.setSuffix(".jsp");

resolver.setViewClass(JstlView.class);

return resolver;

}

运行没问题

请问解决了吗 我也遇到了

添加配置可以实现, 感谢分享

以上是 【Java】Springboot 配置jsp 能进入后台却找不到jsp页面 的全部内容, 来源链接: utcz.com/a/89294.html

回到顶部