效果如下图

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

实现方法如下

首先我们要从数据库读取数据,这里要借助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. EMC NW NMM to restore MS AG database

    Following last article, how to restore MS AG database , that is in the following: You see ?  Cheer u ...

  2. 2 深入分析 Java IO的工作机制(二)

    2.5 I/O调优 下面总结一些磁盘I/O和网络I/O的常用优化技巧. 2.5.1 磁盘I/O优化 1. 性能检测 应用程序通常都需要访问磁盘来读取数据,而磁盘I/O通常都很耗时,要判断I/O是否是一 ...

  3. XAMPP与ISS在80端口冲突问题

    1.在control界面上通过apach行的config,选择httpd.conf,将其中的listen和ServerName localhost:后面的80改为8080. 2.打开control最右 ...

  4. Linux压缩归档管理

    什么是压缩? 压缩就是用时间换取空间,CPU的时间换取磁盘的空间,下载传输的过程中可以节约带宽. zip/unzip zip支持多平台,支持归档压缩.文件经它压缩后会另外产生具有".zip& ...

  5. 如何清理ibdata1

    1, 加锁,然后全备份数据,可以用mysqldump,也可以使用其他的工具: [root@localhost data]# mysqldump --all-databases > /root/a ...

  6. Linux运维---02.制作trove-redis镜像

    redis-3.2 镜像制作及验证 镜像制作 1.安装redis yum install redis yum install epl-release yum install python-pip gi ...

  7. codewars--js--Human Readable Time—Math对象,parseInt()

    问题描述: Write a function, which takes a non-negative integer (seconds) as input and returns the time i ...

  8. 1.3.5 详解项目中的资源——Android第一行代码(第二版)笔记

    所有以drawable开头的文件夹都是用来存放图片的. 所有以mipmap开头的文件夹都是用来存放应用图标的 所有以values开头的文件夹都是用来存放字符串.样式.颜色等配置的, layout文件夹 ...

  9. 2、CentOS7密码重置

    一.重启系统,在开机过程中,快速按下键盘上的方向键↑和↓.目的是告知引导程序,我们需要在引导页面选择不同的操作,以便让引导程序暂停.  以下是暂停后的界面,可以查看下方的英文可知↑和↓的作用.  二. ...

  10. maven 听视频笔记

    使用  pom.xml 配置 收藏 所听视频来源: https://www.bilibili.com/video/av54119831?p=8 视频: maven  idea 配置服务器 tomcat ...