servlet , or httpservlet找不到包的情况处理
2012-05-10 11:14
288 查看
在编译ServletExp.java程序:
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代码
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下,然后再编译就能够通过。
相关文章推荐
- HttpServletRequest和HttpServletResponse实现登录(附乱码处理代码)(2017.9.28第一次修改版)
- Ajax与struts2实现过程中出现ServletActionContext找不到的情况
- maven找不到包的情况下本地有包的处理方式
- GenericServlet HttpServlet,Blade Web框架处理分发逻辑
- maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理 maven找不到符号
- _CrtDbgReport: String too long or IO Error错误的产生情况和处理 使用setlocale函数
- javaWeb-Servlet的继承体系和HttpServletRequest中常用的方法+HttpServletResponse对中文乱码的处理
- BaseServlet扩展了的HttpServlet,包装Request来处理中文乱码
- Struts2之HttpServletRequest、HttpServletResponse,HttpSession,Parameters处理
- VS2008切换设计视图假死机情况,以及安装Office2007时提示找不到文件的处理
- HttpServlet请求处理和Servlet监听
- maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理 maven找不到符号
- QTP恢复场景-处理找不到列表项或菜单的情况
- Filter mapping must specify either a <url-pattern> or a <servlet-name>问题的处理
- Filter处理HttpServletRequest & HttpServletResponse 笔记
- javac编译Servlet类出现找不到javax.servlet包的情况
- 编译servlet找不到软件包的处理
- 用servlet处理表单的实例
- Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
- Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结