【Java】Springboot 配置jsp 能进入后台却找不到jsp页面
1.我按网上配置jsp的方法,在一个单独的springBoot工程中,可以通过springboot的Main启动,然后访问jsp页面成功。
然后,我在一个pom工程中添加了一个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 如下:
@Controllerpublic 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]
带上项目名访问试试。
加上这个试试:
@Beanpublic 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