在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爆红的情况,如下图所示:

在IDEA中遇到request.getParameter或者out.print爆红的情况_第1张图片

将鼠标悬浮在request上有如下显示:
在IDEA中遇到request.getParameter或者out.print爆红的情况_第2张图片

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

什么都没写,光是创建一个jsp文件它就会报错,而且它跟这里要解决的问题的报错类似,都是找不到javax.servlet.http.HttpServlet不过那个问题已经解决了,把原先的2020-12版本的eclipse卸载了去官网下载了2021-3的版本,然后问题就已经解决了:
在IDEA中遇到request.getParameter或者out.print爆红的情况_第4张图片

受到这个问题解决方式的启发,我便开始考虑是否是由于tomcat版本的问题,于是去tomcat官网看了一下,果然下载的时候光顾着下载了都没注意看主页的信息:
在IDEA中遇到request.getParameter或者out.print爆红的情况_第5张图片

翻译出来后比较重要的就是画红线的那里,在tomcat10以上的版本的servlet-api.jar包里解压出来的文件夹已经不是javax文件夹了而是jakarta文件夹:
在IDEA中遇到request.getParameter或者out.print爆红的情况_第6张图片

在IDEA中创建一个Servlet也可以发现它没有javax.servlet这个包:
在IDEA中遇到request.getParameter或者out.print爆红的情况_第7张图片

后来看了这篇文章才明白是怎么回事: 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也加到下图这里:在IDEA中遇到request.getParameter或者out.print爆红的情况_第8张图片

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

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

在IDEA中遇到request.getParameter或者out.print爆红的情况_第9张图片

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

你可能感兴趣的:(说明,idea,eclipse,tomcat)