bug记录:whitelabel error page相关问题探讨【已解决】

情况:springboot能正常启动,且能通过编译,无错误;

然后后台访问静态页面的时候,出现whittelabel error page错误,检查思路如下:

1.判断application是否能检查到controller类,首先application在目录中的范围大于或等于controller的范围,然后检查能否映射静态资源,重新编写了getmapping,发现能实现映射,说明问题可能出现在静态资源的渲染方面

2.每次访问页面,后台回复有一个错误,错误信息为:

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "cartList.size()" (template: "common.html" - line 138, col 27)] with root cause

首先我们来分析一下这个信息,首先这是一个由thymeleaf模板引起的错误,“对SpringEL表达式求值时发生异常”。先检查这个请求对应的view 找到line 138, col 27代码如下,定位到common.html的138行,找到确实出现拼写错误,修改之后就能正常运行了。

 

总结:
既然和 DispatcherServlet 有关,那无非就是MVC的映射出了问题,通俗的理解,就是:JVM编译期有个 servlet 加载/调用失败了。

引用一张图,和大家一起复习下 DispatcherServlet :

 

整个流程可以被大致描述为:

  1. 客户端请求被 DispatcherServlet 接收。
  2. 根据 HandlerMapping 映射到 Handler。
  3. ⽣成 Handler 和 HandlerInterceptor。
  4. Handler 和 HandlerInterceptor 以 HandlerExecutionChain 的形式⼀并返回给 DispatcherServlet。
  5. DispatcherServlet 通过 HandlerAdpater 调⽤ Handler 的⽅法完成业务逻辑处理。
  6. 返回⼀个 ModelAndView 对象给 DispatcherServlet。
  7. DispatcherServlet 将获取的 ModelAndView 对象传给 ViewResolver 视图解析器,将逻辑视图解析 成物理视图。
  8. ViewResolver 返回⼀个 View 给 DispatcherServlet。
  9. DispatcherServlet 根据 View 进⾏视图渲染(将模型数据填充到视图中)。
  10. DispatcherServlet 将渲染之后的视图响应给客户端。

引用链接
图片原文链接:https://blog.csdn.net/weixin_44259720/article/details/103185972

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值