在IDEA中遇到request.getParameter或者out.print爆红的情况

在IDEA中遇到request.getParameter或者out.print爆红的情况原因是什么?遇到这种情况该如何去解决?
报错的tomcat版本:10.0.2

使用的IDEA版本:2020.1.3

上个月开始学习JavaWeb,老师教学时用的eclipse,我在eclipse上做的项目运行起来也没有问题,但是把那个项目复制到IDEA上就出现了request.getParameter跟out.print爆红的情况,如下图所示:

在这里插入图片描述

将鼠标悬浮在request上有如下显示:
在这里插入图片描述

看了网上许多关于这个问题的解答都是说导入jsp-api.jar跟servlet-api.jar这两个包到lib下或者清理缓存,但是我照做了,问题却并没有解决,我被这个问题困扰了差不多一个星期,想起之前在2020-12版本的eclipse中我也遇到过一个很难解决的问题,如下图:
在这里插入图片描述

什么都没写,光是创建一个jsp文件它就会报错,而且它跟这里要解决的问题的报错类似,都是找不到javax.servlet.http.HttpServlet不过那个问题已经解决了,把原先的2020-12版本的eclipse卸载了去官网下载了2021-3的版本,然后问题就已经解决了:
在这里插入图片描述

受到这个问题解决方式的启发,我便开始考虑是否是由于tomcat版本的问题,于是去tomcat官网看了一下,果然下载的时候光顾着下载了都没注意看主页的信息:
在这里插入图片描述

翻译出来后比较重要的就是画红线的那里,在tomcat10以上的版本的servlet-api.jar包里解压出来的文件夹已经不是javax文件夹了而是jakarta文件夹:
在这里插入图片描述

在IDEA中创建一个Servlet也可以发现它没有javax.servlet这个包:
在这里插入图片描述

后来看了这篇文章才明白是怎么回事: https://blog.csdn.net/cunfen3485/article/details/112545102?utm_medium=distribute.pc_relevant.none-task-blog-2defaultBlogCommendFromBaidudefault-1.control&dist_request_id=1328689.8464.16165516936258507&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2defaultBlogCommendFromBaidudefault-1.control

现在已经知道了为什么一直找不到javax.servlet.http.HttpServlet的原因是什么了,因为tomcat10以上的版本的servlet-api.jar里的javax已经改名为jakarta,而IDEA要调用的是javax的那个包所以解决的方法就是将tomcat10版本换成一个9版本或9以下的版本的tomcat就可以解决了,也可以不移除原先的10版本直接加一个低版本的如果选择直接加一个tomcat的话记得把第二个tomcat的端口配置成与第一个tomcat不一样的,否则会有端口冲突,配置完成后也不要忘了将第二个tomcat也加到下图这里:在这里插入图片描述

运行时选择tomcat9,到这里问题已经解决了request.getParameter已经不爆红了:
在这里插入图片描述

再创建一个Servlet也已经有javax.servlet这个包了:

在这里插入图片描述

通过这次也是吸取了个教训,并不是最新版的就是最好的,用稳定版才是王道啊!
————————————————
版权声明:本文为CSDN博主「江户川同学」的原创文章,遵循CC 4.0 BY原文链接:https://blog.csdn.net/weixin_52328526/article/details/116506581@TOC

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值