创建CheckLoginServlet类时编译报错

创建CheckLoginServlet类时编译报错

问题描述:


我按视频创建CheckLoginServlet类时,出现好几项编译报错,

显示是javax.servlet这个包无法找到。

http://img1.sycdn.imooc.com//climg/603ee3c80998392414260580.jpg


我翻看我之前创建的类,里面引用的不是视频中出现的javax.servlet,

而是jakarta.servlet。

http://img1.sycdn.imooc.com//climg/603ee3c809c57f7a14120478.jpg

为什么出现这种现象?该如何解决?


尝试过的解决方式:

对了,我使用的版本是Tomcat 10,网上似乎有说Tomcat 10首次采用了jakarta.servlet包。

如何将javax.servlet引用统一自动更改为jakarta.servlet呢?


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,建议同学将报红位置处的引入语句进行删除,如下:

http://img1.sycdn.imooc.com//climg/603f02b309adc42807890217.jpg

然后检查自己的tomcat版本是否正确(例如:你使用的版本10)

右键项目--》Build Path--》Configure Build Path...--》Java Build Path这里查看版本

http://img1.sycdn.imooc.com//climg/603f02f509cb3a0a06230230.jpg

http://img1.sycdn.imooc.com//climg/603f03280923650b07390330.jpg

如果不正确,选中tomcat点击Edit进行修改即可

http://img1.sycdn.imooc.com//climg/603f03b509eeee2005520258.jpg

如果是正确的,回到CheckLoginServlet类中对注解等进行导包操作即可

祝学习愉快~

  • 福生玄黄天尊 提问者 #1

    如果我希望继续使用Tomcat 10,希望在创建类的时候自动import jakarta.servlet而不是javax.servlet,有没有办法?

    2021-03-03 12:48:46
  • 福生玄黄天尊 提问者 #2

    如果jakarta.servlet代表Tomcat将来的发展方向,那从javax转向jakarta是不可避免的吧,eclipse有没有相应的便利措施呢

    2021-03-03 12:57:22
  • 同学你好,按照上述给出的步骤,将tomcat更改为自己对应版本就可以了

    http://img1.sycdn.imooc.com//climg/603f2f8e0973812405350308.jpg

    祝学习愉快~

    2021-03-03 14:41:23
好帮手慕小脸 2021-03-03 15:54:34

同学你好,可能是tomcat版本不同导致的这种情况,老师这边也无法对此进行复现,建议你直接创建Class文件(注:不是Servlet)

http://img1.sycdn.imooc.com//climg/603f3f8509c15d4e05830339.jpg

然后手动继承HttpServlet,并进行导包操作

http://img1.sycdn.imooc.com//climg/603f403b09e1693704340113.jpg

需要重写方法时,鼠标右键---source---Override/Implment Methods即可

http://img1.sycdn.imooc.com//climg/603f407009051baa07180443.jpg

http://img1.sycdn.imooc.com//climg/603f408c09130bed05730478.jpg

注:建议你与课程中老师版本保持一致,避免因版本差异造成未知错误~

祝学习愉快~

  • 提问者 福生玄黄天尊 #1

    我也考虑过从Tomcat 10换回Tomcat 8。但有点好奇,是不是Servlet新建时这个位置只能是javax.servlet.http.HttpServlet。

    这个是不是可以在设置里更改的

    http://img1.sycdn.imooc.com//climg/6040f02809f019f111860754.jpg


    直接更改不行,我试过了,Java EE仍旧要求实现javax包里的接口。

    http://img1.sycdn.imooc.com//climg/6040eefe096f757a11840980.jpg

    http://img1.sycdn.imooc.com//climg/6040ef6109d05da500000000.jpg


    2021-03-04 22:55:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师