IDEA中无法识别servlet类或找不到javax.servlet.*
1.问题描述
在IDEA中使用到直接servlet类,语句如下:
Servlet servlet=(Servlet)servletCache.get(servletName);
使用IDEA进行编译时,会出现错误,找不到servlet类,而书中没有给出说明或者解决办法,报错如下:
2.问题分析
由于刚学java,可能术语会有错误。在源码中没有引入servlet包,在网上查询是说通过加入引用语句,
import javax.servlet.*;
但直接加入无法解决该问题,因为IDEA依旧找不到Javax的包,具体原因不进行深究,大致是与Tomcat相关,刚学也不是很清楚。
3.解决方案
查询大量资料后,解决方案如下:
(1)安装Tomcat,网上教程很多,随便就能找到,这里不进行赘述。
(2)假设Tomcat按照完毕,右键项目名,选择Open Module Settings,进入到Project Struture
(3)进入到Project Structure后,点击Libraries,再点击“+”,选择Java
(4)在弹出的窗口中选择自己tomcat的安装目录,进入里面的lib目录,然后找到servlet-api.jar这个jar包(如果JSP页面也有相关的JavaWeb对象,则还要寻找jsp-api.jar;如果只有Servlet,则只选择servlet-api.jar),然后点击OK,选择项目名,再点击OK
(5)可以看到已经添加成功,再点击Apply
(6)回到源文件,加入语句:
import javax.servlet.*;
(7)再次使用,可以看到没用报错了,编译也是正常的
4.总结
最后总结一下,解决该问题分为3步,
第1步,按照Tomcat,因为servlet包在Tomcat中;
第2步,在项目中添加Tomcat的Servlet包路径
第3步,在项目代码中使用语句: import javax.servlet.*; 调用servlet类