由于我个人使用的Tomcat 10以上的版本,在Tomcat 10中把包名从以往版本的javax改成了jakarta,而maven导包的时候依旧使用原来的javax,导致Tomcat 10服务器的Servlet接口和我写的servlet文件不匹配,从而无法正常运行。所以在maven导入依赖jar包时,“javax.servlet”改为"jakarta.servlet”。
而这次jap页面pageContext.setAttribute();发生报错。
pageContext.setAttribute("name1","liu1");
我试着在web目录下新建lib目录,导入两个"jakarta.servlet”jar包,重启了idea,仍然报错。
最后,我在pom.xml导入了"javax.servlet-api"和"javax.servlet.jsp-api”依赖,语句不再报错。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>