產生問題分析:web
使用maven對jar包進行管理,所以當使用SpringMVC框架的時候確定會手動的配置 servlet-api.jar 、jsp-api.jar等jar包到項目中,不然一些jsp確定會無情的報錯(找不到對應jar包的),可是當配置了servlet-api.jar以後,就可能會與tomcat容器中的jar包衝突,致使出現以上問題,沒法找到jsp,該問題在tomcat8即以上纔會出現,在tomcat7即如下是沒有問題的api
那麼若是使用tomcat8及更高版本的童鞋們就可能會用到如下解決方案了tomcat
解決方案:app
在項目上右鍵-->build Path -->Add Library -->Server Library --> Apache Tomcat v8.0(前提是,已經將tomcat8及更高版本集成到Eclipse、或MyEclipse或使用的其餘IDE中)框架
以上兩種解決方案,對於使用maven項目總有點治標不治本,使用maven目的就是對jar包依賴徹底控制,若是到時候,還須要手動添加jar或者刪除jar,那在團隊協做的時候,無疑是很麻煩的,因此在這再提供一種解決方案webapp
加provided限制:jsp
容器或JDK已提供範圍,表示該依賴包已經由目標容器(如tomcat)和JDK提供,只在編譯的classpath中加載和使用,打包的時候不會包含在目標包中。最多見的是j2ee規範相關的servlet-api和jsp-api等jar包,通常由servlet容器提供,無需在打包到war包中,若是不配置爲provided,把這些包打包到工程war包中,在tomcat6以上版本會出現衝突沒法正常運行程序(版本不符的狀況)maven
<dependency> <groupId>tomcat</groupId> <artifactId>servlet-api</artifactId> <version>5.5.23</version> <scope>provided</scope> </dependency>