菩提阁外卖各种bug_network

原项目视频:
https://www.bilibili.com/video/BV13a411q753/

下面是遇到的有关的bug
(这里只包括了基础篇,没有引入redis那些。所以都是前面103集遇到的bug)

静态资源映射失败

一般出错了都是细节出现了问题

  • 这里是包建立错位置了 -静态资源映射一直没有成功

1668248576884

  • 解决方法
    • 1668248625873
    • 1668248658081
    • 显然成功了
Could not autowire. No beans of 'EmployeeService' type found.
  • 错误页面

1668253347432

  • 解决方法

    • 1668253463190
    • 因此我在的service类上加了@Service注解就好了
    • 1668253500070
  • 成功解决

    • 1668253526352
Field employeeService in com.itheima.reggie.controller.EmployeeController required a bean of type 'com.itheima.reggie.service.EmployeeService' that could not be found.
  • 1668256382598

  • 解决方法

    • impl类加注解@Service
    • 1668256470818
  • 成功解决

    • 1668256516675
拦截器,对于没有登录的拦截,失败
  • 问题
    • 1668331311404
    • 1668331358228

解决方法

  • 1668341737934
  • 让每一个都有return返回,这样可以结束方法
JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@5653a1f8] will not be managed by Spring
1668338235722
  • 解决方法
当我输入http://localhost:8901/backend/index.html 的时候,前端不会自动跳转到登录页面
1668340795485
  • 原因(前端这里写的notlogin!

    • 1668340881451
  • 解决方法

    • 后端那里改回NOTLOGIN
    • 1668340948449
1668414470554
  • 错误

    • 1668416150142

      1668416197731

  • 解决方法

    • 弄了个异常处理方法。全局异常处理
    • 1668416688972
    • 捕获成功
    • 1668416903498
js对long型数据的处理丢失精度
1668428999235
  • 解决思路1668429073045

  • 解决方法

    • 1668429342863

      1668429363882

公共字段的那个类不能通过httpservlet 获取用户的 session
1668557172106
  • 解决方法
    • 思路
      • 1668557203267
      • 1668557255403
      • 验证
        • 1668557694886
      • 1668558033840
    • 具体实现
    • 1668559875285
Cause: java.sql.SQLSyntaxErrorException: Unknown column 'is_deleted' in 'field list'
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Unknown column 'is_deleted' in 'field list'] with root cause
java.sql.SQLSyntaxErrorException: Unknown column 'is_deleted' in 'field list'
1668571222100
  • 原因

    • 问题描述

      我们需要在实体类中新增一个属性用于临时存放数据,便于一对一或者一对多的关联查询,而问题是他并非数据库中的字段所以造成了以下错误详情:

    • 原因:java.sql.SQLSyntaxErrorException:“字段列表”中的未知列“is_deleted”

      ; 错误的SQL语法[];嵌套异常是java.sql.SQLSyntaxErrorException:“字段列表”]中的未知列“is_deleted”,具有根本原因

      java.sql.SQLSyntaxErrorException:“字段列表”中的未知列“is_deleted”

  • 解决方法1

    • 1668571580458
    • 查询成功!

    1668571607513

  • 解决方法2(推荐)加入table注解让这个课识别。

    • 1668571821984
    • 也成功了
页面上显示删除成功但实际上并没有实现删除
也就是逻辑上删除了,物理上没删除
  • 问题

    • 1668575514557
    • 1668575579715
  • 查找原因

    • 删除方法
      • 1668575606271
    • 当点击前端删除按钮时对应绑定的函数代码
      • 1668575662199
    • 请求url路径时对应的参数
      • 1668575702963
  • 发现原因,要请求的参数时ids不是id。故只需要把后端代码的id改成ids即可

  • 解决

    • 把原本的这个
    • 1668575476731
    • 改成
    • 1668575775682
  • 重新启动服务器(成功)

    • 1668575848808
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'categoryController' method

1668581951766

  • 错误原因

    • 这种错误产生的原因就是同一个请求映射到了俩个方法上,所以导致报错
    • 1668582228049
    • 1668582247517
    • 显然这两个映射不明确,没有区分,修改其中一个即可
  • 解决方法

    • 将@RequestMapping(value="xxx")修改一下即可,找到重名的请求修改其中一个,重启访问访问则正常!
    • 1668582303005
  • 运行结果(成功)

    • 1668582090534
前端405报错
后端显示这个
Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'PUT' not supported]
discard long time none received connection. , jdbcUrl : jdbc:m....
  • 错误原因
    • 前端请求的是put方法。
    • 1668583140748
    • 但是我后端写成了post
    • 1668583042453
  • 解决
    • 1668583080059
2022-11-16 21:10:14.523 ERROR 30880 --- [nio-8901-exec-7] c.i.r.common.GlobalExceptionHandler : Duplicate entry '可乐鸡翅' for key 'dish.idx_dish_name'
Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@62da21c0]
Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@62da21c0]
2022-11-16 21:10:14.533 ERROR 30880 --- [nio-8901-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only
  • 问题,什么莫名其妙的数据回滚
  • 解决
    • 这是因为加了事务控制但是并没有返回成功的值。所以加上即可
    • 1668605044818
'getSetmealId()' in 'com.itheima.reggie.entity.SetmealDish' cannot be applied to '(java.lang.Long)'
1668743507401
1668743533357
  • 解决,其实是打错了
    • 应该是item.setSetmealId
套餐正在售卖中不回显!就一直报错回滚!
1668756010989
  • 原因

    • @Transactional 这个注解乱加,最后我只留下了4个确实需要用的就可以成功了!
    • 1668757489569
  • 解决方法(删掉无效的)

    • 1668757573042
修改前端数据,要在浏览器清除缓存。
posted @ 2022-11-27 20:26  Lovi*  阅读(491)  评论(0)    收藏  举报