我遇到了这个重要的新手问题。 当我尝试以下; ' servlet'变为红色并表示“无法解析符号' servlet'。
import javax.servlet.http.*;
import javax.servlet.ServletException;
我得到了apache运行的tomcat。我是一个非常大的java新手。任何人都可以帮助我在哪里找到一个servlet库或什么?我用谷歌搜索,但没有明确解释如何使这项工作。
这是我的web.xml文件的内容;
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>
HelloWorld
</display-name>
<description>
This is my first webapp
</description>
<servlet>
<servlet-name>Hello world!</servlet-name>
<description>This is a hello world servlet</description>
<servlet-class>servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>HelloWorldServlet</url-pattern>
</servlet-mapping>
</web-app>
编辑:我使用IntelliJ IDEA IDE。 我正在使用Maven。
答案 0 :(得分:12)
servlet jar需要位于构建路径中。
如果你使用maven,你可以这样做:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>7.0.21</version>
<scope>provided</scope>
</dependency>
或使用列出here列出的提供商之一,如下所示,不依赖于特定容器:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
答案 1 :(得分:3)
听起来你错过了servlet.jar的类路径条目。您还没有告诉我们您是如何构建它的,但基本上您需要针对servlet.jar进行编译。您不应该将其明确地放在执行时间的任何地方,因为Tomcat应该照顾它。
答案 2 :(得分:2)
你的classpath.add中缺少Servlet jar你的类路径中的同一个jar。
如果您使用的是Eclipse,请右键单击该项目。
-->Properties --->Java build path --->select Libraries
在那里添加jar。
答案 3 :(得分:1)
第一次使用IntelliJ IDEA我有同样的问题,但我认为原则应该是Eclipse,只需将我们需要的jar文件配置到外部库。
转到“文件”----&gt; “项目结构”----&gt; “库”,然后单击➕按钮并添加所需的jar。
找不到Servlet似乎丢失了server-api.jar
文件,只需将其放入库中即可。如果你想构建一个j2ee项目,简单的文件是没有意义的。
所以只需将整个本地tomcat / lib jar文件放到项目中,该函数与eclipse(配置构建路径 - &gt;运行时服务器......)相同。
答案 4 :(得分:0)
<servlet>
<servlet-name>Hello world!</servlet-name>
<description>This is a hello world servlet</description>
<servlet-class>servlet</servlet-class> <--here is full name of your servlet class.
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name><--here must be match <servlet-name>
<url-pattern>HelloWorldServlet</url-pattern>
</servlet-mapping>