jsp连接mysql数据库如何实现登录?

jsp连接mysql数据库如何实现登录?,第1张

首先得把你的mysql的连接jar包导入到Web App  Libraries

如下图显示,mysql-connector-java-5.1.24-bin-jar位于Web App  Libraries下

假如没有这个jar包,从网上下载

接着给你连接的代码

<%

  Class.forName("com.mysql.jdbc.Driver")

  String url = "jdbc:mysql://localhost/bbs?user=root&password=root"

  Connection conn = DriverManager.getConnection(url)

  Statement stmt = conn.createStatement()

  ResultSet rs = stmt.executeQuery("select * from article where pid = " + 0)

  if (rs.next()) {

      if(rs.getInt("isleaf")!=0) {

         tree(conn,rs.getInt("pid"),1)

      }

  }

%>

这样就连接上了

String url = "jdbc:mysql://localhost/bbs?user=root&password=root"中,bbs是我自己定义的数据库,user=root&password=root就是你登录时的用户名与密码,其它的一样就可以了

问题应该在这:

if(rs.next())

{

username

=

rs.getString(1)

//------------------------

flag

=

true

}

改成:

while(rs.next()){

if(username

==

rs.getString(1))

flag

=

true

}

你的if(rs.next())只是判断rs是否为null。按你的SQL查处的name。虽然有值,但是你已经.next()了。所以你在rs.getString(1)就娶不到值。username

=

rs.getString(1)username就为Null.如果想这样写,就要在加一个

rs.previous();把游标在移回前一单元。

我想应该是这个问题。

=================================

回复楼下的,我说的怎么不对了?有什么毛病么?如果rs为空,他肯定不会运行,直接报异常了。我说的根本也不是那内容啊。我解释的是

结果集

游标的问题。

在这一句con=DriverManager.getConnection(url,User,Pw)下边加一句System.outprintln(con)

看是否数据库连接成功,如果不成功则检查Class.forName("com.mysql.jdbc.Driver")括号内的驱动是否可以用,若加载成功则这一句改成sql = "SELECT * FROM login WHERE username = ? and password= ?" 这是预处理机制,细心调试总会成功的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6103987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存