【问题标题】:This is servlet code to insert value into the database [duplicate]这是将值插入数据库的servlet代码[重复]
【发布时间】:2014-01-29 14:32:05
【问题描述】:
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)。在数据库中的字段显示为空。

字段数据类型

名称文本

emailid 文本

移动端

车名文字

regno 内部

制造年国际

【问题讨论】:

  • 从错误中学习并改进您的问题。
  • 值没有插入到表中
  • @SotiriosDelimanolis 认为我在尝试部分做错了请验证
  • 那真是太糟糕了。我们不是您的调试器。自己想办法。如果您不明白为什么,请向我们解释究竟发生了什么,我们可能会为您提供帮助。同时,格式化您的代码。
  • @SotiriosDelimanolis 只有第一个字段(名称)单独插入到表中,其他字段不插入

标签: java jsp servlets


【解决方案1】:

您必须提取用于保存在数据库中的方法,并将该方法放在不同的类中。然后将 main 方法添加到您的 db 专用类并尝试从 main 方法(而不是您的 servlet)插入一行。

将表单读取与数据库持久性和应用程序逻辑混合使用是一种非常糟糕的做法:您的示例中有证据:没有服务器就无法测试您的应用程序,也无法理解问题出在哪里

【讨论】:

  • st.executeUpdate("插入用户详细信息(name,emailid,mobile,carname,regno,manufacturingyear) values('"+name+"','"+emailid+"','"+mobile+" ','"+carname+"','"+regno+"','"+manufacturingyear+"')");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
相关资源
最近更新 更多