学生成绩管理系统(java)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六安职业技术学院毕业设计(论文)
学生信息管理系统
姓名:何洋洋
学号: 20103115
班级:软件1002
指导教师:申子明
所在系部:信息工程系
二○一三年六月
摘要
随着计算机网络技术发展,Web数据库技术已经成为应用最为广泛的网站架构基础技术在应用系统中,Web提供了与用户进行通信联络的有效手段,利用Web技术,实现Web 服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据。
学生信息的管理是学校日常工作中的重要组成部分。
高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。
加上我国高等学校基层学生管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。
在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。
因此,在计算机飞速发展的今天,应用数据库技术实现学生信息的管理是可行而必要的工作,实现高校学生信息网上管理,既能够提高工作效率,又可以提高工作水平。
关键字:JAVA 学生信息管理系统 SQL Server
Abstract
Along with the computer network technology development, Web database technology has become the most widely used web architecture based technology in the application system, Web provides the user with the means to communicate effectively, using the technology of Web, Web server and database system connection, the completion of the data processing and query, the user can through simple operation browser a query processing needs of the various data.
Student information management schools is an important part in daily
work.University enrollment scale and gradually expand the understanding of the
reform of the system, the number of students will continue to increase, while the student staff to be relatively reduced.With our country's basic level of colleges and universities students management work idea, content is miscellaneous, management of small, high requirements, the traditional management approach has been basically does not adapt to the requirement of new situation.Students the basic information management, selection and performance of information management, student management, have a bit inadvertent error occurs.Therefore, in today's rapid development of computer, the application of database technology to achieve the management of student information is feasible and necessary work, college students information management, which can improve the work efficiency, but also can improve the working level.
Keywords: student information management system SQL Server JAVA
目录
第1章绪论 (1)
1.1 引言 (1)
1.2 问题的定义 (1)
1.3 系统介绍 (1)
1.3.1 系统目标 (2)
1.3.2 业务流程图 (2)
第2章可行性研究 (5)
2.1 技术可行性 (5)
2.2 经济可行性 (5)
2.3 操作可行性 (5)
2.4 法律可行性 (5)
第3章需求分析 (7)
3.1 系统需要解决的主要问题 (7)
3.2 系统具备的基本功能 (7)
3.3 数据流图 (7)
3.4.1 数据存储 (9)
3.4.2 数据流 (9)
3.4.3 数据处理 (10)
第4章总体设计 (11)
4.1 概述 (11)
4.2 系统学生子功能划分 (11)
4.3 学生子系统功能描述 (12)
4.4 数据库概念结构设计 (12)
4.5 数据库设计 (14)
4.6 安全保密设计 (14)
4.6.1 登陆用户的安全性 (14)
4.6.2 数据安全性 (14)
第5章详细设计 (15)
5.1 概述 (15)
5.2 程序流程图 (15)
5.3 学生子系统的实施 (16)
结论 (24)
致谢 (25)
参考文献 (25)
第1章绪论
1.1 引言
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
随着计算机网络技术发展,Web 数据库技术已经成为应用最为广泛的网站架构基础技术在应用系统中,Web提供了与用户进行通信联络的有效手段,利用Web技术,实现Web服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据。
1.2 问题的定义
学生信息的管理是学校日常工作中的重要组成部分。
高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。
加上我国高等学校基层学生管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。
在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。
同时学生成绩的手工登录与查询,是一项非常繁重而枯燥的劳动,每年课程的变化都需要重新规划,耗费许多人力和物力,而且会因人的情绪烦燥而出现失误。
因此在计算机飞速发展的今天,应用数据库技术实现学生信息的管理是可行而必要的工作,实现高校学生信息网上管理,既能够提高工作效率,又可以提高工作水平。
1.3 系统介绍
学生信息管理系统是典型的信息管理系统,本系统采用B/S的设计结构,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起资料一致性和完整性强、资料安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
学生信息管理系统是一个学校信息化管理的重要组成部分,不但能实现学生网上成绩查询,同时也为学校管理者提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理学生信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间长了,将产生大量的文件和资料,这对于查找、更新和维护都带来了不少的困难。
1.3.1 系统目标
现在我国的学校中学生信息的管理水平大多还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
采用计算机来实现学生信息管理系统归纳起来,好处大约有以下几点:
1.可以存储历届的学生信息,安全、高效;
2.只需一到二名信息录入员即可操作系统,节省大量人力;
3.可以迅速查到所需信息。
4.为将来学校上网做好准备。
学校学生可以在任何一个角落查询自己的成绩信息,不受时间、地点限制。
根据要求,本系统模块具体实现如下的功能:
1. 实现学生网上成绩查询的功能。
学生可以在网上查询自已每门课的成绩信息。
2. 实现对学生个人信息查询的功能。
学生可以在网上查询自已的个人信息。
3. 实现对学生课表查询的功能。
学生可以在网上查询自已的课表信息。
4. 实现对学生用户密码修改的功能。
学生可以在网上修改自己的用户密码。
1.3.2 业务流程图
业务流程描述:用业务流程图描述现系统各项业务处理过程,并结合业务流程图详细准确地说明业务处理过程中数据的收集、输入、传递、存储、加工的方法、算法、输出的数量及形式等。
现行系统的业务流程图是分析和描述现行系统业务的重要工具之一。
其主要作用是:描述现行系统的业务情况以便于与管理人员交流,它是系统设计的前提和保证。
业务流程图使用的符号:
学生成绩查询成绩信息
个人信息查询个人信息
课程查询课程信息
图1-1系统业务流程图
第2章可行性研究
可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑:
2.1 技术可行性
“学生信息管理系统”学生模块是由网络和网页实现的。
所以本系统使用JSP开发技术,应用界面友好且功能强大的由MX MyECplise软件,服务器端脚本用JAVA脚本来编写,客户端脚本也用JAVA来编写,数据库使用MySQL 数据库,服务器是TOMCAT 。
热爱计算机科学,又刻苦钻研的精神,经过大学四年的学习,这些课程已基本熟练掌握,该模块是在学校开发,遇到问题可以与同学一起研究,再加上指导老师的指导。
因此在技术上能够适应本系统的开发。
2.2 经济可行性
系统的经济可行性指的是对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。
本模块简单易开发,且开发需要资金少,系统开发运行后,可以实现学生信息管理的计算机化,节省了人力、物力,将人从繁重的工作业务中解脱出来,减少了信息管理中无意的错误,节省了大量的时间,管理效率也大幅度提高,因此,在经济上是可行的。
所带来的效益远远大于系统软件的开发成本。
在经济上完全可行
2.3 操作可行性
本系统直观易懂,使用非常方便,学生可以直接上手,只要经过简单的培训,操作本系统没有太大的问题。
2.4 法律可行性
本系统开发不会侵犯他人、集体或国家利益,不存在侵权等问题,不违反国家法律,因此具有法律可行性。
综上所述,从技术上、经济上、法律上、可操作性上都是可行的,而且要求不高,所
以该系统的开发是可行的
第3章需求分析
3.1 系统需要解决的主要问题
本系统要实现学生信息的网络化的查询与管理。
能够实现学生在网上成绩查询的功能,使学生不分时间、地点,只要能上网即可以查询自己的成绩,并能够保存自己的几年的成绩,对自己的成绩信息一目了然。
3.2 系统具备的基本功能
“学生信息管理系统”学生模块的开发主要包括应用程序系统和后台数据库,应用程序系统要求界面友好,功能完备,易使用等特点。
而后台数据库的数据要具有一致性、完整性、安全性。
学生操作前台——操作方便.
前台作为与学生直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便性,目的是让大多数不在懂电脑操作的客户,也能轻松的享受计算机给他们带来的便利。
前台系统主要学生成绩和个人信息的查询功能,学生可以查询自己的成绩和个人信息。
3.3 数据流图
数据流图(DFD):
数据流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。
图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。
它能精确的描述系统的逻辑模型,描述数据在MIS中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。
图 3-1学生信息管理系统TOP数据流图
图 3-2学生操作子系统一级细化(二)
3.4 数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息[1]。
一般说来,数据字典应该由下列四类元素构成:数据元素,数据流,数据存储和数据处理。
数据存储是数据结构停留或保存的地方。
也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算及文档。
一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。
3.4.2 数据流
数据流是数据结构在系统内传输的路径。
对数据流的描述通常包括如下内容:{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}。
处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。
在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}[1]。
第4章总体设计
4.1 概述
本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。
系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。
在软件的设计中应追求尽可能松散的耦合。
内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块只做一件事情。
在设计时应力求做到高内聚。
4.2 系统学生子功能划分
经过对系统的需求分析,学生子系统比较简单,主要完成学生网上课程成绩及个人信息查询的功能及密码修改的功能。
学生以学号及密码的身份进行登录,系统功能结构如图:
图4-1 学生子系统模块图
4.3 学生子系统功能描述
1. 学生信息查询模块
本模块完成学生成绩个人信息和选修课程的查询功能,进入本模块,学生可以查询自己课程到期末时所得的成绩的信息,个人基本信息及已经选修的课程。
基本信息由系统教师或管理员在后台录入,学生只能查询自己的所需的信息。
2. 学生密码修改模块
学生的基本信息是由管理员从后台添加的,每个学生的基本信息添加后,系统会自动生成一个密码,所有同学的密码初使值是相同的,学生使用初使密码登录后,为保证自己信息的安全性,用户可以修改自己密码。
3. 课程管理模块
课程管理模块完成学校开设的课程的管理功能,包括课程的添加,课程的删除,课程的修改及课程的查询。
图4-2 课程信息管理模块
4.4 数据库概念结构设计
在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。
目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据
模型”。
在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。
ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。
它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。
但ER模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。
E-R图是直观表示概念模型的工具,它有三个基本成分:
矩形框,表示实体类型(考虑问题的对象)。
菱形框,表示联系类型(实体间的联系)。
椭圆形框,表示实体的属性。
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。
本系统包括的实体有学生实体,教师实体,课程实体,班级实体等。
各实体属性图如下所示:
图4-3学生实体属性图
图4-4 课程实体属性图
4.5 数据库设计
本系统采用的数据库管理系统是MySQL。
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。
MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。
MySQL 是MySQL AB的注册商标。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。
MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
4.6 安全保密设计
4.6.1 登陆用户的安全性
系统设计了登陆界面,每个合法用户有一个密码,该密码由用户自行维护,从而实现对用户的身份验证。
4.6.2 数据安全性
客户端层和数据库层隔离,客户端无法接触本质的数据库,无法进行非法的修改和破坏,使得数据库得到有效安全的保护。
第5章 详细设计
5.1 概述
详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计的处理过程应该尽可能简明易懂。
5.2 程序流程图
程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。
学生子系统的程序流程图:
图 5-1学生子系统的程序流程图
5.3 学生子系统的实施
学生子系统是以学号及学生密码的身份进行登录,学生可以查询到自己的各科成绩的信息,可以对自己的登录密码进行更改,学生登录界面的设计如图5-18所示:
图5-2 学生登录子系统
图5-3 学生登录子系统
图5-4 查询成绩界面
图5-5 查询个人信息界面
图5-6 修改密码界面
图5-7 选报课程界面
部分代码:
(1)选修科目:
<%@page language="java" contentType="text ml; charset=GBK"%> <%@page import="java.sql.*,com.stuman.service.*"%>
<html>
<head>
<title>选报课程</title>
</head>
<%
String stuid = (String)session.getAttribute("stuid");
%>
<body>
<p align="center">
您可以选报的课程为
</p>
<table border="1" align="center">
<tr>
<td width="54">
课程号
</td>
<td width="54">
课程名
</td>
<td width="57">
预修课
</td>
<td width="58">
系别
</td>
<td width="59">
班级号
</td>
<td width="69">
教室号
</td>
<td width="88">
上课时间
</td>
<td width="88">
教师
</td>
<td width="83">
选择
</td>
</tr>
<%
ListCourseForStu courlist = new ListCourseForStu();
courlist.list(request, out, stuid);
%>
</table>
<p>
</p>
<p>
<a href="student.jsp"><<Back </a>
</p>
</body>
</html>
(2)学生选择项页面
<%@page language="java" contentType="text ml; charset=utf-8"%>
<%@page import="java.sql.*,com.stuman.*" errorPage="errorpage.jsp" %>
<html>
<head>
</head>
<body>
<%
String stuid = (String)session.getAttribute("stuid");
if(stuid==null){response.sendRedirect("login.jsp");} %>
<br>
<br>
<center>您已经成功通过验证! 您可以使用如下服务</center>
<br>
<br>
<br>
<table width="58%" border="0" align="center">
<tr>
<td><a href="DisplayCourse.jsp">选修课程>></a></td>
<td><a href="checkmark.jsp">察看成绩>></a></td>
<td><a href="updateinformation.jsp">更改信息>></a></td>
</tr>
</table>
<p> <a href="login_confirm?action=logout"><<注
销 </a></p>
</body>
< html>
(3)修改项学生页面
<%@ page language="java" contentType="text ml; charset=gb2312"%>
<%@ page
import="java.sql.*,com.stuman.domain.Student,com.stuman.dao.StudentDAO,com .stuman.dao.DAOFactory"%>
<%@ taglib uri="/tags-bean" prefix="bean"%>
<%@ taglib uri="/tags-html" prefix="html"%>
<%@ taglib uri="/tags-logic" prefix="logic"%>
<%@ taglib uri="/tags-tiles" prefix="tiles"%>
<html>
<head>
<title>修改学生信息</title>
</head>
<body>
<p>
<%
String stu_id = (String)session.getAttribute("stuid");
System.out.println("Student_id = " + stu_id);
String tel = "", id = "", password = "", email = "", dep = "", sex = "", mail = "", mark = "";
StudentDAO stuDao = DAOFactory.getInstance().createStudentDAO();
Student stu = stuDao.getStudentByID(stu_id);
password = stu.getPassword();
tel = stu.getTel();
email = stu.getEmail();
%>
</p>
<p align="center">
修改信息
</p>
<form method="post"
action="/MyStuMan/editStudent2.do?student_id=<%=stu_id%>">
<table width="49%" height="50" border="1" align="center"
cellpadding="0" cellspacing="0">
<tr>
<td>
密码
</td>
<td>
<html:password property="password" value="<%=password%>" />
</td>
</tr>
<tr>
<td>
确认密码
</td>
<td>
<html:password property="password1" value="<%=password%>"
/>
</td>
</tr>
<tr>
<td>
电话
</td>
<td>
<html:text property="tel" value="<%=tel%>" />
</td>
</tr>
<tr>
<td>
邮件地址
</td>
<td>
<html:password property="email" value="<%=email%>" />
</td>
</tr>
</table>
<p align="center">
<input type="submit" name="Submit" value="提交">
</p>
</form>
<p>
<a href="getStudent.jsp"><<Back</a>
</p>
</body>
< html>
(4)用来表示更新成功还是发生错误的页面
<%@page language="java" contentType="text ml; charset=GBK"%>
<%@page import="java.sql.*,STUMAN.STUDENT" errorPage="errorpage.jsp" %> <html>
<head>
<title>确认更新</title>
</head>
<jsp:setProperty name="student" property="*"/>
<body>
<p align="center">
<%
try{
String id=(String )session.getAttribute("id");
student.setId(id);
String a = student.getSex();
String c=student.getName();
String d=student.getJiguan();
String e = student.getDep();
String f=student.getPassword();
if(c==null || c.equals("")) throw new Exception("错误,学生姓名不能为空!");
if(f==null || f.equals("")) throw new Exception("错误,学生密码不能为空!");
out.print(" Id 为"+id+"的学生<br>");
out.print("更改性别为: "+a+"<br>");
out.print("更改姓名为"+c+"<br>");
out.print("更改籍贯为 "+d);
student.updateStudent();
} catch(Exception e){out.print(e.toString());}
%>
</p>
<p> </p>
<p><a href="admin.jsp"><<Back</a></p>
</body>
(5)查看成绩
<%@page language="java" contentType="text ml; charset=GBK"%>
<%@page import="java.sql.*,com.stuman.service.*"%>
<html>
<head>
<title>查看成绩</title>
</head>
<%
String stuid = (String)session.getAttribute("stuid");
%>
<body>
<p align="center">
您所有的成绩
</p>
<table border="1" align="center" width='85%'> <tr>
<td width="40%">
课程名称
</td>
<td width="30%">
学分
</td>
<td width="30%">
成绩
</td>
</tr>
<%
ListScore score = new ListScore();
score.list(request, out, stuid);
%>
</table>
<p>
</p>
<p>
<a href="student.jsp"><<Back </a>
</p>
</body>
< html>
结论
经过本次的课程设计,不仅让我更加熟练的掌握了JAVA的应用,也让我学习到了有关JSP的知识和MyECplise、Tomcat、MySQL的知识,使我了解脚本语言对JSP的重要。
在这次设计过程中,培养了我的自学能力,在遇到技术困难的时候,能够认真的对待,永不放弃,无论是查看各种书籍还是到图书馆中查找各种资料,想尽一切办法将这个问题解决。
这将在以后的学习生活中有很大的帮助。
学生成绩管理系统是一个典型的成绩管理系统。
本系统以JAVA为开发技术,后台采用SQL Server2000数据库管理,实现教师对整个系统的管理功能以及学生查询等一系列功能。
本系统能够很好的实现教师通过Internet 管理学生成绩以及学生的相关信息的管理,以及学生对自己成绩有个随时的查询方便学生自己能够
时时刻刻的了解自己的成绩方便自己在以后的学习过程中能够有针对行的进行学习,掌握自己的不足的一面为今后的学习打下一个良好的基础。
本系统是目前流行的成绩管理系统的一个缩影,在后面的工作中,应该更多的考虑在实际教学活动中的应用,不断的完善该本系统的其他的功能,力争做出更多的特色,使本系统能够达到在实际生活中应用的目标,成为名副其实的真正服务广大学校用户的产品。
实用标准文案
致谢
历时将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。
尤其要强烈感谢我的论文指导老师申子明老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。
另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。
在此向帮助和指导过我的各位老师表示最衷心的感谢!
感谢这篇论文所涉及到的各位学者。
本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。
感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在论文的撰写和排版灯过程中提供热情的帮助。
由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!
参考文献
[1]陈国君等.《Java程序设计基础》(第二版).清华大学出版社
[2] Deitel.《Java大学基础教程》(第六版).电子工业出版社
[3] 王晶 SQl Server 2000管理与应用开发教程[M] 人民邮电出版社 2009.10.
[4] MaryCampione.《Java语言导学》(第四版).机械工业出版社
[5] Y.Daniel Liang.《Java语言程序设计基础篇》(第六版). 机械工业出版社
[6] Kathy Sierra.《Head First Java》(第二版).东南大学出版社
[7] 闪四清.SQL Server2000实用教程[M]. 北京:人民出版社,2002.6
[8] 侯晓强,徐春荣,勾海波.Java服务器编程实例[M].中国青年出版社,2004.53-97页.。