编写jsp页面时,时常遇到的rs.next()问题的解决方法

12 篇文章 1 订阅
4 篇文章 0 订阅

我们在编写jsp页面时,常常在if条件判断中用下面的的逻辑编写:

if (rs.next()){

user.setLogined(true);
out.println("恭喜您登录成功!");
}else{
user.setLogined(false);
out.println("对不起,您的帐号或密码不正确!");

}

但是,当我们在服务器端运行时,就会发现程序出错了,下面博主拿个实例跟大家分享:


但是,当我们在Web Browser浏览时,就会发现以下问题提示:

HTTP Status 500 - Unable to compile class for JSP:


所以,当我慢慢地查看后,发现程序里果然有一个错误,就是rs.next() 的问题;

所以,我用下面的代码去执行,发现我的纠正是对的。

  执行后的结果是这样的:

希望以上的方法对大家有用!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以帮你解答这个问题。 首先,我们需要在数据库中创建一个book表,用于存储图书信息。表结构如下: ```sql CREATE TABLE book ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, author VARCHAR(50) NOT NULL, price FLOAT NOT NULL ); ``` 接下来,我们需要编写showbook.jsp页面,用于从数据库中读取图书信息,并展示到页面上。代码如下: ```jsp <%@ page import="java.sql.*" %> <% // 定义数据库连接信息 String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "root"; // 加载数据库驱动 Class.forName(driver); // 建立数据库连接 Connection conn = DriverManager.getConnection(url, username, password); // 定义SQL语句 String sql = "SELECT * FROM book"; // 执行SQL查询 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); %> <html> <head> <title>图书列表</title> </head> <body> <h1>图书列表</h1> <table border="1"> <tr> <th>ID</th> <th>书名</th> <th>作者</th> <th>价格</th> </tr> <% while(rs.next()) { %> <tr> <td><%= rs.getInt("id") %></td> <td><%= rs.getString("name") %></td> <td><%= rs.getString("author") %></td> <td><%= rs.getFloat("price") %></td> </tr> <% } %> </table> <% // 关闭数据库连接 rs.close(); stmt.close(); conn.close(); %> </body> </html> ``` 在代码中,我们首先定义了数据库连接信息,然后加载数据库驱动,建立数据库连接。接着,定义了SQL语句,并执行SQL查询,获取到ResultSet对象。在页面中,我们通过while循环遍历ResultSet对象,将查询结果展示到页面上。最后,我们需要关闭ResultSet、Statement和Connection对象,释放数据库资源。 这样,我们就完成了用jsp从数据库中读取图书信息,并展示到页面上的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值