我正在尝试将 HTML 表单中的记录插入 MySQL 数据库。我的 HTML 和 Jquery 已关闭,但我的 Servlet 有问题。我没有立即注意到它有什么问题,但是如果我能在正确的方向上找到一个点,我就可以超越我现在的位置。谢谢
package com.david.servlets;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
/**
* Servlet implementation class myForm
*/
public class myForm extends HttpServlet {
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//Get parameters
String id = request.getParameter("ID");
String fname = request.getParameter("FirstName");
String lname = request.getParameter("LastName");
//Get Connection
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Found a driver");
Connection dbConnect = null;
try {
dbConnect = getConnection("localhost", 7001);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Made a connection");
//Create Query
String query = "INSERT INTO test.customer (ID, FirstName, LastName) " +
"VALUES (" + id + ", " + fname + ", " + lname + ")";
PreparedStatement dbStatement = null;
try {
dbStatement = dbConnect.prepareStatement(query);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Execute Query
try {
dbStatement.executeUpdate(query);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//close connection
try {
dbStatement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
dbConnect.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Connection getConnection(String server, int port)
throws SQLException, NamingException {
Context ctx = null;
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://"+server+":"+port);
ctx = new InitialContext(ht);
DataSource ds = (javax.sql.DataSource) ctx.lookup ("localmysql");
Connection conn = ds.getConnection();
//conn.setAutoCommit( true );
return conn;
}
}