我正在使用spring框架工作开发web应用程序,但是我在一些jsp页面中遇到以下错误。
javax.servlet.ServletException cannot be resolved to a type
我还包含了servlet-api
,但仍显示相同的错误消息。如何解决这个问题?
答案 0 :(得分:254)
我想这可行,在Eclipse 选择你的项目→然后点击顶部的项目菜单栏→转到属性→点击在目标运行时→现在您必须选择用于运行当前项目的服务器旁边的复选框→单击应用→然后单击< strong>确定按钮。就是这样,试一试。
答案 1 :(得分:21)
在我看来,eclipse无法识别java ee web api(servlets,el等)。如果您正在使用maven并且不想使用指定的服务器运行时配置eclipse,请将下面的dependecy放在您的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>
答案 2 :(得分:8)
转到项目的属性(使用 Alt + Enter 或righ-click)
检查目标运行时下的 Apache Tomcat v7.0 ,它可以正常工作。
答案 3 :(得分:2)
从右键单击项目添加服务器(tomcat)并选择&#34;属性&#34;转到&#34; Project Factes&#34; &#34;运行时选项卡&#34;其他明智的&#34;目标运行时&#34;
如果是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>
它将解决问题。
答案 4 :(得分:0)
正如几乎所有人所说,添加运行时服务将解决问题。 但是如果没有运行时服务或者 Google App Engine 之类的东西不是你最喜欢的,请点击新< / strong>按下目标运行时列表并添加新的运行时服务器环境。然后检查它并单击确定并让编译器再次编译您的项目。
希望它有所帮助;)
答案 5 :(得分:0)
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.2-b02</version>
<scope>provided</scope>
</dependency>
为我工作。