当前位置: 首页 > 知识库问答 >
问题:

Spring Boot-无法解析白标签错误页

乌璞瑜
2023-03-14

我试着从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:查找路径

共有1个答案

章远航
2023-03-14

请在控制器中定义方法:可以定义@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”: 当我运行它时,我得到这样的响应: 白标签错误页