使用servlet向数据库添加值

时间:2011-06-28 17:16:19

标签: java servlets jdbc

我是servlet使用的新手,所以请原谅我的无知。 我开发了一个类,它将值插入到DB中的表中,我想在servlet中使用方法InsertValue,以便在表单中输入的值将直接插入表中。

如果以某种方式有所帮助,这里是InsertValue方法的代码:

public class InsetValue {
{

try {
    Statement stmt; 
    Connectionx cx = new Connectionx();
    Connection con= cx.Connexion("com.mysql.jdbc.Driver","jdbc:mysql://localhost/jiradb4.3","root","root");        
    stmt = (Statement) con.createStatement();

    int ID = 10200;
    String s = new String("PAYROLL");
    String url = new String("");
    String lead = new String ("amira.jouida");
    String desc = new String ("projet payroll");
    String key = new String ("PROLL");
    int pcount = 0;
    int asstype = 2;
    int avatar = 10011;

    stmt.executeUpdate("INSERT INTO project " +" VALUES ('"+ ID +"','"+ s +"','"+ url +"','"+ lead +"','"+ desc +"','"+ key +"','"+ pcount +"','"+ asstype +"','"+ avatar +"');");
    stmt.close();

    System.out.println ("Done");
         }
        catch (SQLException ex) {

          }    

   }
}

这对我来说很有效。我重写了一些关于servlets的文档,但我仍然想知道如何处理这个问题。

感谢您的帮助。 此致

3 个答案:

答案 0 :(得分:3)

您的代码中有SQL Injection。你应该使用Prepared语句。

答案 1 :(得分:1)

您的Servlet将提供“doGet”和“doPost”功能。

两者都有参数'request'和'response'。

使用浏览器调用servlet并调用“doGet”。要创建页面,请在响应中写入一些HTML代码。

response.getWriter().print(SOME HTML);

此页面应包含带字段的表单(例如“lead”)。表单的提交按钮可以再次调用servlet。如果提交方法是POST,则调用“doPost”。

您可以通过字段名称获取表单的值:

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

现在您已准备好执行准备好的声明......基本内容!

答案 2 :(得分:0)

什么是Connectionx?

如果您正在开发Web应用程序并将其部署到Web服务器中,那么您应该使用服务器提供的连接池。