在本篇文章中,小编将介绍在jsp页面中通过表格显示 数据库 的实现:下面我们以“新闻发布系统”中显示一级标题的信息为例进行讲述,在新闻发布系统中存在一二级标题,在后台可以对标题进行管理,可查询标题等信息

【step one】
1-1 建立数据库
在jsp中,我们使用的是mysql数据库,对于此数据的优缺点本篇不予以讲述,首先建立news数据库,其数据库中表的信息为:
eg:< id :1 ; name:娱乐; creator:ibbon;createTime:2014-11-21 22:17:43>
【step two】  建立web项目(news)
2-1:首先,我们在web项目的src文件夹写入链接数据库的相关的类,他们分别是:链接数据库的类,数据的实体类
-----------------------------------------------------------------------------------------------------------------------------------------------------
2-1-1 : 数据库实体类,在此类中主要含有数据库的字段,<包:cn.edu.bzu.entity ;实体类:Title.java;> 
复制代码
1 package cn.news.jsp.entity;
3 import java.sql.Date;
5 public class Title {
/**
*下面这四个属性为数据库表中的四个属性
*/
6     private int id;   
7     private String name;
8     private String creator;
9     private Date createTime;
10     
11     public int getId() {
12         return id;
13     }
14     public void setId(int id) {
15         this.id = id;
16     }
17     public String getName() {
18         return name;
19     }
20     public void setName(String name) {
21         this.name = name;
22     }
23     public String getCreator() {
24         return creator;
25     }
26     public void setCreator(String creator) {
27         this.creator = creator;
28     }
29     public Date getCreateTime() {
30         return createTime;
31     }
32     public void setCreateTime(Date createTime) {
33         this.createTime = createTime;
34     }
35     public Title(int id, String name, String creator, Date createTime) {
36         super();
37         this.id = id;
38         this.name = name;
39         this.creator = creator;
40         this.createTime = createTime;
41     }
42     
43 }
复制代码
ps:<实体类的作用>
/**
*实体类的作用 
*在JAVAWeb中,实体类里面的某一个类,相当于是数据库里的一张表,一个类里面的某个字段相当于表的列名
*在实体里有getter和setter方法,getter是只读,setter是写入
*/
-----------------------------------------------------------------------------------------------------------------------------------------------------
2-2-2 数据库操作类 :下面以对数据库的查询功能书写代码,<包:cn.edu.bzu.dao;类:TitleDAO.java>
复制代码
1 package cn.edu.bzu.dao;
2 import java.sql.*;
3 import java.util.ArrayList;
4 import java.util.List;
6 import cn.edu.bzu.entity.Title;
8 public class TitleDAO {
9     public List readFirstTitle(){
10         List<Title> list =new ArrayList<Title>();
11         Connection con=null;
12         PreparedStatement psmt=null;
13         ResultSet rs=null;
14         try {
15             Class.forName("com.mysql.jdbc.Driver");
16         } catch (ClassNotFoundException e) {
17             e.printStackTrace();
18         }
19         
20         try {
21             con=DriverManager.getConnection("jdbc:mysql://localhost:3306/news","root","baby123");
22             String sql="select * from title";
23             psmt=con.prepareStatement(sql);
24             rs=psmt.executeQuery();
25             
26             while(rs.next())
27             {
28                 int id=rs.getInt("id");
29                 String name=rs.getString("name");
30                 String creator=rs.getString("creator");
31                 Date createTime=rs.getDate("createTime");
32                 Title tl=new Title(id, name, creator, createTime);
33                 list.add(tl);
34             }
35             
36         } catch (SQLException e) {
37             e.printStackTrace();
38         }finally
39         {
40             try {
41                 if(rs!=null)
42                 {
43                     rs.close();
44                 }
45                 if(psmt!=null)
46                 {
47                     psmt.close();
48                 }
49                 if(con!=null)
50                 {
51                     con.close();
52                 }
53             } catch (SQLException e) {
54                 e.printStackTrace();
55             }
56         }
57         return list;
58     }
59     
60 }
复制代码
ps:现在分析一下上述代码,
one:创建方法(public List readFirstTitle()),之所以选择返回值是List是因为一个标题含有id,name,creator,cteateTime信息,这些信息存在集合中,便于管理,操作
two:创建变量,链接数据库,在这个web project使用的是JDBC技术链接的数据库,这技术需要一类三接口<DriverManager类,Connection接口,Statement接口,ResultSet接口>
ps:与数据库建立链接的步骤:1.注册数据库驱动;2.获取数据库连接;3.获取statement对象;4.关闭资源;
具体的实现步骤,请看上述代码
three:在数据库中读取的信息需要使用List接口,以实现对数据库的一列信息进行封装起来进行来进行后续的使用,就好比:在桌子上有很多的糖,装糖的瓶子,装瓶子的箱子-------->>>>>就好比之前的属性为糖,好几个属性为一个瓶子,好几个瓶子放在箱子中(List)
Four:下面进行细节讲解:
public List readFirstTitle()方法对每一行的数据进行封装, 通过为实体类建立对象(entity),调用他的构造方法,通过构造方法的方式进行复制,然后把通过赋值完成的数据加入list集合中,这样一行的数据就进行封装完成,通过while()循环,从而实现对数据的遍历,进而实现对多行数据的存储,但是在此之前需要创建list对象,并且导入list对象的相关类-------------List<Title> list =new ArrayList<Title>();
----------------------------------------------------------------------------------------------------------------------------------------------------------
2-2-3   在web页面中显示数据库信息<在webroot下建立titleList.jsp,使用TitleDao.java中的查询方法得到所有的记录,然后用表格在页面显示>其具体的代码:
复制代码
1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
2 <%@page import="cn.edu.bzu.dao.TitleDAO,cn.edu.bzu.entity.Title"%>
3 <%
4 String path = request.getContextPath();
5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
6 %>
8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
9 <html>
10   <head>
11     <title>Test-newsTitle</title>
12   </head>
13   
14   <body>
15   <table border="1">
16       <tr>
17           <td>id</td>
18           <td>name</td>
19           <td>creator</td>
20           <td>createTime</td>
21       </tr>
22         <%
23            TitleDAO dao=new TitleDAO();
24            List<Title> list =dao.readFirstTitle();    
25            for(Title tl:list)
26            {%>
27           <tr>
28               <td><%=tl.getId() %></td>
29               <td><%=tl.getName() %></td>
30               <td><%=tl.getCreator() %>></td>
31               <td><%=tl.getCreateTime() %></td>
32           </tr>
33             <%}
34        %>
35   </table>
36   </body>
37 </html>

JSP_通过表格显示数据库的信息相关推荐

  1. 查询Master下的系统表和系统视图获取数据库的信息和简单的渗透测试

    在SQL中可以通过查询Master下的系统表(sys)和系统视图(information_schema)获取数据库的信息.SQL2000和SQL2005的结构略有不同. 系统表结构参考系统表详细说明. ...

  2. encryption数据库配置信息用户名密码加密

    1.加密算法 package cn.sh.ideal.encryption;import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;i ...

  3. oracle 数据统计收集,Oracle 10g收集数据库统计信息

    1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计划临时解决,但此方法不够灵活,后续维护工作 ...

  4. php百度人脸识别做登陆,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...

    博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始 ...

  5. java 导出word换行_Java 导出数据库表信息生成Word文档

    一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...

  6. MySQL查看数据库相关信息

    使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令 1:查看显示所有数据库 mysql> show databases; ...

  7. 一键获取数据库整体信息脚本

    一键获取数据库整体信息脚本 将脚本内容放spooldb.sql中,在sqlplus中执行,相关信息会自动生成5个文件,其中addm是最近一小时文件,ash是最近半小时文件,而awr文件是最近一小时和最 ...

  8. sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息

    sql 获取数据库字段信息 In the series of articles on DBATools, (see TOC at the bottom) we are exploring useful ...

  9. 基于模板的通用代码生成器LKGenerator(四)-核心技术之各种数据库查询表信息sql整理...

    本文主要整理出了代码生成器中Mysql,Orclece,SqlSever分别使用的查询数据库表信息的sql,主要包括:1.查询数据库中的所有表. 2.查询数据表列名,是否可为空,最大长度,备注信息. ...

最新文章

  1. 当一个View加在一个透明的父View上时,显示会变成透明。
  2. python变量必须以字母和下划线_【转载】关于python中带下划线的变量和函数的意义...
  3. 服务器自动安全审计,用于Linux服务器的自动安全审计工具
  4. 【风控术语】数字金融反欺诈技术名词表
  5. 2018年7月5日笔记
  6. rest-framework之响应器(渲染器)
  7. 高仿QQ即时聊天软件开发系列之三登录窗口用户选择下拉框
  8. 真·抬头发票!| 今日最佳
  9. Visual Studio基于CMake配置opencv1.0.0、opencv2.2
  10. 强行卸载趋势科技防毒墙网络版客户端
  11. 快用苹果助手安装失败_最新建行信用卡调额失败后的抓包详细教程
  12. bootstrap菜单html,Bootstrap实现下拉菜单效果
  13. 计算机怎么链接网络打印机,连接网络打印机,教您如何使用网络连接打印机
  14. Kafka报错: Topic(s) [publish] is/are not present and missingTopicsFatal is true
  15. 系统可用性量表(System Usability Scale, SUS)
  16. Zabbix使用指南
  17. Tomcat:The server encountered an internal error () that prevented it from fulfilling this request.
  18. Go语言中的字符串特性
  19. UNI-APP_uni-app IOS平台通用链接【Universal Links】配置
  20. Unity VR:如何修改fbx动画

热门文章

  1. 【Android 插件化】插件化框架整理
  2. 【字节码插桩】Android 打包流程 | Android 中的字节码操作方式 | AOP 面向切面编程 | APT 编译时技术
  3. 【Netty】NIO 通道 ( Channel ) 组件
  4. 【组合数学】基本计数原则 ( 加法原则 | 乘法原则 )
  5. 吴裕雄 python 机器学习——数据预处理标准化StandardScaler模型
  6. [转帖]c++ 面试整理
  7. js判断一个数组是否包含一个指定的值
  8. redis系列:通过文章点赞排名案例学习sortedset命令
  9. 用 TS + Vue 写了一个在 Chrome 中运行 Prettier 格式化的扩展程序
  10. day-20: 安装软件包及rpm yum的介绍