jsp的数据库结果集,jsp显示数据库内容

发布时间:2022-11-23

本文目录一览:

  1. jsp中查询数据库得到的结果集rs中有多行数据,怎么取出或者打印其中某一行数据的某一列?
  2. jsp中怎么把结果集作为session传值
  3. jsp中如何把servlet中获得的一个数据库结果集传到jsp页面中,然后再jsp页面中显示结果集的内容?
  4. 如何在jsp页面获取数据库某个值
  5. 在jsp页面展示从数据库查询出来的数据?
  6. 在JSP中怎样调用java中的结果集

jsp中查询数据库得到的结果集rs中有多行数据,怎么取出或者打印其中某一行数据的某一列?

用while遍历,从第一行开始,如果想到指定行,需要做判断或直接执行代码

while(rs.next()){
    // 这里写你要获取那列的类型,如果是String则
    String a = rs.getString(0); // 0表示第1列,以此类推
}

jsp中怎么把结果集作为session传值

好像你的意思是一个一个的放在session里?这样的话,不如把它们放到集合里,然后把集合放到session里。

List list = new ArrayList();
while(rs.next()){
    PersonBean pb = new PersonBean(); // 一条记录对应一个对象
    pb.setXx();
    ...
    list.add(pb);
}
return list;

该方法返回一个集合,你应该是在servlet或者action类里调用该方法,然后得到session对象然后标记这个list。

request.getSession.setAttribute("list", list);

因为session生命周期比较长,可以通过 List list = (List)request.getSession.getAttribute("list"); 在其他的控制层使用。 页面要显示list里的内容,用foreach标签迭代。

jsp中如何把servlet中获得的一个数据库结果集传到jsp页面中,然后再jsp页面中显示结果集的内容?

jsp页面传值个servlet可通过form提交,servlet可通过 request.getRequestDispatcher("跳转的jsp页面") 进行页面跳转,值通过 request.setAttribute("name", value) 进行传递。 你的代码没问题啊,你现在是说test.jsp如何获得这些值么?

如何在jsp页面获取数据库某个值

最简单的JSP页面中的数据库操作方法:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<center>
    <h1><font color="blue" size="12">管理中心</font></h1>
    <hr />
    <table width="80%" border="1">
        <tr>
            <th>ID</th>
            <th>书名</th>
            <th>作者</th>
            <th>价格</th>
            <th>删除</th>
        </tr>
<%
    // 数据库的名字
    String dbName = "zap";
    // 登录数据库的用户名
    String username = "sa";
    // 登录数据库的密码
    String password = "123";
    // 数据库的IP地址,本机可以用 localhost 或者 127.0.0.1
    String host = "127.0.0.1";
    // 数据库的端口,一般不会修改,默认为1433
    int port = 1433;
    String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + ";databaseName=" + dbName + ";user=" + username + ";password=" + password;
    // 声明需要使用的资源
    // 数据库连接,记得用完了一定要关闭
    Connection con = null;
    // Statement 记得用完了一定要关闭
    Statement stmt = null;
    // 结果集,记得用完了一定要关闭
    ResultSet rs = null;
    try {
        // 注册驱动
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        // 获得一个数据库连接
        con = DriverManager.getConnection(connectionUrl);
        String SQL = "SELECT * from note";
        // 创建查询
        stmt = con.createStatement();
        // 执行查询,拿到结果集
        rs = stmt.executeQuery(SQL);
        while (rs.next()) {
%>
        <tr>
            <td><%= rs.getInt(1) %></td>
            <td><a href="prepareupdate?ID=<%= rs.getInt("ID") %>" target="_blank"><%= rs.getString(2) %></a></td>
            <td><%= rs.getString(3) %></td>
            <td><%= rs.getString(4) %></td>
            <td><a href="delete?ID=<%= rs.getInt("ID") %>" target="_blank">删除</a></td>
        </tr>
<%
        }
    } catch (Exception e) {
        // 捕获并显示异常
        e.printStackTrace();
    } finally {
        // 关闭我们使用过的资源
        if (rs != null)
            try {
                rs.close();
            } catch (Exception e) {}
        if (stmt != null)
            try {
                stmt.close();
            } catch (Exception e) {}
        if (con != null)
            try {
                con.close();
            } catch (Exception e) {}
    }
%>
    </table>
    <a href="insert.jsp">添加新纪录</a>
</center>

在jsp页面展示从数据库查询出来的数据?

在获取完所有的list后只需要截取你所需要的一部分list就可以了,所以要知道你所需要的是从哪里开始,到哪里结束。 有很多种方法,如果只是JSP里的话可以再次遍历获取的所有list集合,然后把满足条件的截取出来,开始的list下标应该是:(你要查询的页数-1)*页面要显示的数据条数,也就是你这里的(page-1)pageRows,结束的地方也就是pagepageRows-1了。 建议把这个方法封装到一个类里面,一个方法就实现一种功能。当然这是比较麻烦的,现在流行框架,以后会学到的,在hibernate框架里用query语句很容易就实现了,现在时间多,多看看hibernate框架吧,推荐你一本书,hibernate in action,有中文版的。这个是你们以后入门了hibernate后看的。

public List listOrderByItem(int pageRows, int page) { // page是要显示的页数,pageRows是你要显示的行数
    Session session = this.getSession(); // 获取hibernate的session,hibernate自动生成的DAO里包含
    String hql = "from TBL_storage as tbl_s order by item"; // hql语句
    Query query = session.createQuery(hql); // hibernate的query,通过session创建
    query.setFirstResult((page-1)*pageRows); // 设置开始的下标
    query.setMaxResults(pageRows); // 设置每页显示的行数
    return query.list(); // 得到所需要的结果集
}

在JSP中怎样调用java中的结果集

你是用servlet吗。那把list放到request里。然后请求转发到你的JSP页面上,就能访问了。 在SERVLET里:

request.setAttribute("data", arrayList);
request.getRequestDispatcher("showList.jsp").forward(request, response);

页面上(showList.jsp):

<%
    List<String> data = (ArrayList<String>)request.getAttribute("data"); // 这一步要强转
    for(String str : data){
        out.println(str);
    }
%>