JSP_通过表格显示数据库的信息

    在本篇文章中,小编将介绍在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;
 2
 3 import java.sql.Date;
 4
 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:<实体类的作用>

-----------------------------------------------------------------------------------------------------------------------------------------------------

          2-2-2 数据库操作类 :下面以对数据库的查询功能书写代码,<包:cn.edu.bzu.dao;类:TitleDAO.java>

 1 package cn.edu.bzu.news.dao;
 2
 3 import java.sql.*;
 4 import java.util.ArrayList;
 5 import java.util.List;
 6
 7 import cn.edu.bzu.news.entity.FirstTitle;
 8
 9 public class FirstTitleOperation {
10     //查询
11     public List readFirstTitle(){
12         List<FirstTitle> list=new ArrayList<FirstTitle>();
13         Connection conn=null;
14         PreparedStatement pstmt=null;
15         ResultSet rs=null;
16
17         try {
18             Class.forName("com.mysql.jdbc.Driver");
19         } catch (ClassNotFoundException e) {
20             // TODO Auto-generated catch block
21             e.printStackTrace();
22         }
23         try {
24             conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/news","root","123456");
25             String sql="select * from firsttitle where id>=?";
26             pstmt=conn.prepareStatement(sql);
27             pstmt.setInt(1, 1);
28             rs=pstmt.executeQuery();
29             while(rs.next()){
30
31                 int id=rs.getInt("id");
32                 String titleName=rs.getString("titleName");
33                 String creator=rs.getString("creator");
34                 Date createTime=rs.getDate("createTime");
35                 FirstTitle ft=new FirstTitle(id,titleName,creator,createTime);
36                 list.add(ft);
37             }
38         } catch (SQLException e) {
39             // TODO Auto-generated catch block
40             e.printStackTrace();
41         }finally{
42             try{
43                 if(rs!=null){
44                     rs.close();
45                 }
46                 if(pstmt!=null){
47                     pstmt.close();
48                 }
49                 if(conn!=null){
50                     conn.close();
51                 }
52
53
54
55             }catch(SQLException e){
56                 e.printStackTrace();
57             }
58         }
59     return list;
60     }
61     //测试查询功能,<可以省略>
62     public static void main(String[] args) {
63         FirstTitleOperation fto=new FirstTitleOperation();
64         List<FirstTitle> list=fto.readFirstTitle();
65         for(FirstTitle ft:list){
66             System.out.println(ft.getTitleName());
67
68         }
69     }
70
71
72 }

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:后续内容....waiting...

-----------------------------------------------------------------------------------------------------------------------------------------------------2-2-3   在web页面中显示数据库信息<在webroot下建立titleList.jsp,使用TitleDao.java中的查询方法得到所有的记录,然后用表格在页面显示>其具体的代码:

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@page import="cn.edu.bzu.news.dao.FirstTitleOperation,cn.edu.bzu.news.entity.FirstTitle"%>
 3 <%
 4 String path = request.getContextPath();
 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 6 %>
 7
 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 9 <html>
10   <head>
11     <base href="<%=basePath%>">
12
13     <title>My JSP ‘showFirstTitle.jsp‘ starting page</title>
14
15     <meta http-equiv="pragma" content="no-cache">
16     <meta http-equiv="cache-control" content="no-cache">
17     <meta http-equiv="expires" content="0">
18     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
19     <meta http-equiv="description" content="This is my page">
20     <!--
21     <link rel="stylesheet" type="text/css" href="styles.css">
22     -->
23
24   </head>
25
26   <body>
27   <table border="1">
28   <tr>
29   <td>ID</td>
30   <td>标题名</td>
31   <td>创建者</td>
32   <td>创建时间</td>
33   </tr>
34
35     <%
36     FirstTitleOperation fto=new FirstTitleOperation();
37         List<FirstTitle> list=fto.readFirstTitle();
38         for(FirstTitle ft:list){%>
39
40          <tr>
41              <td><%= ft.getId()%></td>
42              <td><%= ft.getTitleName()%></td>
43              <td><%= ft.getCreator()%></td>
44              <td><%= ft.getCreateTime()%></td>
45
46          </tr>
47         <%        }
48
49      %>
50       </table>
51   </body>
52 </html>

ps: <%%>小脚本的内容解释:通过FirstTitleOperation fto=new FirstTitleOperation();   创建对象,然后调用对象的方法,将其这些数据放在list这个集合中,用的时候

使用遍历的getId()......等来显示数据

-----------------------------------------------------------------------------------------------------------------------------------------------------

ps:内容更新中.........

时间: 2024-12-17 22:39:31

JSP_通过表格显示数据库的信息的相关文章

MySQL查看数据库相关信息

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

Yii数据库用户信息登录

原本的Yii里面只有admin和demo账号,怎么可以使用数据库里面的Username和Password登陆呢? 数据库:例如DatabaseName. 数据表:例如TableName,表里面有username和password等相关信息. Yii: 1.在main.php开启'db'=array(…………),开启数据库连接(略) 2.生成TableName的model. 3.在UserIdentity.php中改变原本的账号审查. 代码如下: <?php class UserIdentity

数据库中信息存放到 实体类中

把数据库中信息存放到 实体类中,实体类设置值 Tb_pay tb_pay = payDAO.find(userid,Integer.parseInt(strno)); txtMoney.setText(String.valueOf(tb_pay.getMoney()));// 显示金额 txtTime.setText(tb_pay.getTime());// 显示时间 spType.setSelection(tb_pay.getType()-1);// 显示类别 txtHA.setText(tb

INFORMATION_SCHEMA获取数据库的信息

简介 information_schema这张数据表保存了MySQL服务器所有数据库的信息.如数据库名,数据库的表,表栏的数据类型与访问权限等.再简单点,这台mysql服务器上,到底有哪些数据库.各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面. Mysql的INFORMATION_SCHEMA数据库包含了一些表和视图,提供了访问数据库元数据的方式. 元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问

(转)java读取数据库表信息,子段

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /*** * 2014-07-21日: * oracle数据

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

在SQL中可以通过查询Master下的系统表(sys)和系统视图(information_schema)获取数据库的信息.SQL2000和SQL2005的结构略有不同. 系统表结构参考系统表详细说明. 系统信息结构图参考:http://dev.mysql.com/doc/refman/5.1/zh/information-schema.html 1.2000下操作: 系统表目录:大部分以dbo.sys为前缀. 系统视图目录:有20个常用的视图,以INFORMATION_SCHEMA为前缀. 在2

SQL Server查询数据库空间分配情况、数据库备份信息

查询数据库空间分配情况: 1 use master 2 go 3 create procedure dbo.proc_getdbspaceused 4 as 5 begin 6 set nocount on 7 create table #dbsize( 8 database_id int 9 ,database_name nvarchar(1024) 10 ,size_kb bigint 11 ,space_available_kb bigint 12 ,reserved_kb bigint

Oracle 10g收集数据库统计信息

1.需求概述 2.实施步骤 3.回退方案 1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计划临时解决,但此方法不够灵活,后续维护工作量也会增加. Oracle优化器(CBO)依赖数据库统计信息来计算目标SQL各种可能的执行路径的成本,并从中选择一条成本值最小的执行路径来作为目标SQL的执行计划.如果统计信息不准确甚至是错误,会导致优化器选择错误SQL执行计划的概率大大增加. 目前计划对该

Spring Cloud config中,使用数据库存储配置信息

主要内容 在springcloud config中,使用数据库存储配置信息. 系统默认采用git的方式,此处我们介绍使用jdbc的方式存储配置信息 准备数据库 数据库我们使用mysql. 新建库 p-config-server 创建配置需要的表,并初始化一些配置信息 CREATE TABLE `properties` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `application` varchar(64) COLLATE utf8_bin NOT