效果如下图

它所实现的就是把数据库中一个表中所有的数据一条一条以表格的形式输出在网页上,

实现方法如下

首先我们要从数据库读取数据,这里要借助javabean来方便我们传递数据

以上面的为例,我要输出课程信息,就要设置好一个课程类,把相应的属性设置好,接下来就要在serverlet中把数据读取进来了

下面是代码:

package serverlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import Bean.clas;
import Bean.reportbean;
import DBUtil.DBUtil; /**
* Servlet implementation class showclasslet
*/
@WebServlet("/showclasslet")
public class showclasslet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public showclasslet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath()); HttpSession session = request.getSession();
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
Connection con = null;
//这里是获取数据库连接 con=DBUtil.getConnection();
//ArryList为一个动态数组,现在这里它就是一个clas类的数组
ArrayList<clas> list = new ArrayList<clas>();
clas x=new clas();
Statement stmt;
ResultSet rsst = null ;
try { stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rsst = stmt.executeQuery("select * from class where stand='0'");
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} try {
while(rsst.next()) {
x=new clas();
//将读取到的数据存入该对象中
x.setName(rsst.getString(2));
x.setPerson(rsst.getString(4));
x.setTeacher(rsst.getString(3));
x.setChose(rsst.getString(5));
x.setHao(rsst.getString(6));
x.setTname(rsst.getString(8));
//将赋好值的对象添加入动态数组中
list.add(x); }
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
//将动态数组存入session中,方便之后在jsp调用
session.setAttribute("list", list);
response.sendRedirect("showclass.jsp");
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

  通过上面的操作,已经将数据库中的数据存入了动态数组中,并存储在了session对象"list"中,接下来只要在jsp中将其遍历输出就可以了

这里将其全部输出使用到了<c:forEach>标签,具体代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<style type="text/css">
/*这里是一些css代码,用来美化表格的,不重要*/
table {
width: 90%;
background: #ccc;
margin: 10px auto;
border-collapse: collapse;
}
th,td {
height: 25px;
line-height: 25px;
text-align: center;
border: 1px solid #ccc;
}
th {
background: #eee;
font-weight: normal;
}
tr {
background: #fff;
}
tr:hover {
background: #66FFFF ;
}
td a {
color: #06f;
text-decoration: none;
}
td a:hover {
color: #06f;
text-decoration: underline;
}
</style>
<body><% int i=0; %> <table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>名称</th>
<th>编号</th>
<th>教师</th>
<th>总人数</th>
<th>已选人数</th> </tr>
</thead> <tbody>
<!--这里开始循环输出list对象中的信息-->
<c:forEach items="${list}" var="clas">
<tr>
<th scope="row"><%=++i %></th>
<td><a href='classinforlet?hao=${clas.hao} ' >${clas.name}</a>
<td>${clas.hao}</td>
<td>${clas.tname}</td>
<td>${clas.person}</td>
<td>${clas.chose}</td> </tr>
</c:forEach> </tbody>
</table> </body>
</html>

注意一下,要使用<c:forEach>标签,jsp开头的“<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>”是必须要有的,这是为了导入相应的标签库。

以上就是全部内容了,感谢阅读。

javaweb利用javabean将数据库中内容遍历在页面输出的更多相关文章

  1. flask再学习-思考之怎么从数据库中查询数据在页面展示!

    看别人视频觉得很简单,要自己做蒙蔽了!这样子.NO! 1. 流程: 首先要有和数据库连接的驱动!一般有PYMySQL mysqlclient 等 使用扩展Flask-SQLAlchemy 获得orm对 ...

  2. 利用工具将数据库中的表导出到word中

    1.动软代码生成器 效果图: 数据库设计说明书中的一项,刚好我负责写这个文档, 18张表,前两张表是自己画表格自己填充内容,写到第三张表的时候就已经崩溃了(我觉得我耐力还是够的,怎么说也画完了两张表呢 ...

  3. JAVA实现File类中的遍历操作并输出内容

    package shb.java.testIo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...

  4. 利用rowid删除数据库中无主键的相同记录

    数据库中表没有添加主键,误插入了两条数据,现在需要删除其中一条记录. 利用rowid号,因为表中的每一行数据都有一个rowid,这个rowid 号是不同的,用select可以查询出来. select ...

  5. 利用JAVA想数据库中提交数据

    1.用户信息提交界面 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...

  6. javaweb利用ajax使登录窗口不跳转页面实现对账号密码的判断

    和上一篇判断用户名是否被占用不跳转页面类似!利用ajax实现跳转,要导入jquery文件库!具体代码我会贴出来,注释在里面!!可以观摩一手!(代码我也留下链接,如果失效,评论补发,代码可能导入也无法使 ...

  7. 如何利用panel在一个窗口中实现诸多页面的显示

    Book_register form11 = new Book_register();//new一个对象 form11.TopLevel = false;//去除子窗体的顶级窗体设置 form11.P ...

  8. 数据库中的html在页面上显示

    在ASP页面中,动态显示html格式的数据的方法如下: .aspx文件: <div id="divBox" runat="server"></ ...

  9. php中使用mysql_fetch_object向页面输出结果,总结!

    public function selectResultByThird() { if ((!empty ($_REQUEST["bigname"])) && (!e ...

随机推荐

  1. 机器学习总结-LR(对数几率回归)

    LR(对数几率回归) 函数为\(y=f(x)=\frac{1}{1+e^{-(w^{T}x+b)}}\). 由于输出的是概率值\(p(y=1|x)=\frac{e^{w^{T}x+b}}{1+e^{w ...

  2. Codeforces_714_B

    http://codeforces.com/problemset/problem/714/B 当不同大小整数有1.2个时,肯定成立,3个时,需要判断,大于等于4个,则肯定不成立. #include & ...

  3. nmcli几个常用命令

    1.nmcli connection 用于查看连接 2.nmcli device用于查看当前网络设备 3.nmcli connection modify用于修改当前连接配置 4.nmcli conne ...

  4. 题解 CF1294F 【Three Paths on a Tree】

    \[ Preface \] 打比赛的时候先开了 F 题(雾 然后一眼看出 F 题结论,最后居然因为没有判重,交了三次才过. \[ Description \] 给出一棵无权树(可理解为边权为 \(1\ ...

  5. Spark API 之 map、mapPartitions、mapValues、flatMap、flatMapValues详解

    原文地址:https://blog.csdn.net/helloxiaozhe/article/details/80492933 1.创建一个RDD变量,通过help函数,查看相关函数定义和例子: & ...

  6. 突破CRUD | 万能树工具类封装

    0.学完本文你或许可以收获 感受一个树工具从初始逐步优化完善的过程 树工具封装的设计思考与实现思路 最后收获一款拿来即用的树工具源代码 对于前端树组件有一定了解和使用过的同学可直接跳跃到第3章节开始. ...

  7. .NET Core之单元测试(三):Mock框架Moq的使用

    编写一个API 新增一个接口 public interface IFoo { bool Ping(string ip); } 接口实现 public class Foo : IFoo { public ...

  8. Centos7 LVM扩容实例

    Centos7 lvm 扩容与以往版本有所不同   1.插入硬盘,我是在虚拟机上做的测试  直接添加一块5G的硬盘   2.系统读取硬盘信息     # echo "- - -" ...

  9. H5异步加载多图

    异步加载多图(可能没啥用,加载慢)(图片预加载,提前给浏览器缓存图片) 1. 用一个计数变量记录需要加载的图片个数 2. 用new Image()去加载,加载完给此对象的src赋值要加载的url路径( ...

  10. CVE-2020-0618 SQL 远程代码执行

    CVE-2020-0618 SQL Server远程代码执行 1.简介 SQL Server Reporting Services(SSRS)提供了一组本地工具和服务,用于创建,部署和管理移动报告和分 ...