小弟我新学习Java,遇到一个问题。下面我把问题详细说出来,请大侠们帮助解决,谢谢!首先是安装JDK,我下载的是J2SE的JDK 6 update 14这个版本。使用默认安装,路径是“C:\Program Files\Java”。然后设置相应的环境变量,并写了一个简单的“Hello World”,使用javac和java命令,能够编译运行通过。这没有问题!然后是安装Tomcat,版本是6.0.20。使用默认安装,路径是“C:\Program Files\Apache Software Foundation\Tomcat 6.0”。安装完成后,使用浏览器,键入“http://localhost:8080”,能看到相应的页面,这也没有问题!接下来,我写了一个Servlet,代码如下:
import javax.Servlet.*;
import javax.Servlet.http.*;
import java.io.*;public class WebHelloWorld extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{
PrintWriter out = response.getWriter();
java.util.Date today = new java.util.Date();
out.println("<html><body><h1>这是Hello World的Web版</h1><br><h3>现在的时间是:" + today + "</h3></body></html>");
}
}接下来,就是编译这个文件了,我使用cmd命令,转到这个文件所在的目录下,键入如下指令:
javac -classpath C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar WebHelloWorld.java结果给我如下错误指示:
-------------------------
javac:无效的标志:Files\Apache
-------------------------这样不行,我就按照网上所说的那样,配置环境变量。我的相应的环境变量如下:
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_14
TOMCAT_HOME = C:\Program Files\Apache Software Foundation\Tomcat 6.0
CLASSPATH = .;%JAVA_HOME%\lib;%TOMCAT_HOME%\lib
Path后面追加信息:;%JAVA_HOME%\bin然后转到代码所在位置进行编译,输入:javac WebHelloWorld.java。它就提示我:
----------------------------
WebHelloWorld.java:2: 软件包 javax.Servlet 不存在
import javax.Servlet.*;
^
WebHelloWorld.java:3: 软件包 javax.Servlet.http 不存在
import javax.Servlet.http.*;
^
WebHelloWorld.java:6: 找不到符号
符号: 类 HttpServlet
public class WebHelloWorld extends HttpServlet{
^
......(下面还有其他错误,就不复制了)
----------------------------我在按照网上的提示,将servlet-api.jar拷贝到“C:\Program Files\Java\jdk1.6.0_14\jre\lib\ext”下面,问题依然存在,仍旧是提示我找不到相应的包!请问大家,这个问题该怎么解决?谢谢!在线急等,希望这个问题不到打击我学习JAVA的信心啊,哈哈!
import javax.Servlet.*;
import javax.Servlet.http.*;
import java.io.*;public class WebHelloWorld extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{
PrintWriter out = response.getWriter();
java.util.Date today = new java.util.Date();
out.println("<html><body><h1>这是Hello World的Web版</h1><br><h3>现在的时间是:" + today + "</h3></body></html>");
}
}接下来,就是编译这个文件了,我使用cmd命令,转到这个文件所在的目录下,键入如下指令:
javac -classpath C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar WebHelloWorld.java结果给我如下错误指示:
-------------------------
javac:无效的标志:Files\Apache
-------------------------这样不行,我就按照网上所说的那样,配置环境变量。我的相应的环境变量如下:
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_14
TOMCAT_HOME = C:\Program Files\Apache Software Foundation\Tomcat 6.0
CLASSPATH = .;%JAVA_HOME%\lib;%TOMCAT_HOME%\lib
Path后面追加信息:;%JAVA_HOME%\bin然后转到代码所在位置进行编译,输入:javac WebHelloWorld.java。它就提示我:
----------------------------
WebHelloWorld.java:2: 软件包 javax.Servlet 不存在
import javax.Servlet.*;
^
WebHelloWorld.java:3: 软件包 javax.Servlet.http 不存在
import javax.Servlet.http.*;
^
WebHelloWorld.java:6: 找不到符号
符号: 类 HttpServlet
public class WebHelloWorld extends HttpServlet{
^
......(下面还有其他错误,就不复制了)
----------------------------我在按照网上的提示,将servlet-api.jar拷贝到“C:\Program Files\Java\jdk1.6.0_14\jre\lib\ext”下面,问题依然存在,仍旧是提示我找不到相应的包!请问大家,这个问题该怎么解决?谢谢!在线急等,希望这个问题不到打击我学习JAVA的信心啊,哈哈!
解决方案 »
- 求助Sping、hibernate中的save方法
- ssh2整合 SQL Error: 1064, SQLState: 42000错误
- Hibante一对多在页面上显示的问题!!!
- 如何屏蔽掉http://127.0.0.1:8083/这个访问
- 请赐教jspSmartUpload如何实现多图片,分开上传~~~~
- tomcat 不能解析我的javabean?????????
- java如何从数据库重读取数据生成这样的xml文件?
- 帮我看看java
- 有谁知道tomcat 是否能在turbolinux 下运行?谢谢!
- log4j 找不到日志文件?
- 老掉牙 问题 mysql 插入中文数据抱错!!
- javascript传select值的问题。
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_14
TOMCAT_HOME = C:\Program Files\Apache Software Foundation\Tomcat 6.0
所以,在CLASSPATH里面,就直接以%JAVA_HOME%和%TOMCAT_HOME%代替了。实际上,我也曾经在CLASSPATH里面设置了全路径名,和您的写法一样,问题依然存在。并且觉得使用%JAVA_HOME%代替的写法不会有问题,所以没有在帖子里面写出来
1楼的朋友,JDK还没有重装,我再等等看,是否能有不重新安装即可解决的方法!(吃饭去了,一会回来)
俺知道错了。。
这是俺自家的环境变量配置,你看看吧。。
JAVA_HOME=D:\java\jdk1.5
PATH =D:\java\jdk1.5\bin;D:\java\jdk1.5\jre\bin
CLASSPATH =.;D:\java\jdk1.5\lib;D:\java\jdk1.5\lib\tools.jar
希望对您有帮助。。
俺也是菜鸟,不太懂啦。。
但我感觉可能是"我在按照网上的提示,将servlet-api.jar拷贝到“C:\Program Files\Java\jdk1.6.0_14\jre\lib\ext”下面,问题依然存在,仍旧是提示我找不到相应的包!"出错了,应该将这些jar包放在tomcat的WEB-INFO里的lib包下.我也一直IDE,弄的最基本的都不会,楼主的学习精神值得学习.
import java.io.IOException; 感觉你的servlet少了一下异常吧?throws IOException,ServletException
2,设置 JAVA_HOME 这个环境变量,Tomcat 启动时需要用到的,值为 JDK 的安装目录,注意是 JDK 的安装目录。tomcat 的话使用 zip 版的就可以了,直接解压缩之后就能使用了,嘿嘿,以后不想用了,可以再换个其他版本的。
嗯,从编译的报错来看,我也觉得可能是Tomcat安装路径带有空格的关系。但是,因为JDK的安装也是默认路径(在c:\program files\的下面),编译标准控制台的JAVA程序没有问题。所以我就没有想重装。现在,按照您的建议,我重装一下看看。呵呵
问题是:import javax.Servlet.*;
import javax.Servlet.http.*;
import java.io.*;
你导入了 * 即所有,无关的也加进去了,这样问题就出来了哦解决方法:1.只导入要用到具体的包,无关的去掉
2.需配置一个环境变量 classpath=<%=setuppath %>\common\lib\tools.jar
javac -classpath C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar WebHelloWorld.java 结果给我如下错误指示:
-------------------------
javac:无效的标志:Files\Apache
------------------------- =================================================
将带空格的文件及路径加上双引号
javac -classpath "C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar" WebHelloWorld.java 还会有其他的问题。再解决。
=================================================
然后转到代码所在位置进行编译,输入:javac WebHelloWorld.java。它就提示我:
----------------------------
WebHelloWorld.java:2: 软件包 javax.Servlet 不存在
import javax.Servlet.*;
^
WebHelloWorld.java:3: 软件包 javax.Servlet.http 不存在
import javax.Servlet.http.*;
^
WebHelloWorld.java:6: 找不到符号
符号: 类 HttpServlet
public class WebHelloWorld extends HttpServlet{
^
......(下面还有其他错误,就不复制了)
---------------------------- 我在按照网上的提示,将servlet-api.jar拷贝到“C:\Program Files\Java\jdk1.6.0_14\jre\lib\ext”下面,问题依然存在,仍旧是提示我找不到相应的包! =================================================
servlet-api.jar引入到classpath中
javac -classpath %CLASSPATH%;"C:\Program Files\Java\jdk1.6.0_14\jre\lib\ext\servlet-api.jar" WebHelloWorld.java C:\Program Files\Java\jdk1.6.0_14\jre 这个文件夹下是运行时用到的,编译时用的是C:\Program Files\Java\jdk1.6.0_14\lib,可以复制在这里试试。或者直接修改环境变量classpath,添加C:\Program Files\Java\jdk1.6.0_14\jre\lib\ext\servlet-api.jar还会有其他的问题。再解决。
=================================================
JAVA_HOME = C:\Java\JDK1.6.0_14
TOMCAT_HOME = C:\TOmcat
CLASSPATH = .;%JAVA_HOME%\lib;%TOMCAT_HOME%\lib\servlet-api.jar
path = %JAVA_HOME%\bin在这样设置之后,如果不改大小写,编译依然无法通过。改了之后就好了。谢谢大家的热心帮助!!!