【解决思路】HTTP Status 500 Type Exception ReportMessage Request processing failed; 【已解决】

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 经常测试的一个网页,突然报错500。前面也没有发生过,但突然报错,只能先改错了,不然都没法进入页面。为什么会调用到存在bug的语句,而以前没有发生这种情况?这一问题没能想清楚,只能归咎于编译器了。

目录

零、前言

一、看错误提示

二、分析错误

三、定位问题

四、解决问题

1.png

Type Exception Report
Message Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: 
PreparedStatementCallback; bad SQL grammar [delete from user_detail where username=?]; nested exception 
is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'username' in 'where clause'
Description The server encountered an unexpected condition that prevented it from fulfilling the request.


零、前言


      经常测试的一个网页,突然报错500。前面也没有发生过,但突然报错,只能先改错了,不然都没法进入页面。为什么会调用到存在bug的语句,而以前没有发生这种情况?这一问题没能想清楚,只能归咎于编译器了。


      百度了很多,发现有很多类似的报错,但大家的错误并不一样。问题的产生都是个例,不能生搬硬套,需要根据错误提示和自己的工程代码对应进行改正。其他博主均是指出自己遇到的错误,并解决之,让新手的我看得似懂非懂,最后问题还是没解决。为此,我摸索了许久,终是解决了,在这里详细解释一下解决思路,如此也能给他人解决自己遇到的问题提供思路和方法。


一、看错误提示


Cause:

1、org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [delete from user_detail where username=?]

2、com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'username' in 'where clause'


二、分析错误


      这里面涉及到了SQL语句,然后Unknown column 'username' in 'where clause'这说明是SQL语句与数据库表结构不统一导致的问题!即原因是未知的字段“username”,user_detail表中缺少字段!

首先在mysql中显示user_detail表结构和内容:

1.png

发现的确少了username字段。(为什么缺少该字段还要去操作该字段呢?)


三、定位问题


      这里面user_detail表缺少字段username,是由于第一个问题中在user_detail表内操作了username字段。其实发生错误第一个错误往往是解决问题的关键,因此就去查询一下操作位置,发现delete操作是需要根据users表一起对应删除username的用户信息。而users表中是username

字段,而对应user_detail表中对应为real_name字段,从而引发的错误。

users表结构:

1.png


四、解决问题


找到调用函数位置,调用了removeUserDetail,然后对应找到removeUserDetail定义位置,并修改其中的操作字段。

//删除
userService.removeUser(localname);
userService.removeUserDetail(localname);

改正之前:

public void removeUserDetail(String userName){
    String sql = "delete from " + ModelMeta.USER_DETAIL
            + " where username=?";
    this.genericEntityDao.update(sql, new Object[] { userName });
}

改正之后:

1.public void removeUserDetail(String userName){
    String sql = "delete from " + ModelMeta.USER_DETAIL
            + " where real_name=?";
    this.genericEntityDao.update(sql, new Object[] { userName });
}

修改后,HTTP  Status 200就能正常访问页面了。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
6月前
|
网络架构
CondaHTTPError HTTP 000 CONNECTION FAILED错误解决方案
以上就是解决"CondaHTTPError: HTTP 000 CONNECTION FAILED"错误的一些方法。希望这些方法能够帮助你解决问题。如果以上方法都无法解决你的问题,你可能需要寻求专业的技术支持。
687 23
|
6月前
|
网络安全
网络问题解析:如何解决CondaHTTPError HTTP 000 CONNECTION FAILED错误。
以上就是斯诺普为你准备的解决Conda出现HTTP连接错误的手术室。希望这辆小车可以顺利驶出棘手的泥潭,再次在自由的大路上疾驰。一切的尝试和努力,只为更好的探索与开发。
230 17
|
安全 应用服务中间件 网络安全
修复HTTPS升级后出现 Mixed Content: The page at 'https://xxx' was loaded over HTTPS, but requested an insecure frame 'http://xxx'. This request has been blocked; the content must be served over HTTPS. 的问题
修复HTTPS升级后出现 Mixed Content: The page at 'https://xxx' was loaded over HTTPS, but requested an insecure frame 'http://xxx'. This request has been blocked; the content must be served over HTTPS. 的问题
|
Web App开发 监控 UED
如何解决Angular中的Error: HTTP request failed, call timeout问题
在Angular应用中,遇到HTTP请求超时错误`Error: HTTP request failed, call timeout`时,可通过多种途径解决。首先,可增加请求超时时间,Angular默认无超时限制,设置合理的超时时间如5秒有助于避免长时间等待无响应。其次,检查服务器响应时间,利用开发者工具监控网络请求,优化服务器端代码或调整超时值。最后,确认网络连接稳定性,使用`navigator.onLine`检测网络状态,并在不同网络环境中测试。这些策略共同作用,能够有效提升应用的稳定性和用户体验。
700 1
|
iOS开发 MacOS Python
【Mac 系统】解决已有清华镜像但出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url
在尝试使用清华镜像创建conda环境时遇到下载超时问题,通过删除原有镜像并添加针对Mac OS的清华镜像解决了该问题。
444 3
|
Python
【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x
【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x
190 0
|
小程序
Failed to load local image resource Xx the server responded with a status of of 500 (HTTP/1.1 500)
Failed to load local image resource Xx the server responded with a status of of 500 (HTTP/1.1 500)
599 4
svn: E175002: Commit failed (details follow): svn: E175002: Unexpected HTTP status 502Bad Gateway on
svn: E175002: Commit failed (details follow): svn: E175002: Unexpected HTTP status 502Bad Gateway on
490 1
Bad Request, Resolved [org.springframework.http.converter.HttpMessageNotReadableException,跟着视频仔细比对
Bad Request, Resolved [org.springframework.http.converter.HttpMessageNotReadableException,跟着视频仔细比对
|
API Java
解决HTTP 400 Bad Request错误的方法
解决HTTP 400 Bad Request错误的方法
6044 0

热门文章

最新文章