在编译ServletExp.java程序:
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ServletExp extends HttpServlet
{
public void doGet( HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException
{
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body bgcolor = \"white\">");
out.println("Method:");
out.println(request.getMethod() );
out.println("</br>");
out.println("URI: ");
out.println(request.getRequestURI());
out.println("</br>");
out.println("Protocol: ");
out.println(request.getProtocol());
out.println("</br>");
out.println("RemoteAddr: ");
out.println(request.getRemoteAddr());
out.println("</body>");
out.println("</html>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doGet(request, response);
}
}
出现问题如下:
HelloWorld.java:2: 软件包 javax.servlet 不存在
import javax.servlet.*;
^
HelloWorld.java:3: 软件包 javax.servlet.http 不存在
import javax.servlet.http.*;
^
HelloWorld.java:6: 找不到符号
符号: 类 HttpServlet
public class HelloWorld extends HttpServlet {
^
HelloWorld.java:7: 找不到符号
符号: 类 HttpServletRequest
位置: 类 HelloWorld
public void doGet(HttpServletRequest request, HttpServletResponse response)
^
HelloWorld.java:7: 找不到符号
符号: 类 HttpServletResponse
位置: 类 HelloWorld
public void doGet(HttpServletRequest request, HttpServletResponse response)
^
HelloWorld.java:8: 找不到符号
符号: 类 ServletException
位置: 类 HelloWorld
throws IOException, ServletException
原因是:java编译器没有找到软件包javax.servlet,由于servlet和JSP不是Java平台Java SE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置。
解决:
1、修环境变量CLASSPATH,添加servlet-api.jar的路径如下:
F:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\serblet-api.jar
重启cmd,重新编译
javac ServletExp.java 编译成功。
2、下载或者到安装jboss的目录下,如:“jboss4\server\default\lib”拷贝一个javax.servlet.jar的包到“JDK\jre\lib\ext”目录下,而不是目录“JDK\jre\lib”,也不是“JDK\lib”下。
凡是出现找不到包的情况,都可以将找到的包放到JDK\jre\lib\ext下,然后再编译就能够通过。
分享到:
相关推荐
解决 Java 编译时软件包 javax.servlet.http 不存在的问题 Java 编译时提示软件包 javax.servlet.http 不存在是 Java 开发中常见的问题。javax.servlet.http 是 Java Servlet 规范中的一个软件包,提供了 HTTP 协议...
NULL 博文链接:https://xjg396.iteye.com/blog/1973026
Servlet API 由两个主要的软件包构成:`javax.servlet` 和 `javax.servlet.http`。其中 `javax.servlet` 包含了所有通用的 Servlet 接口和类,而 `javax.servlet.http` 则针对 HTTP 协议进行了扩展。 #### 二、Java...
JSP API提供了`javax.servlet.jsp`和`javax.servlet.jsp.tagext`等包,它们包含了用于解析JSP页面并将其转换为Servlet的类和接口,例如`javax.servlet.jsp.JspWriter`、`javax.servlet.jsp.PageContext`和`javax....
* javax.servlet.software package:提供了一个对应 HTTP 的软件包。 * javax.servlet.GenericServlet:提供了一个基本的 servlet 实现。 * javax.servlet.ServletInputStream:提供了一个输入流对象,以便从客户端...
Servlet API提供了丰富的类和接口,比如`javax.servlet.http.HttpServlet`,它是处理HTTP请求的基础类,以及`javax.servlet.ServletRequest`和`javax.servlet.ServletResponse`接口,它们分别代表了来自客户端的请求...
错误原因:java编译器没有找到软件包javax.servlet。 解决方法:在pom.xml中添加以下依赖包: ```xml <groupId>javax.servlet <artifactId>servlet-api <version>2.5 <scope>provided <groupId>javax....
包括两个用于所有 Servlet 的基本软件包:javax.servlet 和 javax.servlet.http。javax.servlet.http 提供了 HTTP Servlet 应用编程接口,用于创建 HTTP Servlet。 六、HTTP Servlet HTTP Servlet 使用一个 ...
在Java Servlet API中,主要分为两个关键的软件包:`javax.servlet`和`javax.servlet.http`。 1. `javax.servlet`包: 这个包包含了一些与特定协议无关的接口和类,比如`GenericServlet`、`ServletException`和`...
- **HTTP 软件包**:`javax.servlet.http` 包含了处理 HTTP 请求和响应所需的类和接口,如 `HttpServletRequest`, `HttpServletResponse`, `HttpSession` 等。 - **通用软件包**:`javax.servlet` 包提供了基本的 ...
3. **过滤器(Filter)**:Servlet API中的`javax.servlet.Filter`接口允许开发者创建过滤器,这些过滤器可以在请求到达Servlet之前对其进行拦截和处理,或在响应返回客户端之后进行修改。过滤器可以用于实现如登录...
通用软件包主要包含`javax.servlet.Servlet`接口和`javax.servlet.ServletContext`接口。`Servlet`接口定义了Servlet的基本行为,比如初始化、服务和销毁方法。而`ServletContext`接口则代表了Servlet上下文,提供了...
它包括两个主要的软件包:`javax.servlet` 和 `javax.servlet.http`。前者是通用的,不特定于HTTP,而后者则是针对HTTP协议设计的。 在`javax.servlet`包中,我们有以下几个关键接口和类: 1. **RequestDispatcher...
2. 不对应HTTP的通用软件包,主要为javax.servlet.*,提供了基本的Servlet接口和ServletContext等,这些接口和类不依赖于任何特定的协议,适用于其他可能的请求-响应模型。 在Servlet API中,重要规范如RFC 1738、...
1. `javax.servlet.http`:这个包专门处理HTTP协议,提供了`HttpServletRequest`和`HttpServletResponse`接口,分别用于获取和设置HTTP请求和响应的数据。此外,还有`HttpServlet`类,它是所有HTTP Servlet的基类,...
其中包括两个用于所有 Servlet 的基本软件包:javax.servlet 和 javax.servlet.http。可从sun公司的Web站点下载 Java Servlet 开发工具。 下面主要介绍javax.servlet.http提供的HTTP Servlet应用编程接口。 ...
2. 通用软件包:不依赖特定协议,提供了如`javax.servlet.GenericServlet`等基础类和接口,可用于实现任何请求-响应协议的Servlet。 二、相关规范 Servlet API的设计和实现受到多个Internet规范的影响,例如: - ...