基于JSP 网上报名系统的设计与实现Word格式文档下载.docx
- 文档编号:16937831
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:17
- 大小:1.31MB
基于JSP 网上报名系统的设计与实现Word格式文档下载.docx
《基于JSP 网上报名系统的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于JSP 网上报名系统的设计与实现Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
✧为了解决考生交费问题,系统采用网上交费模式,考生通过网上银行进行交费,即方便了考生,也有助于管理与查收。
第二章系统设计
该系统是集职称外语考试网上报名和成绩管理与一体的网上报名系统。
将网上报名与成绩管理于一体,不仅便于数据库的管理,而且对用户的管理也很方便。
2.1系统总体结构设计
平台以Web服务器Tomcat和数据库软件为支撑,为在平台之上建立的站点提供考生信息管理,成绩管理以及在线问答等功能,各级站点为考生和管理者员供信息浏览和管理服务。
如图系统结构示意图3-1所示:
图2-1系统总体结构示意图
2.2系统模块结构设计
该系统的功能,可以基本被分解为以下几个方面:
✧考生要想进行网上报名,首先要进行注册,填写个人信息,存放到数据库中,方便以后登录。
✧考生可以随时更改用户名和密码,可以进行网上报名,网上交费,查看自己的考试成绩,有问题可以进行在线提问。
✧在系统里系统管理员可以对考生进行操作:
考生的添加、删除。
为了方便系统管理员对考生信息的管理,在系统里系统管理员可以对考生信息进行操作:
查看信息,修改信息,删除考生信息。
在系统里,系统也提供对成绩管理功能,管理员可以网上录入成绩,按照任何组合查询考生成绩,修改成绩,生成成绩报表,在线回答问题等功能。
据分析,系统可以分为客户端和管理员端,客户端分为。
如图3-3系统总体模块图所示:
图2-2系统总体模块图
2.3数据库设计
数据库技术是信息资源管理最有效的手段。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及应用系统,有效存储数据,满足用户的信息要求和处理要求。
数据库结构设计的好坏将直接对应系统的效率及实现的效果产生影响。
合理的数据库结构设计可以提高数据库存储的效率,保证数据的完整性和一致性。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现在和将来的可能增加的需求。
2.3.1数据库概念结构设计
根据前面章节对需求的分析,可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
根据上面的分析可以规划出的实体有:
准考证,考生,成绩,考场,银行,问答。
实体之间关系的E-R图,如图实体之间关系图所示:
图2-3考生-准考证E-R图
图2-4考生-成绩E-R图
2.3.2数据库逻辑结构设计
数据库的概念设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。
职称外语考试网上报名及成绩管理系统开发系统的数据库中的主要表的设计结果如下面的表格所示。
每个表格在数据库中的一个表。
(1)考生表:
姓名、性别、年龄、照片、学历、单位、身份证号、报考类别报考地区。
表2-1考生表
名称
说明
属性
Id
唯一的编号,主键
Varchar2
Name
考生姓名
Password
密码
Sex
性别
Age
年龄
Image
考生照片
Degree
考生学历
Enterprise
考生的单位或学校
Language
报考的语种
City
报考的城市
(2)准考证:
考号、身份证号,考场号
表2-2准考证表
含义
Sid
唯一编号,主键
考生身份证号
Numbers
考场号
(3)成绩表:
考号、姓名、外语语种、成绩
表2-3成绩表
含义
考号,唯一编号,主键
考生姓名
Language
报考语种
Score
考生成绩
(4)考场:
考场号考场地址考试时间
表2-4考场表
类型
考场号,唯一编号,主键
Address
考场地址
Time
考试时间
(5)银行表:
银行名,账号,密码
表2-5银行表
Bname
银行名
Account
账号,唯一编号,主键
文章讨论区
(6)问答表:
问答号、问题、回答
表2-6问答表
Question
问题
Answer
答案
第三章系统的实现
本人的主要工作是建立职称外语考试网上报名及成绩管理系统,实现考生注册和网上报名,将数据上传到数据库,也可以从数据库中查询考生成绩,进行在线问答。
管理员可以从数据库中读取考生信息进行添加,修改,删除。
可以在线录取考生成绩,修改成绩,以各种组合查询成绩,同时对考生提出的问题进行回答等功能。
本章主要讲述该系统模块的实现的功能以及实现的方法。
3.1登录模块
以下均使用MVC模式
在职称外语考试网上报名及成绩管理系统中,有两类用户:
考生和管理员,如图3—2是考生登录流程图:
输入用户名和密码,单击"
登录"
按钮后,系统要对输入的内容进行验证。
通过UserLogin.jsp调用UserLoginServlet.java,UserLoginServlet.java
在调用UserLogin.java实现登录。
语句如下:
UserLogin.jsp中:
跳转:
<
formaction="
/EnglishOnline/UserLoginServlet"
method="
post"
>
UserLoginServlet.java中:
调用JavaBean:
Stringresult=newBean.UserLogin().select(user);
UserLogin.java中:
查询并比较是否匹配:
Stringsql="
select*fromuserswhereusername='
"
+name+"
'
;
if(name.equals(rs.getString
(1))&
&
pass.equals(rs.getString
(2)))
{
return"
true"
}
else
return"
false"
3.2网上报名模块
网上报名当学生成功登录到本系统后可以进行网上报名,点击网上报名,进入网上报名,学生填写自己的信息,如姓名,性别,年龄,语种,学历等信息,点击提交就可以将自己的信息提交到数据库中。
如图3—3是考生网上报名流程图:
学生
信息
重新
填写学生
否信息
信息
图3—3考生报名流程
图3—4考生报名接口图
在这个模块中学生填写自己的信息,在EnterOnline.java这个JavaBean中有成员变量存放学生信息,当考生输入自己的信息时就会将参数传给UserEnterOnline.java这个Servlet,UserEnterOnline.java这个Servlet调用EnterOnline.java里面的insert方法将信息插入到数据库中,如果插入成功返回true如果插入失败返回false,然后UserEnterOnline.java这个Servlet中判断如果返回true就跳到UserRegisterSuccess.jsp成功页面,如果返回false跳到UserLoginError.jsp失败页面。
主要代码为:
EnterOnline.jsp中:
跳转到Servlet中:
<
/EnglishOnline/UserEnterOnline"
UserEnterOnline.java中:
取数据:
Stringname=newString(request.getParameter("
username"
).getBytes("
ISO8859-1"
),"
GB2312"
);
Stringpassword=request.getParameter("
password"
Stringsex=newString(request.getParameter("
sex"
).getBytes("
ISO8859-1"
),"
存到JavaBean中:
Bean.EnterOnlineenter=newBean.EnterOnline();
enter.setUsername(name);
enter.setPassword(password);
调用insert(enter)方法:
Stringresult=newBean.EnterOnline().insert(enter);
返回值判断:
if(result.equals("
)){
response.sendRedirect("
UserRegisterSuccess.jsp"
elseresponse.sendRedirect("
UserLoginError.jsp"
EnterOnline.java中:
插入数据:
Stringsql="
INSERTINTOstudentVALUES(?
?
)"
Statementst=conn.createStatement();
PreparedStatementps=conn.prepareStatement(sql);
ps.setString(1,enter.getUsername());
ps.setString(2,enter.getPassword());
3.3网上交费模块
考生报考完毕后考生要在指定日期进行网上交费,交完费后会返回给学生准考证信息。
如果填写信息不正确,会提示考生。
如图3—5是考生网上交费的接口图:
如图3—5考生网上交费的接口图
如图3—6返回考生准考证
如图3—7是考生网上交费的流程图:
3—7考生网上交费的流程图
UserFeeOnline.jsp将考生交费是提交上来的数据提交给UserFeeOnline.java的Servlet,在UserFeeOnline.java中先调用Stringresult=newBean.FeeOnline().feein(fee);
通过JavaBean中的feein(fee)函数来判断交费是否成功,如果交费成功再调用Bean.UserMessagemessage=newBean.UserMessage();
message.message1(userid);
调用UserMessage()中的.message1(userid)将考生信息会回到页面上,主要代码:
UserFeeOnline.java中:
Stringuserid=request.getParameter("
userid"
Stringmoney=request.getParameter("
money"
存到fee这个对象中:
fee.setUserid(userid);
fee.setMoney(money);
调用:
Bean.FeeOnlinefee=newBean.FeeOnline();
Stringresult=newBean.FeeOnline().feein(fee);
返回值为true时:
Bean.UserMessagemessage=newBean.UserMessage();
并将值存到request中并调用UserMessage.jsp:
request.setAttribute("
message.getSex());
age"
message.getAge());
request.getRequestDispatcher("
UserMessage.jsp"
).forward(request,response);
FeeOnline.java中:
略
3.4信息修改模块
如果学生信息有错误管理员可以在后台修改学生信息,点击修改信息就返回了所有学生信息返回,想修改哪个学生的信息,就点击那个学生后面的修改,就可以进行修改了,修改完毕提交完了显示学生信息,如下图3-8为修改信息接口图:
图3-8修改信息接口图
当管理员要修改学生信息时会调用AdminAlterMessage.jsp,它中的ArrayListal=newArrayList();
al=newEnterOnline().showStudent();
这两句话会直接调用EnterOnline.java这个Javabean中的showStudent()方法,并且在这个页面上返回查询的值并输出,当管理员点击修改时就会以doget的形势调用AdminUpdateMessage.java,他会通过Bean.EnterOnlinestudent=newBean.EnterOnline().showStudent(id);
调用showStudent(id)方法将要修改的学生信息返回到AdminUpdateMessage.jsp中,然后管理员进行修改,当修改完毕在提交AdminUpdate.java中,在AdminUpdate.java中调用EnterOnline.java
中修改学生信息的函数student.updateStudent(request,id);
修改信息,将修改后的信息返回到AdminAlterMessage.jsp中,修改工作就完成了。
主要代码:
AdminAlterMessage.jsp中:
返回所有学生信息:
ArrayListal=newArrayList();
al=newEnterOnline().showStudent();
调用AdminUpdateMessage:
tdbgcolor="
#E6E0B3"
witdh="
10%"
ahref="
AdminUpdateMessage?
id=<
%=student.getUserid()%>
修改<
/a>
/td>
AdminUpdateMessage.java中:
调用showStudent(id),将返回值放到session中:
Bean.EnterOnlinestudent=newBean.EnterOnline().showStudent(id);
session.setAttribute("
student"
student);
AdminUpdateMessage.jsp"
AdminUpdate.java中:
调用updateStudent(request,id)方法将值返回到AdminAlterMessage.jsp:
Bean.EnterOnlinestudent=newBean.EnterOnline();
student.updateStudent(request,id);
AdminAlterMessage.jsp"
EnterOnline.java中:
包含以下方法publicStringinsert(EnterOnlineenter)
publicArrayListshowStudent()
publicEnterOnlineshowStudent(Stringid)
publicvoidupdateStudent(HttpServletRequestrequest,Stringid)
第四章结论
4.1课程设计工作总结
半个月的企业级应用软件课程设计课程设计结束了,在这半个月的时间里从盲目到有了目标,从感觉时间很多到忙得不可开交,经历了很多转折点。
第一天选择题目,开始觉得所有的题目觉得都挺简单的,但是后来仔细研究了每个题目觉得每个题目都有他深刻的含义,和难点,听着老师在前面讲述做课程设计的整体思路,当时头都大了,可能是以前从来都没接触过这样的题目,再加上老师说的那么严肃,好象很不容易做,当时就想这可怎么办呀,自己平时上课也很认真听呀,怎么跟上课不一样呢?
后来知道一些同学也选了研究生这道题就决定和他们一起讨论,人多力量大嘛,接下来的几天还算顺利,需求分析,E-R图和表很快就制定好了。
当时觉得原来也不难也很好做。
接下来就开始了编程阶段,觉得自己JAVA图形界面学的好不错,决定做个漂亮的界面,但是当我看到别人漂亮的界面时觉得原来还自以为是其实已经背别人落在后面了。
但是还安慰自己这是数据库课程设计不是JAVA课程设计,只要我把数据库后台做的好一样能行。
时间过得真快2周时间快过去了,我也开始了连数据库的过程,可是机房这些机器好象在跟我作对,怎么也连不上,后来在同学的帮助下终于连上了,当时我真是开心死了。
有一种很大的成就感。
两周过去了,我还有很多功能没有实现,于是决定要全天在机房奋斗,跟同学说好以后一个星期每天都去机房知道完成为止。
接下来这个星期才是最考验我的时候,也是这次作课程设计最有意义的一个星期,最磨练意志的一个星期。
在这一个星期里,曾经绝望过,想过要放弃,也曾开心过,决定一定要坚持下去。
前两次做课程设计也遇到过各种困难,但是都没有这次难。
直到周四我还没有完成所有的功能,还好老师很宽容,决定周六验收,在这里我真的要好好感谢王老师。
正是您和其他老师放弃休息时间换来我宝贵的一天,也让我重新找回了信心,周五下午终于完成了所有工作,当时真实高兴的要跳起来了,看见自己做的到目前为止最大的一项工程,真是无比开心。
程序设计结束了,在这次程序设计中学到了太多太多的东西,有些是在课本中学到的,有些是在课本中学不到了,比如说信心,耐心,决心。
宋老师曾经跟我们说过学软件一定要有耐心,要坐的住冷板凳,现在终于体会到了。
以后无论是做一个小的实验还是一个大的工程都要认真用心去做,还要有耐心,这次我就是因为缺乏信心和耐心差点放弃,还好最后坚持下来了。
这也是一项不小的收获呀。
作课程设计也是一个学习的过程,结果重要,但是过程更重要,因为我们不是只做这一次,我们要学会这个过程,体会其中的深刻内涵。
在作课程设计的过程中知道自己还有那些不足,哪方面需要重点学习。
通过这次课程设计,不仅巩固了以前学的JAVA和数据库知识还学会了用存储过程,我由不了解存储过程,到会使用存储过程,我觉得这就是一次成长,自己研究过的东西记忆会更深刻,可以永远都不会忘记。
对大三学数据库理论更有信心啦。
4.2进一步的工作
由于时间关系,开发工作以发布新闻信息为主,因此系统还存在不足,需要进一步改进和完善。
本系统存在不足和改进方向:
对系统的搜索功能实现的不是很完美,上传功能不是很强,对于javaBean的使用不是很熟练,某些采取的方法不是很科学。
在以后的编程日子,会进行改进。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于JSP 网上报名系统的设计与实现 基于 JSP 网上 报名 系统 设计 实现