读书人

求教web数据库操作有关问题

发布时间: 2011-12-27 22:22:55 作者: rapoo

求教web数据库操作问题
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
请问应该怎样解决???

[解决办法]
把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>

读书人网 >Java Web开发

热点推荐