Java 未捕获类型错误:非法调用

Java 未捕获类型错误:非法调用,java,javascript,jquery,servlets,Java,Javascript,Jquery,Servlets,我正在尝试使用Ajax、Servlet和HTML从数据库中删除用户。当我提交数据时,会发生非法调用。我认为连接或SQL语句不会有任何问题 delete.html <input type="text" id="delete"> <input type="submit" onclick="deleteUSer()" value="Delete"> Delete.java servlet protected void processRequest(HttpServletReq

我正在尝试使用Ajax、Servlet和HTML从数据库中删除用户。当我提交数据时,会发生非法调用。我认为连接或SQL语句不会有任何问题

delete.html

<input type="text" id="delete">
<input type="submit" onclick="deleteUSer()" value="Delete">
Delete.java servlet

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        PrintWriter out = null;
        DBUtils dbutils = null;
        Connection conn = null;
        try{

            String username = request.getParameter("username");

            dbutils = new DerbyUtils();
            conn = dbutils.getConnection();

            DeleteDAO dao = new DeleteDAO(conn);

            dao.deleteUser(username);



            RequestDispatcher dispatcher =
            getServletContext().getRequestDispatcher("/index.html");
            dispatcher.forward(request, response);



        }
DeleteDAO.java

public void deleteUser(String username) throws SQLException{
      try{


          String sql = "delete from users where username='"+username+"'";

          PreparedStatement ps = this.conn.prepareStatement(sql);

          ps.executeQuery();

您正在发送的html文档不是用户名

试试这个--


函数deleteUSer(){
var username=document.getElementById(“删除”);
变量参数={
用户名:username.value
}
$.post(“删除”,参数,函数(数据){}
)
} 

如果试图执行可用于HTTP请求的“delete”命令,则需要使用
$.ajax
,而不是
$.post

要引用文档():

这是一个速记Ajax函数,相当于:

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});
如果您试图执行“删除”,您可能希望执行以下操作:

var dataObj = {
        'username': document.getElementById("delete").value;
    }
$.ajax({
    type:"DELETE",
    data: dataObj,
    url: 'url/to/your/servlet'
});
您可能还希望在其中包含一个数据类型,但对于本例,jquery可以解决这个问题

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});
var dataObj = {
        'username': document.getElementById("delete").value;
    }
$.ajax({
    type:"DELETE",
    data: dataObj,
    url: 'url/to/your/servlet'
});