我试着从2天开始运行一个简单的Spring Boot应用程序,但仍然无法使其工作。我检查了所有的相关问题和博客,但仍然坚持问题。
我的项目结构如下所示。
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</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-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
@SpringBootApplication
public class WebApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(WebApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
}
应用程序.属性
server.servlet.context-path=/EBS-web
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
logging.level.org.springframework.web=DEBUG
LoginController
@Controller
public class LoginController {
@RequestMapping(path="/")
public String login() {
System.out.println("******************logging************************");
return "login";
}
}
login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Hi Login
</body>
</html>
Sun Sep 23 17:34:52 IST 2018出现意外错误(类型=未找到,状态=404)。无可用消息
从下面的堆栈跟踪中,我可以看到spring能够获取处理程序方法,但不能找到关联的视图。
2018-09-23 17:44:12.248 DEBUG 14728--[nio-8080-exec-2]o.s.web.servlet.dispatcherservlet:[/ebs-web/]上次修改的值是:-1
**************记录*********************************
2018-09-23 17:44:12.258 DEBUG 14728---[nio-8080-exec-2]O.s.w.s.v.contentNegotiatingViewResolver:请求的媒体类型为[text/html,application/xhtml+xml,image/webp,image/apng,application/xml;q=0.9,/;q=0.8]基于接受标头类型和可生成的媒体类型[/])2018-09-23 17:44:12.258 DEBUG 14728---[nio-8080-exec-2]O.s.w.servlet.view.beannameViewResolver:未URL[/web-inf/jsp/login.jsp]]基于请求的媒体类型“text/html”2018-09-23 17:44:12.260调试14728--[nio-8080-exec-2]o.s.web.servlet.dispatcherservlet:呈现视图[org.springframework.web.servlet.view.jstlview:name“login”;DispatcherServlet中的URL[/WEB-INF/jsp/login.jsp]],名称为“Dispatcher Servlet”2018-09-23 17:44:12.264 DEBUG 14728---[nio-8080-exec-2]o.s.web.servlet.view.jstlview:转发到InternalResourceView“login”2018-09-23 17:44:12.266 DEBUG 14728---[nio-8080-exec-2]o.s.web.servlet.DispatcherServlet:名称为“dispatcher servlet”的资源[/ebs-web/web-inf/jsp/login.jsp]处理[/ebs-web/web-inf/jsp/login.jsp]2018-09-23 17:44:12.267 DEBUG 14728---[nio-8080-exec-2]s.w.s.m.m.a.RequestMappingHandlerMapping:查找路径
请在控制器中定义方法:可以定义@requestmapping(value=“/”,method=requestmethod.get)
或者直接使用@getmapping
@Controller
public class LoginController {
@GetMapping(path="/")
public String login() {
System.out.println("******************logging************************");
return "login";
}
}
在您的pom中可能会有更多的冲突,比如不需要添加tomcat依赖项,因为它已经嵌入了,所以可以删除下面的内容。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
要启用对JSP的支持,请添加对tomcat-embed-jasper的依赖项。
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
在2.x版本之后,不需要扩展SpringBootServletInitializer
,所以下面的内容应该足以启动。
@SpringBootApplication
public class WebApplication{
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
}
我坚持使用这个简单的MVC示例。当我启动应用程序并转到localhost:8080时,我得到了“白标签错误页面”,甚至我在“src/main/资源/模板”中创建了“index.html”。我还在我的索引方法上添加了@Request estMap(“/”)。我找不到问题。 : : -在"src/main/资源/模板"下:
下面是我的代码:我正在从application.properties文件swagerconfig.java获取所有值 下面是我的springboot初始值设定项: ServletInitializer.java 日志显示它已映射: 这是我得到的错误:
我正在尝试将我的spring mvc项目转换成spring boot。我转换了所有必要的文件根据spring引导。没有错误在控制台。但是当我在浏览器中运行我的web应用程序时,我会得到这个错误。错误:“白标签错误页”没有可用的消息请告诉我为什么我得到这个错误和如何解决它? pageController.java onlineShoppingApplication.java Dispatcher-s
你好,我写和销售机票的后端服务,我试图为这个api编写测试。当我试图为AirlineCompanyController类编写createAirlineCompany测试时,我得到了这个错误。 我的测试班: 还有我的航空公司服务舱: 我的航空公司Imp课程: 我得到的错误是来自then返回()方法,我不知道如何解决这个问题。谢谢大家。
当我使用ide运行我的springboot应用程序时,它工作正常。 但当我运行它的jar时,我得到了白标签错误页面。 白标签错误页面 此应用程序没有 /error的显式映射,因此您将此视为后备。 2018年10月9日星期二15:42:47出现意外错误(类型=未找到,状态=404)/WEB-INF/views/index。jsp
我不知道如何解决这个问题 spring端:role.java 因此,如果我现在尝试inline=“javascript”: 当我运行它时,我得到这样的响应: 白标签错误页