logo资料库

基于java的学生信息管理系统设计报告.doc

第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
资料共28页,剩余部分请下载后查看
南华大学 计 算 机 科 学 与 技 术 学 院 课程设计报告 ( 2005 ~2006 学年度 第 1 学期 ) 课 程 名 称 : 网络编程技术 题 目 : 基于 java 的学生信息管理系统 姓名: 刘亮 学号: 20034440437 专业: 计算机科学与技术 班级: 03 级 04 班 地点: 专业实验室 教师: 谭敏生
南华大学计算机科学与技术学院 课程设计报告 前 言 随着计算机科学的发展,数据库技术在 Internet 中的应用越来越广泛,为广大网络用 户提供了更加周到和人性化的服务。个性化已逐渐成为当今 Web 应用的潮流。本课程设计研 究了一种基于数据关联规则的网络学生信息管理系统,此方案与现今网上已采用的一些方案 相比,具有用户使用更简单、界面更直观等优点。 在设计中我们发现这样一个事实,一个用户或管理员在登陆这个网站时一般来讲只对该 网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户 活管理员的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为 用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面 作出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够 对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲, 还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于 是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律, 即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成 一页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户作出任 何额外工作的情况下实现了为用户量身订做的个性化页面。 要实现这样的功能,离不开后台数据库的支持。管理员验证信息,收集到的用户点击信 息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中 数据库服务器端采用了 SQL Server 2000 数据库作为 ODBC(Open DataBase Connectivity ) 数据源,并以先进的 JDBC-ODBC 桥接技术进行数据库存取等操作,使 Web 与数据库紧密联系 起来。 整个个性化页面生成系统主要由使用 Dreamweaver_MX 开发的关联规则采掘系统和利用 JSP 技术实现的个性化 Web 页面生成器两部分组成。关联规则采掘系统对数据库中的历史记 录进行分析,产生用户关联规则表;页面生成器则负责记录管理员的行为动态生成管理员个 性化 Web 页面。二者通过数据库服务器和 Web 服务器连接。 数 据 库 服 务 后端数据 JDBC-ODBC 桥接 SQL Server 2000 JDK+TOMCAT JSP 浏览器 前端浏览器 为能更好的设计系统,我们在设计时将组内成员主要分成了 两组:一组主要负责后台数据库的设计; 一组主要负责前台浏览器的设计。
南华大学计算机科学与技术学院 课程设计报告 基于 Java 的学生信息管理系统 --------后台数据库设计报告 1.课程设计目的及要求 设计目的: 使用 JDBC-ODBC 桥接驱动程序将前台浏览器与后台数据库(本系统用的是 SQL Server)结合位为一体。利用 SQL 语句接口来调用数据库,以存取或更新数据库中的数据, 特别是实现对数据库中学生照片的存取,这是我们后台数据可设计的重点。在文档中就新 增、删除、修改与查询等几个基本的数据库操作,外加这些操作相关的一些项目作了简单 的陈述。 设计要求: 1.要求在前台主界面上显示数据库中存放的学生的基本信息,一般的普通用户可以在 系统中查看所有学生的信息;而由特定权限的管理员可以通过按钮或菜单对学生的信息进 行录入、修改、查询、删除等功能。 2.利用 JDBC 驱动程序连接数据库,修改、存储学生的基本信息。 2. 课程设计软硬件环境 2.1 系统开发工具的选择 后台数据库: 本系统后台数据库选择 SQL Server 2000。 2.2 性能需求 2.2.1 硬件环境 ·处理器:InterCR300 或更高。 ·内存:128MB(建议 256MB)。 ·硬盘空间:30MB。 2.2.2 软件环境 ·操作系统:Windows98 或 Windows2000 / Windows NT Server 4.0/window XP。 ·数据库:SQL Server 2000。 3. 课程设计内容 3.1 熟悉 java 与数据库系统 3.1.1 数据库系统简介 数据库系统是一个信息核心,也是任何企业单位非常重视的运营主体。但随着科技的进步, 多元化的需求,促使数据库扮演的角色愈来愈复杂,也愈来愈重视数据库系统相关程序开发 工具的简便及性能。由于 java 的特性,对这方面需求能够发挥相当多的优势,因而 java 系统的应用越来越多。JDBC 是 java 与数据库连接的一项规范,用于提供统一的 SQL 语言的 关系数据库系统访问接口,与 Java 应用的相关程序取得数据库连接之后,便可依照 SQL 语 言去执行各项语句命令的运行。 3.1.2 JDBC 数据库连接 Java 数据库连接体系结构是用于 Java 应用程序连接数据库的标准方法。JDBC 对 Java 程 序员而言是 API,对实现与数据库连接的服务提供商而言是接口模型。作为 API,JDBC 为程 序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标 准方法。JDBC 使用已有的 SQL 标准并支持与其它数据库连接标准,如 ODBC 之间的桥接。JDBC 实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。 目前比较常见的 JDBC 驱动程序可分为以下四个种类: (1)JDBC-ODBC 桥接 ODBC 驱动程序 利用 ODBC 驱动程序提供 JDBC 访问。注意,必须将 ODBC 二进制代码(许多情况下还包括 数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最
南华大学计算机科学与技术学院 课程设计报告 适合于企业网(这种网络上客户机的安装不是主要问题),或者是用 Java 编写的三层结构的 应用程序服务器代码。 (2)本地 API 半 Java 驱动程序 这种类型的驱动程序把客户机 API 上的 JDBC 调用转换为 Oracle、Sybase、Informix、DB2 或其它 DBMS 的调用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代 码加载到每台客户机上。 (3)JDBC-NET 纯 Java 驱动程序 这种驱动程序将 JDBC 转换为与 DBMS 无关的网络协议,之后这种协议又被某个服务器转换 为一种 DBMS 协议。这种网络服务器中间件能够将它的纯 Java 客户机连接到多种不同的数据 库上。所用的具体协议取决于提供者。通常,这是最为灵活的 JDBC 驱动程序。有可能所有 这种解决方案的提供者都提供适合于 Intranet 用的产品。为了使这些产品也支持 Internet 访问,它们必须处理 Web 所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供 者正将 JDBC 驱动程序加到他们现有的数据库中间件产品中。 (4)本地协议纯 Java 驱动程序 这种类型的驱动程序将 JDBC 调用直接转换为 DBMS 所使用的网络协议。这将允许从客户机 机器上直接调用 DBMS 服务器,是 Intranet 访问的一个很实用的解决方法。由于许多这样的 协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。 据专家预计第(3)、(4)类驱动程序将成为从 JDBC 访问数据库的首方法。第(1)、(2) 类驱动程序在直接的纯 Java 驱动程序还没有上市前会作为过渡方案来使用。对第(1)、(2) 类驱动程序可能会有一些变种,这些变种要求有连接器,但通常这些是更加不可取的解决方 案。第(3)、(4)类驱动程序提供了 Java 的所有优点,包括自动安装(例如,通过使用 JDBC 驱动程序的 appletapplet 来下载该驱动程序)。 3.1.3 建立 JDBC 连接步骤 数据库连接对动态网站来说是最为重要的部分。很多数据库系统都带有 JDBC 驱动程序, Java 程序就通过 JDBC 驱动程序与数据库相连,执行查询和提取数据等。Sun 公司还开发了 JDBC-ODBC bridge,用此技术,Java 程序就可以访问带有 ODBC 驱动程序的数据库,目前大 多数据库系统都带有 ODBC 驱动程序,所以 Java 程序能访问诸如 Oracle、Sybase、MS SQL Server 和 MS Access 等。在本系统中采用的是 SQL Server 2000,利用 JDBC-ODBC 桥接将 jsp 与数据库连接,主要的数据库连接步骤如下: 首先,建立一个 SQL Server 数据库,其中设计了两个表:学生信息表 aa,用户表 b,在学 生信息表中保存有学生的姓名、学号(设为主键)、性别和照片(因为我们在设计系统时, 主要考虑实现通过前台浏览器对数据库中学生的基本信息进行管理,所以我们在数据库中只 保存了学生的一般信息,没有对学生资料更好的进行归类,但是主要的编程思想都是一样 的),用户管理表中保存有管理员的用户名和密码,管理员需要通过密码验证才能进入管理 员主界面。然后,在 Control Panel(控制面板)的 ODBC Datasource 模块中,加入 System DSN, 取名为 xf,并指向 test.mdb。最后,创建 JSP 程序访问数据库。 在 Java 中,关键的 java.sql、javax.sql 等类库,提供了 JDBC 相关及接口程序,因为 JDBC 是执行 SQL 的标准应用程序接口规范,所以如何建立一个使用 JDBC 的应用程序,除应 了解前述概念外,还有几个简单而重要的步骤需要掌握。下示为一个 JDBC 程序,关键部分 对应的步骤说明与语句范例。 步骤说明 引进所要的 JDBC package 新建适用的 JDBC 驱动类程序 通过 JDBC URL 取得数据连接 建立 SQL 语句对象 执行 SQL 语句及接收返回结果 语句范例 import java.sql.*; Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); Connection conn=DriverManager.getConnection("jdbc:odbc:xf") Statement stmt=conn.createStatement(); resultSet FROM ”); rs=stmt.executeQuery(“SELECT * 至此可利用返回结果进行相关程序设计 关闭查询结果集 ResultSet rs.close();
南华大学计算机科学与技术学院 课程设计报告 关闭 SQL 语句连接 关闭数据库连接 Stmt.close(); Conn.close(); 3.2 SQL Server 2000 和与系统相关的 SQL 语言介绍 3.2.1 数据定义 DDL(data definition language) 数据定义语言是指对数据的格式和形态下定义的语言,他是每个数据库要建立时候时首先 要面对的,举凡数据分哪些表格关系、表格内的有什么栏位主键、表格和表格之间互相参考 的关系等等,都是在开始的时候所必须规划好的。 1、建 表格 : create table table_name( column1 datatype [not null] [not null primary key], column2 datatype [not null], ...)说明: datatype --是资料的格式。 nut null --可不可以允许资 料有空的(尚未有资料填入)。 primary key --是本表的主键。 2、更改表格 alter table table_name add column column_name datatype 说明:增加一个 栏位(没有删除某个栏位的语法。 alter table table_name add primary key (column_name) 说 明 : 更 改 表 得 的 定 义 把 某 个 栏 位 设 为 主 键 。 alter table table_name drop primary key (column_name) 说明:把主键的定义删除。 3、建立索引 create index index_name on table_name (column_name) 说明:对某个表格 的栏位建立索引以增加查询时的速度。 4、删除 drop table_name drop index_name 3.2.2 数据形态 datatypes smallint 16 位元的整数; interger 32 位元的整数; decimal(p,s) p 精确值和 s 大小的十进位整数,精确值 p 是指全部有几个数(digits)大小 值,s 是指小数点后有几位数,如果没有特别指定,则系统会设为 p=5; s=0 ; float 32 位元的实数; double 64 位元的实数; char(n) n 长度的字串,n 不能超过 254; varchar(n) 长度不固定且其最大长度为 n 的字串,n 不能超过 4000; graphic(n) 和 char(n) 一样,不过其单位是两个字元 double-bytes, n 不能超过 127, 这个形态是为了支援两个字元长度的字体,例如中文字; vargraphic(n) 可变长度且其最大长度为 n 的双字元字串,n 不能超过 2000; date 包含了 年份、月份、日期; time 包含了 小时、分钟、秒; timestamp 包含了 年、月、日、时、分、秒、千分之一秒。 3.2.3 SOL Server 2000 数据库的物理体系 数据型(Data):包含有除 text、ntext、imange 外的所有数据行; 索引(Idex):所含内容为索引条目; 文本/图像(Text/image):text、ntext、image 数据。 3.2.4 数据操作 dml(data manipulation language) 数据定义好之后接下来的就是数据的操作。数据的操作不外乎增加数据(insert)、查询数 据(query)、更改数据(update) 、删除数据(delete)四种模式,以下分别介绍他们的语法: 1、增加数据:insert into table_name (column1,column2,...) values ( value1,value2, ...) 说明: 1.若没有指定 column 系统则会按表格内的栏位顺序填入资料。 2.栏位的资料形态和所填入的资料必须吻合。 3.table_name 也可以是景观 view_name。 2、查询数据: select column1,columns2,... from table_name 说明:把 table_name 的特定栏位资料全部列出来 select * from table_name where column1 = *** [and column2 > yyy] [or column3 <> zzz] 说明: 1.´*´表示全部的栏位都列出来。 2.where 之後是接条件式,把符合条件的资料列出来。
南华大学计算机科学与技术学院 课程设计报告 select column1,column2 from table_name order by column2 [desc] 说明:order by 是指定以某个栏位做排序,[desc]是指从大到小排列,若没有指明,则是从 小到大排列。 3、更改数据: update table_name set column1=´***´ where conditoins 说明: 1.更改某个栏位设定其值为´***´。 2.conditions 是所要符合的条件、若没有 where 则整个 table 的那个栏位都会全部被更改。 4、删除资料: delete from table_name where conditions 说明:删除符合条件的资料。 3.3 基于 JSP 实现图片的数据库存储与显示 这一模块是我们对系统设计的重点和难点。数据库应用程序,特别是基于 WEB 的数据库 应用程序,常会涉及到图片信息的存储和显示。在设计过程中,我们考虑过将所要显示的图 片存在特定的目录下,在数据库中保存相应的图片的名称,在 JSP 中建立相应的数据源,利 用数据库访问技术处理图片信息。但是,如果我们想动态的显示图片,上述方法就不能满足 需要了。我们必须把图片存入数据库,然后通过编程动态地显示我们需要的图片。实际操作 中,可以利用 JSP 的编程模式来实现图片的数据库存储和显示。下面给出了在本系统中调用 数据库中学生照片并显示照片的程序以及接收由浏览器发送过来的请求将学生照片存储到 数据库中,并附带有程序的分析。 //读取图片源代码 //获得学生的 id try { String id=request.getParameter("id"); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e) { out.println("not found!"); } Connection conn=DriverManager.getConnection("jdbc:odbc:xf");//连接数据库 Statement stmt=conn.createStatement(); //创建 SQL 指令对象 stmt ResultSet result=null; //建立 ResultSet(结果集)对象 result=stmt.executeQuery("select ima from aa where id='"+id+"'"); //加载驱动程序 //捕获异常 //执行图片查询语句 if(result.next()) { //定义字符数组长度 int len = 10 * 1024 * 1024; OutputStream sout=response.getOutputStream(); InputStream in=result.getBinaryStream(1);//建立输入流 byte b[]=new byte[len]; for(int i=in.read(b);i!=-1;) { //对取图片信息 //如果 i=-1 表示图片读取成功或不存在 //建立输出流 sout.write(b); in.read(b); } sout.flush(); sout.close(); } //强制清出缓冲区 //关闭输出流 }catch(SQLException e) { out.println(e.toString()); //抛出异常
南华大学计算机科学与技术学院 课程设计报告 } 将 上 面 的 代 码 保 存 在 xianshi.jsp 文 件 中 , 在 学 生 信 息 中 通 过 将通过上面代码取得的图片显示在页面上, 其中 id 信息通过 request 请求发送给 xianshi.jsp 中的 id 属性。 //存储图片源代码 try { try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e) { out.println("not found!"); } //获得学生姓名 Connection conn= DriverManager.getConnection("jdbc:odbc:xf"); Statement stmt=conn.createStatement(); String name=request.getParameter("1"); name=new String(name.getBytes("8859_1"),"gb2312");//对获取信息进行中文编码 String id=request.getParameter("2"); //id=new String(id.getBytes("8859_1"),"gb2312"); String sex=request.getParameter("3"); sex=new String(sex.getBytes("8859_1"),"gb2312"); String image=request.getParameter("4"); image=new String(image.getBytes("8859_1"),"gb2312"); FileInputStream str=new FileInputStream(image); String sql="insert aa(name,id,sex,ima) values(?,?,?,?)";//定义数据库添加语句 PreparedStatement rs=conn.prepareStatement(sql); //建立 PreparedStatement 对象 //建立输入流 rs.setString(1,name); //向表中第 1 列插入学生姓名 rs.setString(2,id); rs.setString(3,sex); rs.setBinaryStream(4,str,str.available()); //输入学生 id //输入学生性别 //输入照片,str.available()获得图片大小 rs.execute(); //执行插入操作 }catch(SQLException e) //抛出异常 { out.println(e.toString()); } 4.总结分析 至此该系统基于 WEB 的数据库应用程序已经完成了。由于考虑到我们设计该系统主要是 基于 Java 的学生信息管理系统,按照老师的要求,在浏览器中实现显示学生基本的文字信 息和学生的照片功能,所以在数据库中我们只保存了少许几个学生的一些基本信息,如姓名、 学号、性别、照片,并没有花费太多的经历将学生的一些详细资料按学院或其他信息建多个 学生信息表,这一点我们也感到非常遗憾。学生信息表设计虽然简单,但是我们处理了一个 令很多人都感到困惑的难点,在 JSP 中,利用数据库访问技术处理图片信息,即基于 WEB 的动态图片显示。 基于 java 的学生信息管理系统 ----系统前台 Web 服务
南华大学计算机科学与技术学院 课程设计报告 1.课程设计目的及要求 设计目的: 在学习了网络编成等课程后,为了更好的理解其有关原理并熟悉网络编成设计过程,进 行了此次课程设计。在设计中主要涉及到数据库的设计及操作过程,也为掌握数据库设计的 基本方法并进一步应用奠定了基础。前台浏览器设计部分是通过 Dreamwaver 工具应用 jsp 编程来实现界面的设计与修改,从而熟悉网络编程的技术。 设计要求: 设计基于 java 的学生信息管理系统的前台浏览器服务,包括系统的总界面设计以及系 统的功能分析设计,完成系统的整体结构。 2.课程设计软硬件环境 2.1 前台开发工具 本系统是在 JSP 环境下实现,后台数据库为 MS SQL 2000,前台应用 JSP 技术,JSP 全称为 JAVA SERVER PAGES,也就是[JAVA 服务端网页]的意思,JSP 是一种集成 HTML 及 JAVA 程序于一体的网页技术,让网页设计者能够轻易而有弹性地建立互联网应用程序。JSP 称为 网页,但它结合 JAVA 的 SERVLET 服务端小程序技术,因此称为 JSP 程序也可以。其中使 用 到 tomcat 工 具 .tomcat 可 说 是 一 个 国 际 级 的 JSP 服 务 器 , 也 可 以 称 为 JSP 容 器 (CONTAINER)或 JSP 引擎。tomcat 可融入 Apache 服务器中,而 Apache 可安装于 Unix、 Linus、NT、WINDOWS 等操作平台,由此可见 JSP 是跨平台的。 JSP 技术有以下的优点: 1. 写一次可到处执行 2. 组件可重复使用 3. 可将静态及动态内含隔开 4. 支持脚本语言及动作 5. 可通过信息网站存取一层次企业应用程序信息 Tomcat 需要配置两个配置文件,即 server.xml 和 web.xml。server.xml 是 tomcat 的主配 置文件,完成两个目标:提供 tomcat 组件的初始配置和说明 tomcat 的结构、含义,使得 tomcat 通过实例化组件完成启动及构建自身。 2.2 开发平台的选择 本系统基于 JSP 的环境下,所以必须安装支持运行 JSP 环境运行的环境,首先我们必须安 装一个 JAVA 环境,因为在编译 JSP 代码时必须有 JAVA 语言编译器。 2.2.1 首先我们简要介绍一下 JAVA JAVA 是一种面向对象的程序语言,不仅能够编写小应用程序实现嵌入网页的声音和动画 功能,而且还能够应用于独立的大中型应用程序,其强大的网络功能能够把整个 Internet 作 为一个统一的运行平台,极大地拓展了传统单机或 Client/Server 模式应用程序的外延和内 涵。 1. 数据封装(ENCAPSULATION) 将数据分成私用(private)、保护(protected)、公用(public)等,达到数据保密的目的。 3. 多态性(polymorphism) JAVA 是一种 WEB 的程序语言。 2.2.2 JAVA 语言的安装 JAVA 系统一般包含四个部分 1. JAVA 环境(ENVIRONMENT)、 2. JAVA 语言(LANGUAGE)、 2. 继承(inheritance) 有继承的关系后,父类(super class)中的数据(data)或方法(method)其子类(subclass) 就有继承使用,子类的子类也可以继承使用,达到数据重复使用(reuse)的目的。 JAVA 是一种分布式程序语言、JAVA 是一种跨平台的程序语言、JAVA 是一种网络语言、
分享到:
收藏