javaweb利用javabean将数据库中内容遍历在页面输出
效果如下图

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

实现方法如下
首先我们要从数据库读取数据,这里要借助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将数据库中内容遍历在页面输出的更多相关文章
- flask再学习-思考之怎么从数据库中查询数据在页面展示!
看别人视频觉得很简单,要自己做蒙蔽了!这样子.NO! 1. 流程: 首先要有和数据库连接的驱动!一般有PYMySQL mysqlclient 等 使用扩展Flask-SQLAlchemy 获得orm对 ...
- 利用工具将数据库中的表导出到word中
1.动软代码生成器 效果图: 数据库设计说明书中的一项,刚好我负责写这个文档, 18张表,前两张表是自己画表格自己填充内容,写到第三张表的时候就已经崩溃了(我觉得我耐力还是够的,怎么说也画完了两张表呢 ...
- JAVA实现File类中的遍历操作并输出内容
package shb.java.testIo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...
- 利用rowid删除数据库中无主键的相同记录
数据库中表没有添加主键,误插入了两条数据,现在需要删除其中一条记录. 利用rowid号,因为表中的每一行数据都有一个rowid,这个rowid 号是不同的,用select可以查询出来. select ...
- 利用JAVA想数据库中提交数据
1.用户信息提交界面 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...
- javaweb利用ajax使登录窗口不跳转页面实现对账号密码的判断
和上一篇判断用户名是否被占用不跳转页面类似!利用ajax实现跳转,要导入jquery文件库!具体代码我会贴出来,注释在里面!!可以观摩一手!(代码我也留下链接,如果失效,评论补发,代码可能导入也无法使 ...
- 如何利用panel在一个窗口中实现诸多页面的显示
Book_register form11 = new Book_register();//new一个对象 form11.TopLevel = false;//去除子窗体的顶级窗体设置 form11.P ...
- 数据库中的html在页面上显示
在ASP页面中,动态显示html格式的数据的方法如下: .aspx文件: <div id="divBox" runat="server"></ ...
- php中使用mysql_fetch_object向页面输出结果,总结!
public function selectResultByThird() { if ((!empty ($_REQUEST["bigname"])) && (!e ...
随机推荐
- HDU_3415_单调队列
http://acm.hdu.edu.cn/showproblem.php?pid=3415 初探单调队列,需要注意的是每次i维护的是i-1. #include<iostream> #in ...
- ELK搭建(docker环境)
ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部. Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是一套开 ...
- Sklearn--(SVR)Regression学习笔记
今天介绍一个机器学习包,sklearn.其功能模块有regression\classification\clustering\Dimensionality reduction\data preproc ...
- 从敏捷开发到微服务,maybe再到中台
-- 先说下准备这个的背景: 本来是想让我分享下敏捷开发,可能是听我说为as**搭建并完善了敏捷开发体系的原因吧. 我一般分享一个东西,希望大家能真的理解,而不只是知道. 我不大相信有万能的东西,不希 ...
- 在Linux安装MySQL
yum 方式卸载MySQL与安装MySQL . rpm -qa | grep -i mysql命令查看已经安装过的组件 [root@VM_0_10_centos ~]# rpm -qa | grep ...
- Webpack之optimization.splitChunks代码分割插件的配置
SplitChunkPlugin插件配置参数详解 对引入的库代码(例如:lodash.jQuery等)进行代码的分割进行优化 若配置时只写chunks:"all",其余则为默认配置 ...
- Starting MySQL... ERROR! The server quit without updating PID file (/home/mysql-5.6.43/data/localhost.localdomain.pid).
启动MySQL出现如下错误 May :: localhost mysqld: Starting MySQL... ERROR! The server quit without updating PID ...
- js 常用总结
1.截取字符串 var a="/s/d"; console.log(a.substr(0,a.indexOf("/",1))) // 得到/s 2. // ...
- linux学习--1. 文件系统
文件目录结构 闲话篇: linux我也是最近才开始学,写随笔是为分享学习经验的同时也留着供自己以后来参考.因为linux一切皆文件的基本哲学思想.所以我决定从文件目录开始写. 正文: 首先linux文 ...
- IO流之File对象
File类: 用来将文件或者文件夹封装成对象 方便对文件与文件夹的属性等信息进行操作(因为流只能操作文件中的数据) File对象可以作为参考传递给流的构造函数 上下级文件夹之间使用分隔符分开: 在Wi ...