D:\Tomcat 5.0\webapps\sqlserver下有index.html
D:\Tomcat 5.0\webapps\sqlserver\WEB-INF下有web.xml
D:\Tomcat 5.0\webapps\sqlserver\WEB-INF\classes下有AddBook.java和AddBook.class
其中:
----------------------------------------------------------------------
index.html内容如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 添加图书到SQL Server数据库</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><BODY>
<h2><B>在下面输入图书信息后提交</b></h2><Br>
<form method="post" action="/sqlserver/servlet/AddBook">
图书名称:<input type="text" name="bookname"><Br>
图书作者:<input type="text" name="bookauthor"><Br>
图书价格:<input type="text" name="bookprice"><Br>
图书介绍:<textarea name="bookintroduce" rows=6></textarea><Br>
<input type="submit" value="提交"><input type="reset" value="重填">
</form>
</BODY>
</HTML>-----------------------------------------------------------------------
web.xml内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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>
  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
<!-- JSPC servlet mappings start --><!-- 实例6-1 -->
<servlet> 
<servlet-name>AddBook</servlet-name> 
<display-name>AddBook</display-name> 
<description>A test Servlet</description> 
<servlet-class>AddBook</servlet-class> 
</servlet> <servlet-mapping> 
<servlet-name>AddBook</servlet-name> 
<url-pattern>/AddBook</url-pattern> 
</servlet-mapping>--------------------------------------------------------------AddBook内容如下:
/* AddBook.java添加一本图书到数据库 */
//导入相关的包
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;public class AddBook extends HttpServlet
{//定义servlet的post方法
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{//获得用户输入的数据
String bookName=new String(request.getParameter("bookname").getBytes("8859_1"));
String bookAuthor=new String(request.getParameter("bookauthor").getBytes("8859_1"));
String bookPrice=new String(request.getParameter("bookprice").getBytes("8859_1"));
String bookIntroduce=new String(request.getParameter("bookintroduce").getBytes("8859_1"));
//定义数据库连接对象
java.sql.Connection conn=null;//定义数据库执行对象
java.sql.Statement st=null;//定义输出类型
response.setContentType("text/html;charset=gb2312");
//定义输出对象out
PrintWriter out=response.getWriter();
try
{
//查找SQL Server的JDBC Driver
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
/*
用URL,USERNAME,PASSWORD去连接本地的SQL Server数据库
注意:SQL Server的URL形式是:jdbc:microsoft:sqlserver://数据库服务器名称:数据库端口
*/
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=book","sa","");  
//生成数据库执行对象
st=conn.createStatement();
//添加图书到数据库中
st.executeUpdate("insert into bookInfo values(‘"+bookName+"’,’"+bookAuthor+"’,’"+bookPrice+"’,’"+bookIntroduce+"’)"); /*
一定要注意关闭数据库
否则,数据库会因为连接满而拒绝服务
*/
conn.close();
out.println("图书已经成功添加到数据库!");
}
//捕获错误
catch(Exception e)
{

//打印出错误信息
out.println("发生如下错误:<Br>");
out.println(e.getMessage());
}
}
}------------------------------------------------------------------问题:
jdbc驱动已有,环境变量已设置,数据库sql server2000 升级sp4,数据库经测试可以通过程序连接
在index页面http://localhost:8080/sqlserver/index.html中按下提交按钮,页面转向:http://localhost:8080/sqlserver/servlet/AddBook
提示信息为:
HTTP Status 404 - /sqlserver/servlet/AddBook
type Status report
message /sqlserver/servlet/AddBook
description The requested resource (/sqlserver/servlet/AddBook) is not available.
Apache Tomcat/5.0.28
请问应该怎样解决???

解决方案 »

  1.   

    把index.html里的
    <form method="post" action="/sqlserver/servlet/AddBook">
    换成
    <form method="post" action="/sqlserver/AddBook">试试或者把Web.xml里的
    <servlet-mapping> 
    <servlet-name>AddBook</servlet-name> 
    <url-pattern>/AddBook</url-pattern> 
    </servlet-mapping>
    改成
    <servlet-mapping> 
    <servlet-name>AddBook</servlet-name> 
    <url-pattern>/servlet/AddBook</url-pattern> 
    </servlet-mapping>
      

  2.   

    谢谢newerC() 
    另一贴进来领分
    http://community.csdn.net/Expert/topic/5653/5653208.xml?temp=.8897058