如果不是maven项目,原因可能是在编译的时候没有加入server runtime变量而是直接把servlet-api.jar jsp-api.jar 放到
WEB-INF/lib下
WEB-INF/lib下
解决方法:删除WEB-INF/lib下面的servlet-api.jar jsp-api.jar ,java build path添加变量
server runtime
server runtime
如果是maven项目,
使用maven生成web工程后,编译需要servlet-api.jar和jsp-api.jar文件。
解决方法:删除WEB-INF/lib下面的servlet-api.jar jsp-api.jar
pom文件中的写法为:
- <dependency>
-
<groupId>javax.servlet.jsp</groupId> -
<artifactId>jsp-api</artifactId> -
<version>2.1</version> -
<scope>provided</scope> - </dependency>
这种写法在使用mvn targe命令时有效的,但是在eclipse下run on server下,会把依赖的mavne
dependencies这个library下面的全部jar都加载到tomcat的部署目录下面去。
可能是eclipse的maven插件的不兼容导致的。