Java Spring启动-无法解决白标错误页
我试图从2天开始运行一个简单的Spring启动应用程序,但仍然无法使其正常工作。我查看了所有相关问题和博客,但问题仍然存在 我的项目结构如下所示 POM.xmlJava 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.
<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);
}
}