我正在使用 Spring 框架开发 Web 应用程序,但在某些 jsp 页面中出现以下错误。
javax.servlet.ServletException cannot be resolved to a type
我也包括在内servlet-api
,但仍然显示相同的错误消息。如何克服这个问题?
我正在使用 Spring 框架开发 Web 应用程序,但在某些 jsp 页面中出现以下错误。
javax.servlet.ServletException cannot be resolved to a type
我也包括在内servlet-api
,但仍然显示相同的错误消息。如何克服这个问题?
我想这可能可行,在 Eclipse 中选择您的项目→ 然后单击顶部的项目菜单栏→ 转到属性→ 单击目标运行时→ 现在您必须选中用于运行当前项目的服务器旁边的复选框→ 单击应用→然后单击确定按钮。就是这样,试一试。
在我看来,eclipse 无法识别 java ee web api(servlet、el 等)。如果您使用的是 maven 并且不想使用指定的服务器运行时配置 eclipse,请将以下依赖项放在您的 web 项目 pom 中:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version> <!-- Put here the version of your Java EE app, in my case 7.0 -->
<scope>provided</scope>
</dependency>
转到项目的属性(使用Alt+Enter或右键单击)
检查Targeted Runtime下的Apache Tomcat v7.0,它可以工作。
从右键单击项目添加服务器(tomcat)并选择“属性”转到“项目事实”“运行时选项卡”其他明智的“目标运行时”
如果是 maven pom.xml 问题,请尝试将其添加到 pom.xml
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
它将解决问题。
正如几乎所有人所说,添加运行时服务将解决问题。但是,如果没有运行时服务,或者您不喜欢Google App Engine之类的东西,请单击Targeted Runtimes列表右下方的新建按钮并添加新的运行时服务器环境。然后检查它并单击确定并让编译器再次编译您的项目。
希望能帮助到你 ;)
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.2-b02</version>
<scope>provided</scope>
</dependency>
为我工作。