使用maven生成web工程后,编译需要下servlet-api.jar和jsp-api.jar文件。 
pom文件中的写法为:

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>

这种写法在使用mvn targe命令时有效的,但是在eclipse下run on server下,会把依赖的maven dependencies这个library下面的全部jar都加载到tomcat的部署目录下面去。 
个人认为这是eclipse的maven插件的不兼容导致的。

解决这种冲突有两种 
1:把加载后的删掉:打开\apache-tomcat-8.0.23\webapps\项目名称\WEB-INF\lib下的冲突的jar包删掉
2:把server runtime这个library加到build path下面去:项目右键选择 build path,进入C~B~P,点击Libraries选项卡,选择界面右边的Add Libraries,选择server runtime,下一步下一步就OK了,最后保存Apply。
  
个人建议使用第二种方法。