在頁面中使用全局路徑時${pageContext.request.contextPath}出現javax.servlet.ServletException cannot be resolved to a type錯誤,解決方法如下:
這個錯誤主要是因為缺少jsp-api.jar 和 servlet-api.jar這兩個Jar包。
第一種解決方法:
直接把 Tomcat7.0 下lib目錄中的 jsp-api.jar 添加 Build path 中。
第二種解決方法:
使用 Maven 將 jsp-api.jar 和 servlet-api.jar 一起添加到項目中,
需要注意的是使用 Maven 加入的jar <scope>test</scope> 需要設置為test
jar包不能夠隨工程一起發布,默認沒有配置 scope 表示隨項目一起發布。
因為項目最終要發布到Tomcat下運行,而Tomcat自身就具有這兩個jar包,如果隨
項目發布的話項目提供的2個jar會和Tomcat自身的2個Jar沖突,會拋出 NullPintException
或者用maven:
- <dependency>
- <groupId>javax.servlet.jsp</groupId>
- <artifactId>jsp-api</artifactId>
- <version>2.1</version>
- <scope>provided</scope>
- </dependency>