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

引导Spring Boot应用程序时出错

许淳
2023-03-14

好吧,我正在通过选择视图技术作为jsp开发一个Spring启动应用程序。但是当我尝试引导Spring启动应用程序时,我得到了白色级别的错误页面。

public class Person {

    private String p_first_name;
    private String p_last_name;
    private int age;
    private String city;
    private String state;
    private String country;

    public Person(String p_first_name, String p_last_name, int age, String city, String state, String country) {
        super();
        this.p_first_name = p_first_name;
        this.p_last_name = p_last_name;
        this.age = age;
        this.city = city;
        this.state = state;
        this.country = country;
    }

    public Person() {
        super();
        // TODO Auto-generated constructor stub
    }

    public String getP_first_name() {
        return p_first_name;
    }

    public void setP_first_name(String p_first_name) {
        this.p_first_name = p_first_name;
    }

    public String getP_last_name() {
        return p_last_name;
    }

    public void setP_last_name(String p_last_name) {
        this.p_last_name = p_last_name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

}
@Controller
public class PersonController {

    private static ArrayList<Person> persons = new ArrayList<Person>();

    static {
        persons.add(new Person("kumar", "bikash", 28, "bangalore", "karnataka", "india"));
        persons.add(new Person("kumar", "pratap", 24, "delhi", "delhi", "india"));
        persons.add(new Person("kumar", "ravi", 29, "delhi", "delhi", "india"));
        persons.add(new Person("kumar", "mangalam", 65, "delhi", "delhi", "india"));
    }

    @RequestMapping(value = { "/", "/index" }, method = RequestMethod.GET)
    public String index(Model model) {
        String message = "Hello" + "Spring Boot implementation with jsp Page";
        model.addAttribute("message", message);
        return "index";
    }

    @RequestMapping(value = "/personList", method = RequestMethod.GET)
    public String getPersonList(Model model) {
        model.addAttribute("persons", persons);
        return "personList";

    }
}
# VIEW RESOLVER CONFIGURATION
spring.mvc.view.prefix=/WEB-INF/jsp
spring.mvc.view.suffix=.jsp
index.jsp
=========
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Integration of Spring Boot with jsp page</title>
</head>
<body>
    <h1>Welcome to Spring boot</h1>
    <p>This project is an Example of how to integrate Spring Boot with
        jsp page.</p>
        <h2>${message} </h2>

        <a href="${pageContext.request.ContextPath}/personList"></a>
</body>
</html>

personList.jsp
==============
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Person List content Present here</title>
</head>
<body>
    <h1>Person List</h1>

    <div>
        <table border="1">
            <tr>
                <th>FirstName:</th>
                <th>LasttName:</th>
                <th>Age:</th>
                <th>city:</th>
                <th>State:</th>
                <th>Country:</th>
            </tr>
            <c:forEach items="${persons}" var=person>
                <tr>
                    <td>${person.firstname}</td>
                    <td>${person.lastname}</td>
                    <td>${person.age }</td>
                    <td>${person.city }</td>
                    <td>${person.state }</td>
                    <td>${person.country }</td>
                </tr>
            </c:forEach>
        </table>
    </div>
</body>
</html>
Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Jun 07 23:41:57 IST 2019
There was an unexpected error (type=Not Found, status=404).
No message available

那么请复习下面的代码。帮我解决哪里出了问题?

共有2个答案

赫连法
2023-03-14

1) 我建议尝试@RestController注释,以确保至少获得JSON响应。(仅用于调试)

2) 在完成第一部分后,您可以返回到@Controller注释,并确保在请求映射方法中返回的字符串作为jsp文件可用。我建议最初尝试使用单个endpoint(“/”),并为其提供适当的jsp页面。

3)如果它仍然产生同样的问题,你可以参考这篇文章

Spring Boot JSP 404。白标错误页面

4) 您还可以通过以下链接禁用和自定义默认错误页面https://www.baeldung.com/spring-boot-custom-error-page

阴飞星
2023-03-14

您是否希望启用自己的错误页面禁用白色级别错误页面?也许这对你有帮助。

如果您没有在配置中指定任何自定义实现,BasicErrorController bean将自动在Spring Boot中注册。您可以添加ErrorController的实现。

@Controller
public class MyErrorController implements ErrorController  {

    @RequestMapping("/error")
    public String handleError() {
        //do something like logging
        return "error";
    }

    @Override
    public String getErrorPath() {
        return "/error";
    }
}
 类似资料:
  • 我试图在Heroku上推动我的Spring Boot应用程序,我得到了一个错误:未能用Maven构建应用程序,即未能执行目标org.apache.Maven.plugins:maven-compiler-plugin:3.8.1:compile(default-compile)on project BlogApplication:致命错误编译:无效的目标版本:11。 日志: pom.xml

  • 我正在将一个非常基本的web应用程序部署到Google应用程序引擎。我使用的是Springboot,我可以在本地很好地运行应用程序,但当我部署到Google时,应用程序引擎不会启动实例。我在启动时配置了一个云SQL数据源。 我有云sql配置属性配置src/main/Resources/application.properties.App Engine似乎找不到这些属性,所以它无法正确设置Cloud

  • 我在stackoverflow上发现了类似的问题,并试图用这种方式(LINK)解决这个问题,但在我的项目中没有起作用。谁能给我一些建议吗? pom.xml 应用属性

  • 我知道Spring Boot应用程序可以作为war文件部署到生产环境中。但是部署spring boot应用程序的典型方式是什么?它只需要jvm而不需要容器吗?

  • 我有一个基于Java的Web应用程序,我正在Microsoft Azure中运行。操作系统:RHEL7.3版本。Web服务器:Apache9所以问题是当上传一个。xlsx文件时,它会给我以下错误。同样的配置,每一个其他的infra(包括AWS,本地),每一件事都运行良好。我很困惑,错误可能在哪里,即在服务器级别配置或Java应用程序代码中的错误? 例外 错误:错误返回类型异常详细信息:位置:com