IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【解决思路】HTTP Status 500 Type Exception ReportMessage Request processing failed; 【已解决】 -> 正文阅读

[网络协议]【解决思路】HTTP Status 500 Type Exception ReportMessage Request processing failed; 【已解决】

目录

零、前言

一、看错误提示

二、分析错误

三、定位问题

四、解决问题


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表结构和内容:

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

三、定位问题

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

四、解决问题

? ? ? ?找到调用函数位置,调用了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 });
}

改正之后:

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就能正常访问页面了。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-13 11:46:20  更:2021-10-13 11:47:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/29 8:41:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码