表单内容:
<HTML>
<HEAD>
<TITLE>JDBC</TITLE>
</HEAD>
<body bgcolor=#009900# >
<form action="http://127.0.0.1:8080/examples/servlet/DeleteData" method=POST>
分数<input type=text name=grade><br>
<input type=submit value="提交">
</form>
</BODY>
</HTML> 
 
DeleteData.class编译前:
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.URL;
import java.sql.*;
public class DeleteData extends HttpServlet
{
Connection con;
public void init(ServletConfig conf) throws ServletException
{
   super.init();
   String l="jdbc:odbc:wl";
   try
   {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      con=DriverManager.getConnection(l,"","");
      }
       catch(Exception e )
      {
            }
       }
    public void doGet(HttpServletRequest request ,HttpServletResponse response)
    throws IOException,ServletException
{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>这是一个使用Serverlet数据库删除的例子</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Serverlet删除数据库</h1>");
        out.println("<pre>");
        String grade=request.getParameter("grade");
        out.println("<h2>您要删除的分数 是   "+grade+"</h2>");
        try
        {
        Statement stmt = con.createStatement();
        String sql="delete from stud where xm="+grade;
        stmt.executeUpdate(sql);
ResultSet rs=stmt.executeQuery("Select * from stud");
while(rs.next())
{
  for(int i=1;i<3;i++)
  out.println("这是第"+i+"个字段的内容"+rs.getString(i));
}
con.close();
out.println("</pre>");
con.close();
}
  catch(SQLException ex)
     {
           while(ex!=null)
           {
           out.println("数据库异常被捕获了");
           out.println(ex.getSQLState());
           out.println(ex.getMessage());
           out.println(ex.getErrorCode());
           ex=ex.getNextException();
       }
      }
       out.println("</body>");    
       out.println("</html>");
   }
}
 
单独运行http://127.0.0.1:8080/examples/servlet/DeleteData,结果正常,但运行表单出错:
1、地址栏http://127.0.0.1:8080/examples/servlet/DeleteData正确,但不执行,需刷新后才运行
2、参数传不过来

解决方案 »

  1.   

    我刚看JSP....你用的是POST,而SERVLET中是DOGET....应该是DOPOST...或者让DOPOST调用doget...
      

  2.   

    也就是
    加上
    public void doPost(HttpServletRequest request ,HttpServletResponse response)
        throws IOException,ServletException
    {
            doGet(request , response)
    }
      

  3.   

    应该是配置的文件,看一下web.xml文件
      

  4.   

    非常感谢liang8305(七分之雨后),我怎么才能给你加分?我输入50,提示为:你输入的不是数字