我正尝试在我的Spring Boot服务中添加一个jsp页面。我的问题是,每次我试图转到那个页面时,我都会遇到这样的情况:
白标错误页
这个应用程序没有显式的/error映射,所以您认为这是一种后备。
Tue Apr 21 23:16:00EEST 2015出现意外错误(type=Not Found,status=404)。没有可用的消息
我已经在我的application.properties中添加了前缀和后缀:
spring.view.prefix: /WEB-INF/jsp/
spring.view.suffix: .jsp
这是我的控制器类:
@Controller
public class MarkerController {
@RequestMapping(value="/map")
public String trafficSpy() {
return "index";
}
}
我的Application类:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
private static Logger logger = Logger.getLogger(Application.class.getName());
public static void main(String[] args) {
logger.info("SPRING VERSION: " + SpringVersion.getVersion());
SpringApplication.run(Application.class, args);
}
}
和index.jsp:
<!DOCTYPE html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html lang="en">
<body>
<h1>Hello, World!!!</h1>
<p>JSTL URL: ${url}</p>
</body>
</html>
这是src文件结构:
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── example
│ │ │ └── internetprogramming
│ │ │ └── myserver
│ │ │ └── server
│ │ │ ├── Application.java
│ │ │ ├── config
│ │ │ │ └── DatabaseConfig.java
│ │ │ ├── controller
│ │ │ │ └── MarkerController.java
│ │ │ ├── dao
│ │ │ │ ├── MarkerDaoImplementation.java
│ │ │ │ └── MarkerDaoInterface.java
│ │ │ ├── Marker.java
│ │ │ └── service
│ │ │ ├── MarkerServiceImplementation.java
│ │ │ └── MarkerServiceInterface.java
│ │ ├── resources
│ │ │ └── application.properties
│ │ └── webapp
│ │ └── WEB-INF
│ │ └── jsp
│ │ └── index.jsp
发布于 2015-04-22 06:11:04
确保在依赖项列表中有jasper和jstl:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
这是一个有效的入门项目-- https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-web-jsp
发布于 2017-02-22 14:07:23
在较新版本的Spring中,需要在application.properties文件中放入以下内容:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
另外,JSP文件需要放在src/main/resources/META-INF/resources/WEB-INF/jsp下。
发布于 2019-05-19 14:16:06
这是我关于白标错误页的工作解决方案:找不到视图页(Jsp)
在POM.xml,确保打包是"war“,并添加tomcat/jasper依赖项
<packaging>war</packaging>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
在application.properties处添加前缀/后缀
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
**如果使用Intellij,则必须设置Web资源目录。在项目结构(ctrl+alt+shift+ S) >方面>选择网站(您的应用程序)>添加(+)网站资源目录(我的是......\src\main\webapp)
**如果您有多个模块(在intellij),请以$MODULE_WORKING_DIR$的身份编辑configuration>选择springboot您的应用程序> Configuration tab>工作目录
https://stackoverflow.com/questions/29782915
复制相似问题