我试图在我的Spring Boot服务中添加一个jsp页面。我的问题是,每次我尝试转到该页面时,都会显示以下内容:
白标错误页面 此应用程序没有针对/ error的显式映射,因此您将其视为后备。 Tue Apr 21 23:16:00 EEST 2015有一个意外错误(类型=未找到,状态= 404)。无可用讯息
白标错误页面
此应用程序没有针对/ error的显式映射,因此您将其视为后备。
Tue Apr 21 23:16:00 EEST 2015有一个意外错误(类型=未找到,状态= 404)。无可用讯息
我已经在我的application.properties中添加了前缀和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
确保依赖项列表中包含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