那位大虾帮忙? 我已经调了半天了也没调出来、快晕了

zzd02111111 2003-09-14 11:24:08
%%\webapps\greeting\index.html
%%\webapps\greeting\src\GreetingServlet.java
%%\webapps\greeting\WEB-INF\web.xml
%%\webapps\greeting\WEB-INF\classes\GreetingServlet.class


index.html:
<HTML>
<HEAD>
<TITLE>ProJava Registration</TITLE>
</HEAD>
<BODY>
<H1>fdas</H1>
<FORM ACTION="/greeting/servlet/GreetingServlet" METHOD="POST">
<P>Your Name <INPUT TYPE="text" SIZE="40" NAME="name"> </P>
<P>Your Email <INPUT TYPE="text" SIZE="40" NAME="email"> </P>
<P> <INPUT TYPE="submit" VALUE="ffaasdf"> </P>
</FORM>
</BODY>
</HTML>

GreetingServlet.java:

import javax.servlet.*;
import javax.servlet.http.*;

import java.io.*;
import java.util.*;

public class GreetingServlet extends HttpServlet {
protected void doPost(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

String name = request.getParameter("name");
String email = request.getParameter("email");
String message = null;
GregorianCalendar calendar = new GregorianCalendar();
if (calendar.get(Calendar.AM_PM) == Calendar.AM) {
message = "Good Morning";
} else {
message = "Good Afternoon";
}

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<HTML>");
out.println("<BODY>");
out.println("<P>" + message + ", " + name + "</P>");

out.println("<P> + Thanks for registering your email ("+ email +
") with us.</P> ");

out.println("<p> - The Pro Java Team. </P>");

out.println("<BODY>");
out.println("<HTML>");

out.close();
}
}


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>
<servlt-name>Registration</servlet-name>
<servlet-class>GreetingServlet</servlet-class>
</servlet>
</web-app>


望那位大虾帮个忙了,小弟实在是调不出来了。。不知道错那里了。谢了







...全文
35 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzd02111111 2003-09-14
  • 打赏
  • 举报
回复
上面的兄弟,这样也不行啊,可以帮我调试一下吗?
Keepers 2003-09-14
  • 打赏
  • 举报
回复
你的web.xml中没有做映射。
应该像下边作mapping
<?xml version="1.0" encoding="UTF-8"?>
<!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>Registration</servlet-name>
<servlet-class>GreetingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Registration</servlet-name>
<url-pattern="/greeting/servlet/GreetingServlet</url-pattern>
</servlet-mapping>
</web-app>
zzd02111111 2003-09-14
  • 打赏
  • 举报
回复
Sorry 忘了给Email: zzdljy@163.com
zzd02111111 2003-09-14
  • 打赏
  • 举报
回复
上面的兄弟可以把你的 greeting整个目录给我一份吗?
还有、TOM_CAT和JDK 要怎么配置啊。。
zcjl 2003-09-14
  • 打赏
  • 举报
回复
我的邮箱zcjl@etang.com
msn:zcjl@msn.com
zzd02111111 2003-09-14
  • 打赏
  • 举报
回复
上面的兄弟可以留个QQ吗?
zcjl 2003-09-14
  • 打赏
  • 举报
回复
我的目录结构与你给出的一致
按我作的修改后,运行正常
建议把你的web.xml删掉,全部换成我给出的那个

另:noratong(诺拉)所说的文件夹名字不能相同的问题也没有出现过
我在index.htm里提交后,网页路径显示http://localhost:8080/greeting/greeting/servlet/GreetingServlet

内容为:
Good Afternoon, zcjl

+ Thanks for registering your email (zcjl@etang.com) with us.

- The Pro Java Team.
noratong 2003-09-14
  • 打赏
  • 举报
回复
我不是按上面的小弟说的设置的。

你先在Tomact的conf文件夹下的web.xml中找到这样的代码:
<!--
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
-->
去掉注释。
然后在把你的web.xml改写成:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>registration</servlet-name>
<servlet-class>GreetingServlet</servlet-class>
</servlet>
</web-app>
最后把你的index.html里的:
<FORM ACTION="/greeting/servlet/GreetingServlet" METHOD="POST">
改成:
<form action="servlet/registration" method="post">
就可以了。不过最好把这个文件夹的名字改成greetings,我先就是这样改的,成功了。
不知道你那行不行。试一下吧!!!
zzd02111111 2003-09-14
  • 打赏
  • 举报
回复
那位兄弟给我一份完整(调试通过的)的代码?
zzd02111111 2003-09-14
  • 打赏
  • 举报
回复
HTTP Status 404 - /greeting/greeting/servlet/GreetingServlet

--------------------------------------------------------------------------------

type Status report

message /greeting/greeting/servlet/GreetingServlet

description The requested resource (/greeting/greeting/servlet/GreetingServlet) is not available.


--------------------------------------------------------------------------------



也是一样的错误啊。。
Apache Tomcat/4.1.18
noratong 2003-09-14
  • 打赏
  • 举报
回复
我的可以说已经好了。我的只要文件夹的名字不用greeting就可以了。
不管是不是重新启动Tomact,都可以正常运行了。
至于为什么不能用greeting我也不知道。我用的是greetings,它就运行的很好。

很怪!!!

zcjl 2003-09-14
  • 打赏
  • 举报
回复
我的电脑上测试通过

你那边不行么?
报什么错?
zzd02111111 2003-09-14
  • 打赏
  • 举报
回复
上面的兄弟你测试过吗??好象也不行吧。
zcjl 2003-09-14
  • 打赏
  • 举报
回复
忘了说明
<servlet-class>test.GreetingServlet</servlet-class>中的test是我给servlet加的包名
不过好像不加包名也是可以的
zzd02111111 2003-09-14
  • 打赏
  • 举报
回复
我们继续努力吧。。
noratong 2003-09-14
  • 打赏
  • 举报
回复
我调试出来了,不过不知道到底是上面道理,我只是把存放的文件夹的名字该了一个而已,就可以正常运行了。但是我把Tomact关闭重新启动后却又不行了。我实在是想不通!这到底是怎么搞得?????

希望那位高手能指点一下!!!!

一同学习!!!
zcjl 2003-09-14
  • 打赏
  • 举报
回复
web.xml修改如下:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>
<servlet>
<servlet-name>Registration</servlet-name>
<servlet-class>test.GreetingServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Registration</servlet-name>
<url-pattern>/greeting/servlet/GreetingServlet</url-pattern>
</servlet-mapping>

</web-app>


然后jsp的调用修改为:
<FORM ACTION="greeting/servlet/GreetingServlet" METHOD="POST">
noratong 2003-09-14
  • 打赏
  • 举报
回复
OK!!!

我正在努力的调试。
zzd02111111 2003-09-14
  • 打赏
  • 举报
回复
上面的仁兄知道了,通知一声啊。。
noratong 2003-09-14
  • 打赏
  • 举报
回复
要解决了的话,我就不会所学习了啥。

我会直接告诉你了。

这个问题让我想不通,其它的servlet的程序我现在可以运行了。就唯独这个不能运行。奇怪????
加载更多回复(8)

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧