ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据

这篇具有很好参考价值的文章主要介绍了ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

该开始一直按错误去进行查询

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servlet

 看到网上的主要解决方法:

1.注入的数据类型加入注解@Autowired,

2.service层添加注解@Service

3.在controller层,添加注解@RestController 而不是 @Controller

4.并在JSON数据前加上@RequestBody

5.spring-boot包冲突,再pom.xml文件中删除这个包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <scope>compile</scope>
</dependency>

针对后面抛出的异常java.lang.NullPointerException

出现的原因就是当一个对象的值为空时,你没有判断为空的情况

解决方式即可以优先使用

String.valueOf()方法代替toString()
当程序代码需要对象的字符串表示形式时,应该避免使用该对象的toString方法。如果你的对象的引用等于null,NullPointerException则会抛出,使用静态String.valueOf方法,该方法不会抛出任何异常并打印"null"

亲测有用,但是并没有解决我们下面的问题。就是存了两个数据,但是读出的只有一个数据。

在以上这些方式检查过之后,发现并没有改变现有的情况。所以开始一步一步调试。发现如下结果:

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servlet

 这里的存储阶段是没有问题的,存储了两个参数

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servlet

 这里日志语句给出map的大小为1,这里是不应该的,因为前面我在session设置时是两个值。

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servlet

 这里调试到这一步 ,就突然跳转到下面了

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servlet

此时就换了查找思路:去看了

session.setAttribute()和session.getAttribute()的用法。发现也有很多这种情况出现。所以开始针对这样的问题进行修改

尝试1:、如果存在取值问题,取不到session中的值,可能是存值的地方和取值的地方引入的HttpServletRequest不一致。就会出现拿不到值的情况!

但是我们这里存储的位置都是

HttpSession 

尝试都修改成HttpServletRequest

未解决!!!

思路三:发现两次的session地址和存值都是正确的,但是map读取时,只读出了一个值

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servlet

 ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servletERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servlet

 所以开始查询session中为什么map会只读取到一个值??对比了源代码

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servlet
我所配置的login.html文件

 文章来源地址https://www.toymoban.com/news/detail-716627.html

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据,servlet
原文件所配置的login.html文件

 修改原文件格式之后,成功获取到map的两个值。

总结:刚开始是按照报错开始查询解决方式。但都没有解决我的问题。

        然后开始对异常类型,自己所遇到的问题描述,进行了一系列查询。过程如上,也是没有效果。

        最后实在是不行了 ,但是从一步一步的调试也大概知道问题是出在了,map无法取出页面上输入的第二个值。所以就开始比对自己所配置的login.html文件,发现此处的loginApi所注入的方式不同。

还是关键:解决问题的操作并不重要,解决问题的这个思路才是最重要的。

PS虽然解决了这个问题但是为什么就成功了 还是不知道。有没有大佬可以解答一下,两种表达方式有什么区别呢???最开始的问题也是,map中只有一个页面上提交的phone,但是没有另一个值。修改成第二个格式后,客户端提交的两个值都显示了。。

 

到了这里,关于ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() --调试发现HttpSession session无法读取数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 已解决异常:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception

    已解决异常:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 今天开发的时候,遇到了这个bug: “dispatcherServlet” 的异常问题。 详细报错如下: 起初还以为是 SpringBoot 底层框架的问题,毕竟涉及到了 DispatcherServlet 。 但是仔细看了之后发现问题不是这么

    2024年02月10日
    浏览(40)
  • Initializing Servlet ‘dispatcherServlet‘

    今天搭建一个简单的Springboot项目想测试下能不能行,没想到一个请求过去什么都没有,也不报错。这就难受了,好歹给我一串错误信息吧。经过了几个小时的排查终于解决了!!! 注意看这串代码;这是我在调请求后提示我的。大概意思是servlet正在初始化。 请求路径 Tomc

    2024年02月11日
    浏览(34)
  • org.springframework.web.servlet.DispatcherServlet‘ is not assignable to javax.servlet.Servlet

    SpringMVC web.xml文件配置 报错: org.springframework.web.servlet.DispatcherServlet‘ is not assignable to javax.servlet.Servlet 解决方法 第一步:先看是否已加载了tomcat,查看自己tomcat版本 第二步:打开配置文件 第三步:查看配置servlet没有 根据自己Tomcat版本的不同选择上下一个配置内容 小编的T

    2024年02月11日
    浏览(45)
  • 完美解决SpringMVC中org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping 404错误

    出现该错误的原因主要是无法扫描注册@Controller注解的类的实例进入IOC容器而导致的,从而从一下几个方面来分析 MVC配置文件中:component-scan 标签扫描包路径是否正确,且是否误写了排除@Controller注解 Controller类头部声明注解是否是:org.springframework.stereotype.Controller包内容 自动

    2024年02月14日
    浏览(39)
  • springboot项目报Could not resolve view with name ‘xxxxxxxxxxx‘ in servlet with name ‘dispatcherServlet‘

    springboo项目报Could not resolve view with name \\\'xxxxxxxxxxx\\\' in servlet with name \\\'dispatcherServlet\\\'该怎么解决。前段时间遇到了这个问题,今天我就把解决办法分享给大家。 在使用Spring Boot开发Web应用程序时,通常需要配置一个名为 dispatcherServlet 的Servlet来处理Web请求。当我们尝试访问一个不

    2024年02月09日
    浏览(65)
  • Kubernetes(k8s)服务service:service的发现和service的发布

    目录 一.系统环境 二.前言 三.Kubernetes service简介 四.使用hostPort向外界暴露应用程序 4.1 创建deploy 4.2 使用hostPort向外界暴露pod的端口 五.使用service服务向外界暴露应用程序 5.1 使用service服务向外界暴露pod 5.1.1 创建service服务 5.1.2 测试svc的负载均衡 六.service服务的发现 6.1 使用

    2024年02月08日
    浏览(55)
  • k8s&service服务发现

    Service的功能::::::::::::::::::::: 服务发现:发现pod的变化,宕机的不转发 对外发布:让外部访问到内部,稳定的对外映射一个端口号nodeport Service有两个ip,第一个是service内部访问用的 一个是向外提供服务的clusterip 定位dns,用dns解析  实例文件:

    2024年02月03日
    浏览(56)
  • K8S | Service服务发现

    服务发现与负载均衡。 在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问; 对于测试「Tes」环境或者生产「Pro」环境,出于安全或者环境隔离性来考虑,在正常情况下只会开放

    2024年02月14日
    浏览(62)
  • Dao层、Service层、Entity层、Servlet层、Utils层

    这几天在复习高数,还有刷题。 B: 第五周任务 [Cloned] - Virtual Judge (vjudge.net) http://t.csdn.cn/S3imr  G: 第五周任务 [Cloned] - Virtual Judge (vjudge.net) http://t.csdn.cn/UVgfK   Dao层是数据访问层 Service层是业务逻辑层 Entity层是实体层 Servlet层是控制层 Utils层是工具类层 分层架构没有规定自

    2024年02月09日
    浏览(43)
  • k8s-服务发现service和ingress

    回到目录 service用于集群内部应用的网络调用,处理东西流量 ingress用于集群外部用户访问内部服务,处理南北流量 kubernetes集群中有三层网络,一类是真实存在的,例如Node Network、Pod Network,提供真实IP地址;一类是虚拟的,例如Cluster Network或Service Network,提供虚拟IP地址,不会

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包