調試Spring MVC時發現如下異常:
java.lang.ClassCastException: org.springframework.web.servlet.DispatcherServlet cannot be cast to javax.servlet.Servlet
問題出在servlet-api.jar上,tomcat部署springMVC項目時是不用這個包的,而用maven構建項目時需要,如果不引用該依賴就會不識別 HttpServletRequest等的類
解決方法是在maven引用servlet的依賴時,加上屬性範圍<scope>provided</scope>
而在引用javax.servlet.jsp的依賴時,如果也沒有加上 屬性範圍<scope>provided</scope>,則也會拋出如下異常:
org.apache.jasper.JasperException: Unable to read TLD "META-INF/c.tld" from JAR file "file:/E:/chenzehe/mvnrepo/javax/servlet/jstl/1.2/jstl-1.2.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV