Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring启动-无法解决白标错误页_Java_Spring Mvc_Jsp_Spring Boot - Fatal编程技术网

Java Spring启动-无法解决白标错误页

Java Spring启动-无法解决白标错误页,java,spring-mvc,jsp,spring-boot,Java,Spring Mvc,Jsp,Spring Boot,我试图从2天开始运行一个简单的Spring启动应用程序,但仍然无法使其正常工作。我查看了所有相关问题和博客,但问题仍然存在 我的项目结构如下所示 POM.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.

我试图从2天开始运行一个简单的Spring启动应用程序,但仍然无法使其正常工作。我查看了所有相关问题和博客,但问题仍然存在

我的项目结构如下所示

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>
应用程序属性

server.servlet.context-path=/EBS-web
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
logging.level.org.springframework.web=DEBUG
登录控制器

@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>

在此处插入标题
Hi登录
每当我尝试将应用程序作为Spring Boot应用程序(Eclipse的STS插件)运行并访问 它在UI上给出以下错误消息

此应用程序没有显式映射的白标签错误页 /错误,因此您将此视为一种回退

Sun Sep 23 17:34:52 IST 2018出现意外错误(类型=非 已找到,状态为404)。没有可用的消息

从下面的堆栈跟踪中,我可以看到spring能够获取处理程序方法,但无法找到关联的视图

2018-09-23 17:44:12.248调试14728---[nio-8080-exec-2] o、 s.web.servlet.DispatcherServlet:的上次修改值 [/EBS-web/]is:-1

******************伐木************************

2018-09-23 17:44:12.258调试14728---[nio-8080-exec-2] o、 s.w.s.v.ContentNegotingViewResolver:请求的媒体类型为 [text/html,application/xhtml+xml,image/webp,image/apng, 应用程序/xml;q=0.9,/;q=0.8]基于接受头类型和 可生产介质类型[/])2018-09-23 17:44:12.258调试14728--- [nio-8080-exec-2]o.s.w.servlet.view.BeanNameViewResolver:否 找到视图名称“login”的匹配bean 2018-09-23 17:44:12.260 调试14728---[nio-8080-exec-2] o、 s.w.s.v.ContentNegotingViewResolver:返回 [org.springframework.web.servlet.view.JstlView:name'login';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';URL 名为的DispatcherServlet中的[/WEB-INF/jsp/login.jsp]] “dispatcherServlet”2018-09-23 17:44:12.264调试14728--- [nio-8080-exec-2]o.s.web.servlet.view.JstlView: 转发到中的资源[/WEB-INF/jsp/login.jsp] InternalResourceView“登录”2018-09-23 17:44:12.266调试14728--- [nio-8080-exec-2]o.s.web.servlet.DispatcherServlet: 名为“DispatcherServlet”的DispatcherServlet正在处理GET请求 对于[/EBS web/web-INF/jsp/login.jsp]2018-09-23 17:44:12.267调试 14728---[nio-8080-exec-2]s.w.s.m.m.a.RequestMappingHandlerMapping: 查找路径/WEB-INF/jsp/login.jsp 2018-09-23的处理程序方法 17:44:12.268调试14728---[nio-8080-exec-2] s、 w.s.m.m.a.RequestMappingHandlerMapping:未找到处理程序方法 对于[/WEB-INF/jsp/login.jsp]2018-09-23 17:44:12.268调试14728--- [nio-8080-exec-2]o.s.w.s.handler.SimpleUrlHandlerMapping:匹配 请求模式[/WEB-INF/jsp/login.jsp]为[/**]


请在控制器中定义方法:您可以定义
@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>

请确保所有类都在根包下。我在这个错误上花了好几个小时。 我的应用程序在自定义端口8085上运行,但在访问该端口时没有响应。我在控制台中没有收到错误。在根包下重新构造包之后。错误已解决

快乐学习:)

问候,,
Vicky Sharma

只需将类文件添加到主生成包中,错误就会得到解决。

添加
@RestController
而不是
@Controller
。然后运行Java应用程序。这应该可以解决
白标
错误

我尝试按照建议更新代码,但问题仍然是一样的:(你能将你的代码发布到github并共享url吗?让我看看配置中有一些问题。因为它说找不到匹配的bean或者存在视图解析程序问题。请输入你的配置信息,这样它将帮助你获得solution@MayankVaid检查我的更新答案以添加启用对JSP的支持,添加对tomcat embed jasper的依赖项
 <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>
@SpringBootApplication
public class WebApplication{


    public static void main(String[] args) {
        SpringApplication.run(WebApplication.class, args);
    }

}