我试图在我的Spring Boot服务中添加一个jsp页面。我的问题是,每次我试图去那个页面,我都有这个:
白标签错误页
此应用程序没有/error的显式映射,因此您将其视为回退。
Tue Apr21 23:16:00EEST 2015有一个意外的错误(类型=未找到,状态=404)。没有可用的消息
我已将前缀和sufix添加到我的应用程序中。特性:
spring.view.prefix: /WEB-INF/jsp/
spring.view.suffix: .jsp
这是我的控制器类:
@Controller
public class MarkerController {
@RequestMapping(value="/map")
public String trafficSpy() {
return "index";
}
}
我的申请类别:
@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
这是关于白标签错误页面的有效解决方案:找不到视图页面(jsp)
在POM. xml,确保打包是“战争”,并添加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>
在应用程序中添加前缀/后缀。性质
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
**如果使用Intellij,则必须设置Web资源目录。在项目结构(ctrl ALT移位S)
**如果您有多个模块(在intellij),请运行
在较新版本的Spring中,需要在应用程序中添加以下内容。属性文件:
Springmvc。看法前缀=/WEB-INF/jsp/
spring。mvc。看法后缀=。jsp
此外,JSP文件需要放在src/main/资源/META-INF/资源/WEB-INF/jsp下
确保依赖项列表中包含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