Whitelabel 错误页面出现意外错误(类型=内部服务器错误,状态=500)。空标识符
Posted
技术标签:
【中文标题】Whitelabel 错误页面出现意外错误(类型=内部服务器错误,状态=500)。空标识符【英文标题】:Whitelabel Error Page There was an unexpected error (type=Internal Server Error, status=500). null identifier 【发布时间】:2021-06-08 16:45:21 【问题描述】:我正在尝试使用 JpaRepository 做一个练习 Spring Boot 程序。我有一个允许用户注册的网络应用程序的代码。用户注册并将登录凭据添加到数据库。我有另一个网页视图,您可以在其中更新用户地址信息。问题是当您更新用户地址时,网络浏览器会显示
白标错误页面:
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Tue Jun 08 12:13:08 EDT 2021
There was an unexpected error (type=Internal Server Error, status=500).
null identifier
我这里显示的代码。
https://github.com/jkirkish/Assignment13.git
当我点击更新按钮后更新地址信息时,任何有关网络浏览器错误的帮助都会有所帮助。
【问题讨论】:
【参考方案1】:-
第一个问题 - 您没有在 users.html 中指定操作:
<div th:if="$#lists.size(users) == 1">
<form action="" method="post">
此行应替换为:
<form th:action="@/users/userId(userId=$user.userId)" method="post">
-
我看到的第二个问题是
Address
实体。尝试在下面更正:
Id
字段(userId)添加策略
移除@MapsId
注解。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getUserId()
return userId;
@OneToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "user_id")
public User getUser()
return user;
【讨论】:
我把那行代码放到表单动作中,看看结果如何。 好的,所以我将用户 html 文件中的代码更改为上述内容 这是我得到的错误:021-06-08 21:28:22.192 ERROR 20736 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[ dispatcherServlet]:servlet [dispatcherServlet] 的 Servlet.service() 在路径 [] 的上下文中抛出异常 [请求处理失败;嵌套异常是 org.hibernate.AssertionFailure: null identifier] 的根本原因 如果我尝试从 user.html 视图更新用户地址,我会收到相同的白页内部服务器错误。如果我使用 mysql WorkBench 访问包含用户和地址的数据库。我可以在那里插入地址信息没有问题。然后我重新启动我的应用程序并在 user.html 视图上看到它弹出并编辑它就好了。 java 控制台打印出显示处理应用程序错误的代码行。我在 Github 存储库的 README 文件中复制并粘贴了 strack 跟踪。我读到我得到一个 org.hibernate.AssertionFailure: null 标识符。不确定它在代码中的位置。或者它发生的原因以及如何解决。以上是关于Whitelabel 错误页面出现意外错误(类型=内部服务器错误,状态=500)。空标识符的主要内容,如果未能解决你的问题,请参考以下文章
如何在Spring-boot中修复错误“Whitelabel错误页面”
Spring Boot Actuator 不工作 - Whitelabel 错误页面
在 Spring Boot Web 应用程序中刷新后的 Whitelabel 错误页面