Servlets 将密码从servlet页面存储到ms access数据库中

Servlets 将密码从servlet页面存储到ms access数据库中,servlets,Servlets,我在注册表中从用户处获取用户名和密码,并将其保存在MS access数据库中。当我这样做时,数据库中的密码列显示“null”。因此,登录页面无法正常工作。我该怎么办 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con =DriverManager.getConnection("Jdbc:Odbc:db5"); Statement smt = con.createStatement(); String str = "

我在注册表中从用户处获取用户名和密码,并将其保存在MS access数据库中。当我这样做时,数据库中的密码列显示“null”。因此,登录页面无法正常工作。我该怎么办

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =DriverManager.getConnection("Jdbc:Odbc:db5");
Statement smt = con.createStatement();
String str = 
    "insert into table1(name1,sex,age,email,pwd,info) " 
    + "values('" + name + "','" + sex + "','" + age + "','" 
    + email + "','" + pwd + "','" + info + "')";
int val=smt.executeUpdate(str);

首先也是最重要的是用
PreparedStatement
替换该语句,以防止SQL注入攻击。不清楚如何从servlet检索密码。在持久化到数据库中之前,您是否尝试过打印它以查看它是否为空?您根本不应该存储密码。您应该存储密码的哈希值。这具有非常重要的法律后果。将“不可抵赖”一词发送给您的公司律师。是的,谢谢您刚才我检查了,pwd的值为空,我尝试了手动值,它显示了输出,我将检查代码中的错误。谢谢!
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =DriverManager.getConnection("Jdbc:Odbc:db5");
Statement smt = con.createStatement();
String str = 
    "insert into table1(name1,sex,age,email,pwd,info) " 
    + "values('" + name + "','" + sex + "','" + age + "','" 
    + email + "','" + pwd + "','" + info + "')";
smt.executeUpdate(str);