服务器tomcat已经安装配置好了,测试显示“hello”的html和jsp页面都通过,但是编译和部署servlet时就有错误了。
1,不使用包的servlet,一个helloservlet.java编译成功,将class文件放入c:\tomcat4.1\webapps\root\web-inf\classes
通过 http;//localhost/servlet/helloservlet无法访问,出现如下错误
HTTP Status 404 - /helloservlet
--------------------------------------------------------------------------------
type Status report
message /helloservlet
description The requested resource (/helloservlet) is not available.
--------------------------------------------------------------------------------
Apache Tomcat/4.1.31
2,使用包和是用工具类的servlet,HelloServlet3.java
package coreservlets;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
/** Simple servlet for testing the use of packages
* and utilities from the same package.
* <P>
* Taken from Core Servlets and JavaServer Pages 2nd Edition
* from Prentice Hall and Sun Microsystems Press,
* http://www.coreservlets.com/.
* © 2003 Marty Hall; may be freely used or adapted.
*/
public class HelloServlet3 extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Hello (3)";
out.println(ServletUtilities.headWithTitle(title) +
"<BODY BGCOLOR=\"#FDF5E6\">\n" +
"<H1>" + title + "</H1>\n" +
"</BODY></HTML>");
}
}
编译出错:
helloservlet3.java:23: cannot resolve symbol
symbol : variable ServletUtilities
location: class coreservlets.HelloServlet3
out.println(ServletUtilities.headWithTitle(title) +
^
1 error
helloservlet3.java我放在d:\ServletDevel\coreservlets中编译,(不知道对不对)。
c:\AUTOEXEC.BAT已经添加如下:
set PATH=C:\j2sdk1.4.2_07\bin;%PATH%
set CLASSPATH=.;D:\ServletDevel;C:\Tomcat4.1\common\lib\servlet.jar
搞了一天也通不过,郁闷之极,
13 个解决方案
#1
classpath里的dt.jar和tools.jar还没有加呢~~
在说了~你的程序里也没有jsp页面那!!
1,class文件放入c:\tomcat4.1\webapps\root\web-inf\classes 这里放的.class的文件~
2. c:\tomcat4.1\webapps\root 这个放的是jsp页面!
你不能c:\tomcat4.1\webapps\root 这里访问java源程序
在说了~你的程序里也没有jsp页面那!!
1,class文件放入c:\tomcat4.1\webapps\root\web-inf\classes 这里放的.class的文件~
2. c:\tomcat4.1\webapps\root 这个放的是jsp页面!
你不能c:\tomcat4.1\webapps\root 这里访问java源程序
#2
servlet/helloservlet?
你servlet下有helloservlet.jsp文件吗~
一般HTTP Status 404问题就是访问的页面不存在~
你servlet下有helloservlet.jsp文件吗~
一般HTTP Status 404问题就是访问的页面不存在~
#3
tomcat配置参数不方便,很难配成功。
你编的是servlet,改用jsp方式,就简单了
你编的是servlet,改用jsp方式,就简单了
#4
WEB.XML没有配置好..配置好后还要reload一下才能生效.
#5
set PATH=C:\j2sdk1.4.2_07\bin;%PATH%
set CLASSPATH=.;D:\ServletDevel;C:\Tomcat4.1\common\lib\servlet.jar
=========================
你用的是win98?
set CLASSPATH=.;D:\ServletDevel;C:\Tomcat4.1\common\lib\servlet.jar
=========================
你用的是win98?
#6
classpath里的dt.jar和tools.jar还没有加呢~~
这个怎么加?书上没提,不懂,能说一下么?
在说了~你的程序里也没有jsp页面那!!
1,class文件放入c:\tomcat4.1\webapps\root\web-inf\classes 这里放的.class的文件~
我就是把HelloServlet.clss放到这个目录下了,通过servlet调用器访问,不对吗?
2. c:\tomcat4.1\webapps\root 这个放的是jsp页面!
你不能c:\tomcat4.1\webapps\root 这里访问java源程序
我将一个jsp页面放到c:\tomcat4.1\webapps\root 下,已经可以访问了。
这个怎么加?书上没提,不懂,能说一下么?
在说了~你的程序里也没有jsp页面那!!
1,class文件放入c:\tomcat4.1\webapps\root\web-inf\classes 这里放的.class的文件~
我就是把HelloServlet.clss放到这个目录下了,通过servlet调用器访问,不对吗?
2. c:\tomcat4.1\webapps\root 这个放的是jsp页面!
你不能c:\tomcat4.1\webapps\root 这里访问java源程序
我将一个jsp页面放到c:\tomcat4.1\webapps\root 下,已经可以访问了。
#7
WEB.XML没有配置好..配置好后还要reload一下才能生效.
能说的详细一点吗?什么地方没配好?
我的系统是2000。
能说的详细一点吗?什么地方没配好?
我的系统是2000。
#8
ServletUtilities.java已经编译成ServletUtilities.class,和helloservlet3.java一起放在d:\ServletDevel\coreservlets中,编译helloservlet3.java还是出错,为什么?
#9
c:\tomcat4.1\webapps\root\web-inf\web.xml内容如下
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>helloservlet</servlet-name>
<servlet-class>HelloServlet3</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloservlet</servlet-name>
<url-pattern>/servlet/helloservlet</url-pattern>
</servlet-mapping>
</web-app>
注意<servlet-class></servlet-class>中写入的类必须包含完整的包,例如你的servlet位于myPack包下,则应该是myPack.HelloServlet3
编译时应该如下
javac -classpath c:\tomcat4.1\common\lib\servlet.jar HelloServlet3.java
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>helloservlet</servlet-name>
<servlet-class>HelloServlet3</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloservlet</servlet-name>
<url-pattern>/servlet/helloservlet</url-pattern>
</servlet-mapping>
</web-app>
注意<servlet-class></servlet-class>中写入的类必须包含完整的包,例如你的servlet位于myPack包下,则应该是myPack.HelloServlet3
编译时应该如下
javac -classpath c:\tomcat4.1\common\lib\servlet.jar HelloServlet3.java
#10
有没有高人指点一下?自己看书实在是搞不清楚哪里有问题啊?都是按照书上的说法做的
#11
web.xml你配置了没有啊?怎么配置上面的兄弟应该说的很清楚了..
#12
404的错误主要是因为找不到文件,也就是说你的servlet的配置有问题,按照楼上的方法配好就行了
#13
谢谢大家,终于可是显示了,web.xml没有配置对。
第二个问题还没有解决,ServletUtilities.java已经编译成ServletUtilities.class,和helloservlet3.java一起放在d:\ServletDevel\coreservlets中,编译helloservlet3.java还是出错,为什么?
helloservlet3.java:23: cannot resolve symbol
symbol : variable ServletUtilities
location: class coreservlets.HelloServlet3
out.println(ServletUtilities.headWithTitle(title) +
^
1 error
第二个问题还没有解决,ServletUtilities.java已经编译成ServletUtilities.class,和helloservlet3.java一起放在d:\ServletDevel\coreservlets中,编译helloservlet3.java还是出错,为什么?
helloservlet3.java:23: cannot resolve symbol
symbol : variable ServletUtilities
location: class coreservlets.HelloServlet3
out.println(ServletUtilities.headWithTitle(title) +
^
1 error
#1
classpath里的dt.jar和tools.jar还没有加呢~~
在说了~你的程序里也没有jsp页面那!!
1,class文件放入c:\tomcat4.1\webapps\root\web-inf\classes 这里放的.class的文件~
2. c:\tomcat4.1\webapps\root 这个放的是jsp页面!
你不能c:\tomcat4.1\webapps\root 这里访问java源程序
在说了~你的程序里也没有jsp页面那!!
1,class文件放入c:\tomcat4.1\webapps\root\web-inf\classes 这里放的.class的文件~
2. c:\tomcat4.1\webapps\root 这个放的是jsp页面!
你不能c:\tomcat4.1\webapps\root 这里访问java源程序
#2
servlet/helloservlet?
你servlet下有helloservlet.jsp文件吗~
一般HTTP Status 404问题就是访问的页面不存在~
你servlet下有helloservlet.jsp文件吗~
一般HTTP Status 404问题就是访问的页面不存在~
#3
tomcat配置参数不方便,很难配成功。
你编的是servlet,改用jsp方式,就简单了
你编的是servlet,改用jsp方式,就简单了
#4
WEB.XML没有配置好..配置好后还要reload一下才能生效.
#5
set PATH=C:\j2sdk1.4.2_07\bin;%PATH%
set CLASSPATH=.;D:\ServletDevel;C:\Tomcat4.1\common\lib\servlet.jar
=========================
你用的是win98?
set CLASSPATH=.;D:\ServletDevel;C:\Tomcat4.1\common\lib\servlet.jar
=========================
你用的是win98?
#6
classpath里的dt.jar和tools.jar还没有加呢~~
这个怎么加?书上没提,不懂,能说一下么?
在说了~你的程序里也没有jsp页面那!!
1,class文件放入c:\tomcat4.1\webapps\root\web-inf\classes 这里放的.class的文件~
我就是把HelloServlet.clss放到这个目录下了,通过servlet调用器访问,不对吗?
2. c:\tomcat4.1\webapps\root 这个放的是jsp页面!
你不能c:\tomcat4.1\webapps\root 这里访问java源程序
我将一个jsp页面放到c:\tomcat4.1\webapps\root 下,已经可以访问了。
这个怎么加?书上没提,不懂,能说一下么?
在说了~你的程序里也没有jsp页面那!!
1,class文件放入c:\tomcat4.1\webapps\root\web-inf\classes 这里放的.class的文件~
我就是把HelloServlet.clss放到这个目录下了,通过servlet调用器访问,不对吗?
2. c:\tomcat4.1\webapps\root 这个放的是jsp页面!
你不能c:\tomcat4.1\webapps\root 这里访问java源程序
我将一个jsp页面放到c:\tomcat4.1\webapps\root 下,已经可以访问了。
#7
WEB.XML没有配置好..配置好后还要reload一下才能生效.
能说的详细一点吗?什么地方没配好?
我的系统是2000。
能说的详细一点吗?什么地方没配好?
我的系统是2000。
#8
ServletUtilities.java已经编译成ServletUtilities.class,和helloservlet3.java一起放在d:\ServletDevel\coreservlets中,编译helloservlet3.java还是出错,为什么?
#9
c:\tomcat4.1\webapps\root\web-inf\web.xml内容如下
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>helloservlet</servlet-name>
<servlet-class>HelloServlet3</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloservlet</servlet-name>
<url-pattern>/servlet/helloservlet</url-pattern>
</servlet-mapping>
</web-app>
注意<servlet-class></servlet-class>中写入的类必须包含完整的包,例如你的servlet位于myPack包下,则应该是myPack.HelloServlet3
编译时应该如下
javac -classpath c:\tomcat4.1\common\lib\servlet.jar HelloServlet3.java
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>helloservlet</servlet-name>
<servlet-class>HelloServlet3</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloservlet</servlet-name>
<url-pattern>/servlet/helloservlet</url-pattern>
</servlet-mapping>
</web-app>
注意<servlet-class></servlet-class>中写入的类必须包含完整的包,例如你的servlet位于myPack包下,则应该是myPack.HelloServlet3
编译时应该如下
javac -classpath c:\tomcat4.1\common\lib\servlet.jar HelloServlet3.java
#10
有没有高人指点一下?自己看书实在是搞不清楚哪里有问题啊?都是按照书上的说法做的
#11
web.xml你配置了没有啊?怎么配置上面的兄弟应该说的很清楚了..
#12
404的错误主要是因为找不到文件,也就是说你的servlet的配置有问题,按照楼上的方法配好就行了
#13
谢谢大家,终于可是显示了,web.xml没有配置对。
第二个问题还没有解决,ServletUtilities.java已经编译成ServletUtilities.class,和helloservlet3.java一起放在d:\ServletDevel\coreservlets中,编译helloservlet3.java还是出错,为什么?
helloservlet3.java:23: cannot resolve symbol
symbol : variable ServletUtilities
location: class coreservlets.HelloServlet3
out.println(ServletUtilities.headWithTitle(title) +
^
1 error
第二个问题还没有解决,ServletUtilities.java已经编译成ServletUtilities.class,和helloservlet3.java一起放在d:\ServletDevel\coreservlets中,编译helloservlet3.java还是出错,为什么?
helloservlet3.java:23: cannot resolve symbol
symbol : variable ServletUtilities
location: class coreservlets.HelloServlet3
out.println(ServletUtilities.headWithTitle(title) +
^
1 error