[02]校内范文-毕业实践报告

毕业实践报告

专业班级 软件091班 学生姓名 张 三 学 号 2009123 班级序号 01 实践性质 校内 实习 实践成绩 指导教师

注:校内实习=指导教师:郭娟 校外实习=指导教师:校外教师姓名

长江职业学院工学院 二○一一年十一月印制

长江职业学院工学院

毕业实践须知

1. 毕业实践报告撰写的篇幅要求在3000字以上。

2.毕业实践报告包括毕业实践任务书、毕业实践工作鉴定、毕业实践工作报告及实践报告评语等四个部分。毕业实践任务书和毕业实践工作鉴定由实践单位填写,毕业实践工作报告由学生撰写,毕业实践报告评语由指导教师写出。

3.毕业实践报告的内容包括实践工作概述(岗位、工作及要求),实践工作岗位与所学专业的关系,实践工作中采用的技术方法和解决方案与所学专业课程、所开展的职业训练的关系,实践工作中运用到专业知识和技能解决的问题,收获、体会和今后还要努力的方向等五个方面。

4.毕业实践学生在实践期间,要严格遵守实习的规定,认真执行实践计划,遵守纪律,服从安排,文明礼貌。指导教师须对所指导学生实践报告进行客观评价并评定成绩。

5. 毕业实践报告装入学生毕业实践资料袋。

第 页 共 23 页 1

长江职业学院工学院

毕业设计(论文)任务书

02校内范文毕业实践报告

第 页 共 23 页 2

长江职业学院工学院

目录

第一章 绪论 .................................... 3

1.1 网上报名系统研究背景和意义 ........................ 5

1.2 国内外考试网上报名的发展现状 ..................... 5

第二章JAVA的网络功能与编程 ..................... 5

2.1 JAVA语言简介 ..................................... 6

2.2 JAVA语言在网络上的应用 .......................... 6

2.3 JSP的基础——SERVLET 技术 ......................... 6

第三章 网上报名考试系统分析与设计 ............... 7

3.1 需求分析 ......................................... 7

3.2 数据库设计 ...................................... 8

3.3 数据库实现 ....................................... 9

第四章 网上考试报名系统 ........................ 10

4.1考生报名 ......................................... 12

4.2密码修改系统 ..................................... 13

4.3考生浏览系统 ..................................... 14

4.4考生修改报名信息 ................................. 17

第五章 总结 ................................... 21

致谢 ........................................... 21

参考资料 ....................................... 22

第 页 共 23 页 3

长江职业学院工学院

网上考试报名系统

赵兰兰 长江职业学院 430074

摘要

随着教育改革和教育信息化的逐步实施,各类考试工作也面临着改革,引进现代化的教育技术手段是高校教学管理亟待解决的问题,可以说,新的机遇和挑战并存。本论文设计与实现的网上报名系统架设了一条考生与教育相关部门相互沟通的桥梁,是一个集网上信息采集、考试管理、数据库操作、数据下载上传、安排准考证、下载准考证等考务管理为一体的网上报名系统。 本系统采用B/S模式,应用JSP/Java Servlet技术,与数据库的连接使用Java JDBC并通过连接池来提高Servlet访问数据库的效率。本论文阐述了系统的需求分析,设计原则,开发的模式及系统的运行平台,详细给出了系统数据库结构和访问原理,并且详细的描述了系统考生网上报名模块、系统登陆模块、考生模块、主管部门管理模块、现场报名点管理模块和系统管理员模块等各功能模块的结构和实现过程。 本论文还详细的阐述了系统的用户认证机能、数据库连接池、用户角色及数据库安全策略、还有系统开发与运行中的一些错误的预防与处理机制等等,并且分析并提出一种映射随机算法的改进,缩短了系统执行时间,提高了系统执行效率。通过使用这些技术与方法,系统的安全性以及大量用户请求时系统的并发性得到了极大的提高。

关 键 字:网上报名; jsp; 数据库

第 页 共 23 页 4

长江职业学院工学院

第一章 绪论

1.1 网上报名系统研究背景和意义

基Web技术的计算机等级考试网上报名系统是借助于遍布全球的Internet进行的,这样可以将等级考试的信息及时地发布到网上,供广大考生学习,真正实现了计算机等级考试报名方式的灵活性与方便性。该系统将计算机技术和网络技术相结合,实现计算机等级考试在线报名、自动审核、考试课程以及考试人员数量的统计、考生信息管理和查询等功能。

开发计算机等级考试网上报名系统的意义:“协同计算机等级考试管理系统,充分利用当今计算机先进的网络技术和Internet技术,实现考生信息管理和信息查询等功能的标准化考试报名系统。在设计过程中充分考虑各考试中心的软件硬件环境和管理技术水平的不同,实现了考试中心端的系统操作简明、系统易于维护、数据传输与Internet连接方式多样化。”

1.2 国内外考试网上报名的发展现状

目前国内同一课题的研究从研究对象来讲,大部分针对具体、特定的任务(如针对考试的网上报名)进行开发设计。

在国内外地区,网上报名系统已经成为教育的有机组成部分。利用Web技术的报名系统,该系统可随时随地为师生提供方便、快捷的报名及了解报名信息的服务,同时也从根本上减轻了培训部门的工作负担,也大大降低了考试部门对学生资料统计的繁重任务。研究具有创新性的网上报名模式及其系统实现技术是很有必要的。

该系统将计算机技术和网络技术相结合,实现计算机等级考试在线报名、自动审核、考试课程以及考试人员数量的统计、考生信息管理和查询等功能。这样可以将等级考试的信息及时地发布到网上,供广大考生学习,真正实现了计算机等级考试报名方式的灵活性与方便性。

第二章JAVA的网络功能与编程

第 页 共 23 页 5

长江职业学院工学院

2.1 JAVA语言简介

Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。自从19xx年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。在早期,Java比较多的用在浏览器上,插入到网页中(即是Java Applet程序),成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的JSP(Java Server Page)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。

2.2 JAVA语言在网络上的应用

Java程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。例如Java程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。在编程处理上,一般先生成一个URL类型的对象,然后用 Java中相应的方法(method)获取该对象所代表的资源。下面列举一个Java从网络上获取图象的的方法以说明。

2.3 JSP的基础——Servlet 技术

Java Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完全平台无关且是Web服务器无关的。由于Java Servlet

第 页 共 23 页 6

长江职业学院工学院 内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出Java Server Pages的原因。 什么是JavaBeans?JavaBeans就是Java的可重用组件技术。ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBeans实现了同样的功能扩充。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的JSP开发过程中,读者将会发现,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBeans中。

第三章 网上报名考试系统分析与设计

3.1 需求分析

需求分析简单的说就是分析用户的要求。需求分析是设计数据库的点,需求

分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影 响到设计结果是否合理和实用。需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种要求,然后在此基础上确定新系 统的功能。也就是说我们希望系统做什么。这个阶段是对系统认识最为全面的阶段,应该是用户基本上确定自己的最终要求阶段。网上报名系统能够方便考生的报考,节省考试报名开支,提高考试管理部门的工作效率。职称计算机网上报名系统是收集、管理考生信息的一个平台,主要包括考生报名、登录、信息修改、上传照片、浏览信息、注销等功能。网上报名系统完成的主要任务如下。

(1) 考生报名:考生填写报名表、包括考生身份证号、考生姓名、工作单位、单位地

第 页 共 23 页 7

长江职业学院工学院 址、联系电话、报考类别、Email地址、备注等信息。

(2) 考生登录:完成已报名考生身份的验证任务。通过验证的考生才能有权限使用上

传照片、浏览信息、修改密码、修改信息、注销考试的功能。

(3) 上传照片:登陆后长传考生照片文件,时间照片与考生身份证号的一一对应。

(4) 浏览信息:考生登录后,可浏览自己的详细信息和其他的考生的报名信息,但不

能查看其他考试的密码。

(5) 修改密码:考生成功登录后可以修改自己的密码。

(6) 修改信息:考生成功登录后,考生可对除身份证号、密码以外的个人信息进行修

改。

(7) 注销考试:成功登录的考生可以注销考试,也就是取消这次考试报名。

3.2 数据库设计

系统使用MySQL 5.0作为后台网络数据库,建立一个数据库dataExam,dataExam中有eaaminee表,报名信息存入examinee表中,examinee表有下列字段。

Id:存储考生身份证号,主键,非空。

Name:存储考生姓名,姓名可以是汉字或字母。

Sex:存储考生性别,存储“男”或“女”。

Company:考生工作单位。

Address:单位地址。

Password:登陆密码,密码可使用英文字母或数字。

Pic:存储照片文件名。

Phone:考生的联系电话。

Email:考生邮箱地址。

Examtype:考生考试类别。

Memo:考生备注信息。

第 页 共 23 页 8

长江职业学院工学院

3.3 数据库实现

1.创建数据库

(1)创建dataExam数据库:

E:\mysql\bin> mysql –uroot

mysql->create database dataExam;

(2)切换到dataExam数据库:

mysql->use dataExam

(3)创建examinee表:

2.插入示例数据

插入示例数据的SQL语句如下:

insert into examinee ( id, name, sex, company, address, phone, email, password, memo, examtype, pic) value ("13xxxxxxxxxxxx","杨里海","男","大学","北京市海淀区","010-88765678"," yanglh@163.com "," yang","高校教学人员","高级","13xxxxxxxxxxxx.JPG");

第 页 共 23 页

02校内范文毕业实践报告

9

长江职业学院工学院 系统实体类型的结构如下:

网上报名信息(报考编号,报考级别,考试地点,密码,姓名,性别,出生地,出生日期,证件类型,证件号码,学历,专业,毕业学校,毕业时间,联系电话,邮件地址,在职情况,工作单位,工作时间,职称,职称授予时间,通讯地址,邮政编码) 报考点(报考点编号,地市,地址,联系电话,联系人)

考点(考点编号,考点,说明,交通图,地址,联系人,联系电话)

级别(级别编号,级别,上午考试时间,下午考试时间,考费)

证件(证件名称编号,证件名称)

第四章 网上考试报名系统

在报名前要先阅读报名须知,如图1所示,报考点如图2所示,开考级别如图3所示,考点查看如图4所示,全部查看完毕,则进入填写报名表页面,如图4所示。

02校内范文毕业实践报告

第 页 共 23 页 10

长江职业学院工学院

图(1)考生报名系统

02校内范文毕业实践报告

图(2)考生修改密码系统

02校内范文毕业实践报告

图(3)考生浏览系统

02校内范文毕业实践报告

第 页 共 23 页 11

长江职业学院工学院 图(4)考生修改信息系统

4.1考生报名

网上报名系统由两个子系统构成,分为前台网上报名和后台考试管理,本人开发的是前台网上报名子系统。前台网上报名模块的主要功能如下:查看报考须知、查看报考点及考点,查看开考级别、考生填写报名表进行报名等。<%@ page

contentType="text/html;charset=GB2312" %>

<h3>左侧菜单</h3>

<p><a href="ch3_7_1.jsp">考生报名</a></p>

<p><a href="ch3_7.jsp">返回主页</a></p>

<head>

<title>include指令示例</title>

<link href="mystylesheet.css" rel="stylesheet" type="text/css" />

</head>

<body class="twoColHybLtHdr">

<div id="container">

<div id="header">

<%@ include file="head.txt" %>

</div>

<div id="sidebar1">

<%@ include file="left.txt" %>

</div>

<div id="mainContent">

<font size="6" color="red" >

<p align="center" >欢迎您报考<br>XX省职称计算机考试!</p>

</font>

</body>

</html>

第 页 共 23 页 12

长江职业学院工学院

4.2密码修改系统

网上报名包括初始报名、考生状态管理、分数查询、准考证打印。报名流程如下:首先,考生录入考生的基本信息及上传两寸照片。工作人员在两个工作日内对照片及考生的基本信息进行确认。

输入用户名和密码后,就会跳转到主页面,代码是:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;

charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<form action="validate.jsp">

<p>

<font color="blue" size="+2">考生报名系统用户登

</p>

用户名:<input type="text" name="username"><br>

密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password"

name="password"><br>

<input type="submit" value="登陆">

<input type="reset" value="重置">

</form>

</body>

</html>

第 页 共 23 页 13

长江职业学院工学院

4.3考生浏览系统

该模块负责查找考生并显示考生信息,包括考生姓名、性别、工作单位、单位地址、联系电话、备注、考试类别、照片等信息。同时提供了分页显示所有考生姓名、性别、工作单位、报名类别等信息的功能。

该模块有两个JavaBean,分别描述考生信息和信息。视图部分由JSP页面构成,一个页面选择浏览方式,另两个页面分别显示单个考生信息和全部信息。

<% if (request.getParameter("findObject")!=null){

if (request.getParameter("findObject").equals("benCiJiBieId")){

//DBConnect conn = null;

Connection conn = null;

ResultSet rs1 = null;

//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance

();

//String url ="jdbc:sqlserver://localhost:1433;DatabaseName=rkbm";

//String user="sa";

//String password="heliu";

//Connection conn = DriverManager.getConnection(url,user,password); //Statement stmt1=conn.createStatement(); rs1 = stmt.executeQuery(sql);

while(rs1.next()){

out.print("<option value='"+rs1.getString("BenCiJiBieId")+"'>"+rs

1.getString

("JiBie")+"</option>");

} out.print("<lect>");

} catch (Exception e){

}

finally{

try{

if (rs1!= null)

rs1.close();

第 页 共 23 页 14

长江职业学院工学院 if (conn!= null)

conn.close();

}

catch (Exception e){e.printStackTrace();

}

}

}

if (request.getParameter("findObject").equals("kaoDianId")){

DBConnect conn = null;

Connection conn = null;

ResultSet rs = null;

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance

();

String url ="jdbc:sqlserver:localhost:1433;DatabaseName=rkbm";

String user="sa";

String password="heliu";

Connection conn = DriverManager.getConnection(url,user,password); conn=Conn.Conn_DB();

Statement stmt2=conn.createStatement();

try{

out.print("<select name='kaoDianId' >");

out.print("<OPTION selected>"+"请选择考点"+"</OPTION>");

String sql = null;

if (request.getParameter("initValue").equals("")){

sql = "select * from RK_JiBieKaoDian";

}else{

sql = "select * from RK_JiBieKaoDian where BenCiJiBieId like '"+request.getParameter("initValue")+"%'"; }

conn = new DBConnect();

conn.setPstmt(sql);

第 页 共 23 页 15

长江职业学院工学院 rs = stmt2.executeQuery(sql);

while(rs.next()){

out.print("<option value='"+rs.getString("KaoDianId")+"'>"+rs.getString("KaoDian")

+"</option>");

} out.print("<lect>");

}

catch (Exception e){

}

finally{

try{

if (rs!= null)

rs.close();

if (conn!= null)

conn.close();

}

catch (Exception e){

e.printStackTrace();

}

}

} return;

}

%>

Main.js 创建findObject类型:

function findObject(fName,initValue)

{var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

xmlhttp.open("POST","rk_regedit.jsp?findObject="+fName+"&initValue="+initValue,false);//注意修改jsp页面

xmlhttp.send();

document.getElementById(fName).innerHTML=bytes2BSTR(xmlhttp.responsebody

第 页 共 23 页 16

长江职业学院工学院 ); //bytes2BSTR函数在bytetostr.js中 bytetostr.js为字符处理JS

}

<script language="javascript">

/script>

4.4考生修改报名信息

在考生的基本信息中,邮箱是必填项,其作用就是及时通知考生有关考生的报考状态,及考试动态。考生可通过自己的报考编号及密码随时在网上查看自己的报考状态。只有在考生的信息通过工作人员验证后,才可以在网上看到有关报考交费的信息。如:本所的地址及邮局开户账号。考生通过邮寄把报考费汇到软考办。在收到汇款后,工作人员将会做相应的标记,系统自动发出确认信函到考生邮箱。到这,考生的报名工作就告一段落,待系统生成准考证时,将以邮件形式通知

<%@ page contentType="text/html; charset=gb2312" %>

<%@ page session="true" %>

<%

String adminid = (String)session.getAttribute("adminid");//从session中获得用户名

if ( adminid == null || adminid.equals("") ){

response.sendRedirect("login.jsp?msg=nologin");

}

%>

<%@ page import="org.pan.web.admin.Admin"%>

<jsp:useBean id="adminmn" scope="page" class="org.pan.web.adminmn" />

<%

String mesg = "";

String submit = (String)request.getParameter("submit");

if (submit!=null && !submit.equals("")){

if(adminmn.update(request)){ //调用update进行更新

第 页 共 23 页 17

长江职业学院工学院 mesg = "用户资料修改成功!";

}else {

mesg = "对不起,你提交的参数有错误!" + adminmn.getMessage();;

}

}

%>

<html>

<head>

<title>修改管理员个人信息</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<script language="javascript">

function checkform() {

if (document.form1.adminid.value==""){

alert("用户名不能为空");

document.form1.adminid.focus();

return false;

}

if (document.form1.passwd.value==""){

alert("用户密码不能为空");

document.form1.passwd.focus();

return false;

}

if (document.form1.passwd.value!=document.form1.passconfirm.value){

alert("确认密码不相符!");

document.form1.passconfirm.focus();

return false;

}

return true;

}

</script>

第 页 共 23 页 18

长江职业学院工学院 </head>

<body bgcolor="#BAD9FA" text="#000000">

<div align="center"><br>

<table width="750" border="0" cellspacing="1" cellpadding="1">

<tr valign="top">

<td width="186" align="center">

<table width="100%" border="0" cellspacing="1" cellpadding="1">

<tr>

<td colspan="2"><a href="admininfo.jsp"></a><a href="modimy.jsp"></a></td> </tr>

</table>

<p>&nbsp;</p>

</td>

<td align="center"> <br>修改我的个人信息<br>

<% if (!mesg.equals("")){

out.println("<br><font color=red>"+ mesg +"</font><br><br>");

} else {

%>

<FORM name="form1" METHOD=POST ACTION="modimy.jsp">

<table width="95%" border="1" cellspacing="1" cellpadding="1" bordercolor="#2DAE2D">

<tr><td align=right width=100>考生姓名</td>

<td><%= adminmn.getAdminID() %>

<input type="hidden" name=adminid" maxlength="20" size="14" value="<%= adminmn.getAdminID() %>" ></td></tr>

<tr><td align=right width=100>登录密码</td>

<td><input type="password" name="passwd" maxlength="20" size="14" value="<%= adminmn.getPassWord() %>" ></td></tr>

<tr><td align=right width=100>确认密码</td>

<td><input type="password" name="passconfirm" maxlength="20" size="14"

第 页 共 23 页 19

长江职业学院工学院 value="<%= adminmn.getPassWord() %>" ></td></tr>

<tr><td align=right width=100>身份证号</td>

<td> <input type="text" name="adminname" maxlength="20" size="14" value="<%= adminmn.getAdminName() %>" ></td></tr>

<tr><td align=right width=100>性别</td>

<td><select name="sex">

<option <% if (adminmn.getSex().equals("男")) out.print("selected"); %> >男</option>

<option <% if (adminmn.getSex().equals("女")) out.print("selected"); %> >女</option>

</select>

</td></tr>

<tr><td align=right width=100>单位地址</td>

<td><input type="text" name="address" maxlength="150" size="40" value="<%= adminmn.getAddress() %>" ></td></tr>

<tr><td align=right width=100>联系电话</td>

<td><input type="text" name="phone" maxlength="25" size="16" value="<%= adminmn.getPhone() %>" ></td></tr>

<tr><td align=right width=100>报考类别</td>

<td><input type="text" name="post" maxlength="8" size="8" value="<%= adminmn.getPost() %>" ></td></tr>

<tr><td align=right width=100>电子邮件</td>

<td><input type="text" name="email" maxlength="50" size="25" value="<%= adminmn.getEmail() %>" ></td></tr>

<tr><td align=right width=100>&nbsp;</td>

< <INPUT TYPE="reset" name="reset" value="取消"></td></tr>

</FORM>

Statement stmt2=conn.createStatement();

try{

第 页 共 23 页 20

长江职业学院工学院 out.print("<select name='kaoDianId' >");

if(request.getParameter("initValue").equals("")){

sql = "select * from RK_JiBieKaoDian";

}else{

sql = "select * from RK_JiBieKaoDian where BenCiJiBieId while(rs.next()){ value='"+rs.getString("KaoDianId")+"'>"+rs.getString("

KaoDian"

+"</option>");

} out.print("</select>");

}

</table>

第五章 总结

经过了两个多月的学习和努力,终于完成了论文。从开始接到论文题目系统的实现,再到论文文章的完成,每走一步都是新的尝试与挑战,这也是大学期间独立完成的最大的项目。从对jsp不太会了解,到开始独立的学习和实验,查看相关的资料和书籍,让自己头脑中的概念逐渐清晰,使自己非常稚嫩的作品一步步完善起来,每一次改进都是学习的收获,每一次实验的成功都会让自己兴奋好一段时间。

这次论文的经历也会使自己终身受益,感受到论文是要真正用心去做的一件事情,是真正学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。希望这次的经历能激励自己在以后的学习工作中继续进步。

致谢

感谢我的导师贾家新老师,他严谨细致、一丝不苟的作风一直是我学习工作中的

榜样:他徐徐善诱的教导和不拘一格的教学方式给予我无尽的启迪。

第 页 共 23 页 21

长江职业学院工学院 感谢我的同学们,是他们在做遇到技术困难时给予我鼓励和帮助,使我能够顺利的完成此次毕业设计。在论文完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给予我不言的帮助,在这里请接收我真诚的谢意!

参考资料

[1] 邓子云,张赐.JSP网络编程 [M].北京:电子工业出版社,2005. [2] 向学哲. JSP程序设计教程 [M].北京:人民邮电出版社,2006.

[3] 崔巍.数据库系统及应用 [M].北京: 高等教育出版社,2005.

[4] 刘中兵,李伯华. JSP数据库项目案例导航 [M].北京:清华大学出版社,2006.

[5] 卢银娟. JSP网络开发技术 [M].北京:人民邮电出版社,2005.

[6] 魏茂军,张文建.JSP案例开发 [M].北京:中国水利水电出版社,2005.

第 页 共 23 页 22

相关推荐