书中的一个servlet的小例子,没有成功运行,百思不得解,问问大家

JavaExplorer 2003-09-15 11:09:47
我使用jb9来建立tomcat的服务器,工程路径在...\JBuilder9\project\TryJSP
例子中一共有2个文件,getInfo.htm & GetInfo.class
我把getInfo.htm放在...\JBuilder9\project\TryJSP\defaultroot下
把GetInfo.class放在...\JBuilder9\project\TryJSP\defaultroot\WEB-INF\servlet下
没有修改...\JBuilder9\project\TryJSP\defaultroot\WEB-INF\下的web.xml文件

启动服务器,能够看到getInfo.htm,但是无法运行servlet,tomcat的出错提示是:
type Status report

message /servlet/GetInfo

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

请问高手,出错在什么原因,是不是需要配置web.xml,怎么配置???
...全文
98 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
JavaExplorer 2003-09-15
  • 打赏
  • 举报
回复
自己顶一下
JavaExplorer 2003-09-15
  • 打赏
  • 举报
回复
我的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>debugjsp</servlet-name>
<description>Added to compile JSPs with debug info</description>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>classdebuginfo</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>debugjsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>GetInfo</servlet-name>
<servlet-class>GetInfo</servlet-class>
</servlet>
</web-app>

是不是写的不对?

JavaExplorer 2003-09-15
  • 打赏
  • 举报
回复
文件命名为getInfo.htm或者是getInfo.jsp,有什么不一样吗?

我已经更改为getInfo.jsp,还是不好用

期待中...
jncz 2003-09-15
  • 打赏
  • 举报
回复
代码应该没错

可能是web.xml的问题

看看web.xml是怎么写的,然后按照那个地址在地址栏上填写,然后浏览
dooluby 2003-09-15
  • 打赏
  • 举报
回复
不应该是把GetInfo.class放在...\JBuilder9\project\TryJSP\defaultroot\WEB-INF\servlet下

应该是:把GetInfo.class放在...\JBuilder9\project\TryJSP\defaultroot\WEB-INF\classes下!
dooluby 2003-09-15
  • 打赏
  • 举报
回复
把getInfo.htm和GetInfo.class代码贴出来,

为什么会是getInfo.htm,而不是getInfo.jsp???
JavaExplorer 2003-09-15
  • 打赏
  • 举报
回复
代码:

//GetInfo.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

public class GetInfo extends HttpServlet {
public GetInfo() {
}

public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body bgcolor=\"white\">");
out.println("<head>");
String title = "读取表单数据";
String body = request.getParameter("username");
out.println("<title>"+ title + "</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>" + title + "</h1>");
out.println("<p>" + body + "</p>");
out.println("</body>");
out.println("</html>");
}

}




//getInfo.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<form method="get" action="http://localhost:8080/servlet/GetInfo">
<p>input name</p>
<p><input type="text" name="username"></p>
<p>
<input type="submit" name="submit1" value="提交">
<input type="reset" name="submit2" value="重置">
</p>
</form>
</body>
</html>

blue999star 2003-09-15
  • 打赏
  • 举报
回复
GetInfo没有servlet映射<servlet-mapping>

81,092

社区成员

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

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