package car;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
@WebServlet(name = "detail", urlPatterns = {"/detail"})
public class detail extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, ClassNotFoundException, SQLException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String name=request.getParameter("name");
String emailid=request.getParameter("emailid");
int mobile=Integer.parseInt(request.getParameter("mobile"));
String carname=request.getParameter("carname");
int regno=Integer.parseInt(request.getParameter("regno"));
int manufacturingyear=Integer.parseInt(request.getParameter("manufacturingyear"));
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:userdetail","","");
Statement st=con.createStatement();
st.executeUpdate("insert into userdetail (name,emailid,mobile,carname,regno,manufacturingyear) values('"+name+"','"+emailid+"','"+mobile+"','"+carname+"','"+regno+"','"+manufacturingyear+"',)");
getServletContext().getRequestDispatcher("index.jsp").forward(request, response);
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet detail</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>FILL DETAILS</h1>");
out.println("</body>");
out.println("</html>");
} catch (Exception e) {
e.printStackTrace();
} finally {
out.close();
}
}
这些值没有将给定值插入数据库(UserDetail)。在数据库字段中显示null。
字段数据类型
名称文字
emailID文本
移动int
carname文字
regno int
制造YT
您必须提取一种保存DB的方法,然后将该方法放入其他类中。然后,将主要方法添加到您的数据库专用类中,然后尝试从主方法插入一行(不是从您的servlet中)。
混合形式与数据库持久性和应用程序逻辑的读数是一个太糟糕的做法:您在示例中有证据:如果没有服务器,就不可能测试您的应用程序,并且无法理解问题在哪里