基于JSPServlet技术的网上选课系统的设计及实现.pdf

上传人:wj 文档编号:3437788 上传时间:2023-05-05 格式:PDF 页数:4 大小:354.68KB
下载 相关 举报
基于JSPServlet技术的网上选课系统的设计及实现.pdf_第1页
第1页 / 共4页
基于JSPServlet技术的网上选课系统的设计及实现.pdf_第2页
第2页 / 共4页
基于JSPServlet技术的网上选课系统的设计及实现.pdf_第3页
第3页 / 共4页
基于JSPServlet技术的网上选课系统的设计及实现.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于JSPServlet技术的网上选课系统的设计及实现.pdf

《基于JSPServlet技术的网上选课系统的设计及实现.pdf》由会员分享,可在线阅读,更多相关《基于JSPServlet技术的网上选课系统的设计及实现.pdf(4页珍藏版)》请在冰点文库上搜索。

基于JSPServlet技术的网上选课系统的设计及实现.pdf

涪陵师范学院学报JournalofFulingTeachersCollege第21卷第5期Vol.21No.52005年9月Sep.2005基于JSP/Servlet技术的网上选课系统的设计及实现李献礼,范会联(涪陵师范学院教育技术与信息中心,重庆408003)I摘要JSP和。

ervlet是实现数据库系统WEB化的一个重要技术。

本文介绍了JSP/Servlet技术在基于Web的选课系统中的应用,并分析MVC架构中包含的几种主要模式,论述了基于JSP/ServIet的网上选课的设计方法和关健技术。

关键词IJSP;Servlet;设计模式;网上选课中图分类号TP311.52文献标识码A文章编号1672一366X(2005)05-0107一041引言WWW的出现为Internet上的信息传递建立了一个良好的结构框架,JSP,Servlet技术为基于Web的信息系统的实现提供了新的技术支持,促进了Web技术在工作流管理、电子商务、远程教育等各方面应用的发展。

通过集成Web服务器的信息服务功能和数据库系统的数据管理功能的信息系统,使得用户能够在网上的任一终端、以一种简单、统一的方式来访问数据库信息。

JSP/Servlet作为J2EE的重要组成部分,给设计者带来一种全新的Web设计理念。

它将软件设计和Web设计融为一体。

与ASP技术相比,JSP/Servlet具有速度快、安全性好、功能强、易扩展、易维护等特点,迅速成为开发Web项目的有力工具。

我们采用JSP/Servlet技术,开发了一个网上选课系统。

在实际应用中收到良好效果。

本文论述了该系统的设计方法和关键技术。

2系统的三层体系结构2.1三层体系结构选课系统建立在Browser/WebServer/DatabaseServer三层结构基础上,通过三层体系实现数据的更新、维护和管理。

如1图所示,三层结构的B/S系统的工作原理一般可以归纳为如下几步:

(1)客户端提出URL请求;

(2)服务器接到请求,解析后向应用服务器发出调用请求;(3)应用服务器解析文件中的脚本,通过接口向数图1基于JSP/Servlet的三层体系结构图据库提取符合条件的数据,生成HTML代码;(4)将生成的网页送到客户端浏览器,供客户端操作;(5)用户的操作通过带有操作参数的URL传给服务器,程序回到步骤2循环操作。

三层体系结构在设计网页时,把页面的表现和页面的程序逻辑代码分离,前端是页面的具体表现,中间是页面的程序逻辑,后面为数据库服务器,这样可以有效地保护程序代码的安全,同时方便了系统的扩展、维护。

2.2三层体系结构的实现MVC设计模式MVC最初是在Smalltalk一80中被用来构建用户界面的。

M代表模型Model,V代表视图View,C代表控制器Controller.MVC的目的是增加代码的重用率,减少数据表达,数据描述和应用操作的祸合度。

同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性大大提高。

MVC设计模式由三部分组成。

模型是应用对象,t收稿日期12005一04一24作者简介李故礼(1960-).男.四川长宁人,涪咬师范学院教育技术与信息中心剐教授,主要从事非线性电路研究。

口涪陵师范学院学报视图表示它在屏幕上的显示,代表流向用户的数据。

控制器定义用户界面对用户输入的响应方式,负责把用户的动作转成针对Model的操作。

Model通过更新View的数据来反映数据的变化。

网上选课的MVC架构如图2:

View代表系统的显示,它完全存在于Web层。

由状态查询Model卜1、表示事物对象的类(如课程类、学生类、教师类等)修改状态修改通知2、应用容器类,事物对象驻留在应用容器类中,操作数据的方法封装在里面(如查询、修改数据、用户验证等操作),View表示针对用户的数据,维护与Model数据的一致性,由一组JSP页面完成。

选择视图用户动作Controller把用户输人翻译为系统事件,依据用户输人对模型进行操作并选择下一视图,由servlet管理图2选课系统的MVC架构图JSP,JavaBean组成。

JSP可以动态生成网页内容。

JavaBean用来控制JSP和Model对象。

JSP通过JavaBean来读取Model对象中的数据,Model和Controller对象则负责对JavaBean的数据更新。

Model表示企业数据和业务规则。

在MVC的三个部件中,模型拥有最多的处理任务。

被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。

由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

Controller接受用户的输人并调用模型和视图去完成用户的需求。

所以当单击Web页面中的超链接或发送HTML表单时,控制器本身不输出任何东西和做任何处理,它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。

3网上选课系统的设计3.1总体设计系统采用JSP/Servlet技术,后台数据库采用SQLServer2000,Resin作应用服务器。

整个系统的软件结构见图3。

系统根据功能分为用户(学生、教师)管理、课程管理、选课管理、成绩管理、网上调查几个功能模块。

用户管理完成对使用选课系统的用户进行管理,包括:

用户注册,身份验证等功能。

课程管理完成对所开设的课程进行管理,包括增减、修改、查看课程等功能。

选课管理负责控制每个学生对课程的选择,包括查询可选课程、选择课程、重选课程等功能。

成绩管理用于管理学生的平时成绩和期末成绩,对学生的学习情况进行评价。

网上调查用于收集学生对所开设课程及教学的反馈意见。

图3系统功能模块划分3.2功能设计选课系统以让学生自主选择合适的教师、课程、上课时间为目的,同时增加任课教师对所上课程学生的成绩管理功能:

(1)学生功能:

在规定时间内自主选择教师、课程、上课时间;在规定时间内修改所选课程;查询自己的成绩。

(2)任课教师功能:

教师个人资料维护;所任课程的学生成绩管理。

(3)管理员功能:

课程管理(新增、修改、删除);学生管理(新增、修改、删除);成绩管理(录人、修改、删除);设置选课终止时间;选课结果调整(整门课程选课学生调整、部份学生调整);打印选课结果报表。

(4)网上调查:

调查问题的管理;第21卷第5期李献礼等:

基于JSP/Servlet技术的网上选课系统的设计及实现口109针对每个个调查问题的统计和评论。

4关键技术4.1用Servlet实现控制功能及Command模式封装用户行为Servlet是请求驱动,非常适合于请求一响应模式,当Web容器接收到一个对Servlet的请求时,它把收到的数据封装在ServletRequest对象(对常把它视作请求对象)中,并把该对象作为一个参数传递给Servlet的服务方法。

然后,Servlet就可以使用ServletRequest接口中可用的方法来查询请求的对象。

HttpServlet类扩展了GenericServlet类,添加了帮助处理HTTP请求的方法,常用的处理程序方法是:

doGet:

处理HTTPGET(接收)请求doPost:

处理HTTPPOST(发送)请求为了保证健壮性、可维护性,系统采用Command设计模式,将命令/请求封装在一个类中,然后调用者再对这个类进行操作,这样就在这视图和具体控制行为之间增加一个中间者,将两者之间原本的直接关系拗断,同时两者之间都隔离,基本没有关系了。

显然这样做的好处是符合封装的特性,降低祸合度。

4.2用JSP构成视图及CompositeView模式管理视图JSP由嵌人到结构化文档(如:

HTML或XML)中的Java代码组成。

其思路是将标记语言用于显示的静态部分,而用嵌入到页面中的特殊标记标识动态内容。

MVC架构的一个重要特征就是视图可以嵌套,用父视图累积子视图,使总体视图成为各个小图的合成视图,同时,嵌套的组合视图可用于任何视图可用的地方,而且可以管理嵌套视图。

这种设计思想在面向对象领域内被描述成为CompositeView(复合视图)设计模式。

4.3模型类的创建及Observe:

模式的应用模型类代表了应用数据和操作这些数据的方法,拥有最多的处理任务。

选课系统的模型类由2种类的集合组成:

一是表示事物对象的类,与数据库中的表大致对应(如学生、课程类等),二是应用容器类,事物对象驻留在应用容器类中,操作对象的方法(如查询、修改数据等操作)封装在里面。

MVC架构分离了模型和视图,视图要保证显示结果能正确地反映出Model的内容和状态。

本系统采用Observe:

的设计模式,通过定义对象间的一对多的依赖关系,当一个对象的值或状态发生改变时,所有与它有依赖关系的对象都得到通知并自动更新。

比如,当某门课程的选课人数发生变化时,所有视图中关于该门课程的已选人数都会自动做相应调整。

4.4用InterceptingFilter模式管理会话系统使用InterceptingFilter(截获过滤)设计模式来保证会话的创建和验证,目的是在进人控制器代码之前先创建好会话和验证逻辑,Intercept-ingFilter设计模式可Vj截获请求和对其采用一组过滤,然后退回请求或让其传递至所要目标。

Servlet2.3API提供了现成的InterceptingFilter设计模式实现。

最后在系统的web.xml描述项中声明过滤,将它附加到欲访问的页面上,从而实现用户会话管理。

ValidationFilterflsy.ValidationFilter/filter一filter一mappingfilter一nameValidationFilter/*4.5用数据库连接池提高访问效率JDBC(JavaDataBaseConnectivity)是Java应用程序和数据库沟通的桥梁,具有使用简单、易于编写等优点。

但也有其局限性,如访问速度慢,存在连接时的效率下降、耗时多的缺陷,因此本系统采用连接池技术,极大的提高数据库的访问效率。

具体方法是:

首先,在Resin应用服务器的resin.conf文件配置jdbc/xk连接池:

jdbc/xkjavax.sql.DataSource其次,使用以下方法获取连接池对象:

ContextinitCtx=newInitialContext);Contextctx二(Context)initCtx.lookup(java:

comp/env);/获取连接池对象Objectobj=(Object)ctx.lookup(jdbc/xk);/类型转换110口涪陵师范学院学报DataSourceds=(javax.sql.DataSource)obj;以此关键字重构该对象。

以构造所有课程的分页显示最后,调用getConnetcion()获取一个可用连接:

为例:

Connectionconn=ds.getConnection();PageP=newPage(Course.Courseltems);4.6使用存储过程降低网络通信量及提高执行速Iteratorcourseltem=P.listpage(iCurrent,20);度while(courseItem.hasNext)存储过程只被发送到数据库一次,相对于SQL语course=newCourse(courseltem.next);句而言,其网络通信量更小,当调用存储过程时,数据库会直接运行该存储过程,无需进行编译,相对于SQL5结束语语句而言,其执行速度更快。

因此学生的选课操作交由以上对基于JSP/Servlet的网上选课系统的设计存储过程来控制和完成。

在Java中,一个存储过程对进行了探讨,并论述了基本架构和部分关键技术。

利用象(CallableStatement对象)提供了访问所有关系数据善于处理业务逻辑的Servlet和处理用户界面的JSP页库的存储的方法,对选课存储过程的调用如下:

面、采用MVC控制模式开发Web项目,改变了传统的CallableStatementstmt=con-A.prepareCall(call开发方式,无论从开发的效率、质量,还是灵活性、可用xs,lck(?

?

?

);性来说,较之传统的应用开发具备明显优势。

stmt.setString(1,kcbh);stmt.setString(2,jkcbh);参考文献stmt.setString(3,xuehao);stmt.executeUpdate();川阎宏.Java与模式M.北京:

电子工业出版社,4.7将分页显示数据封装为一个通用类2002.在Web程序中分页会被频繁使用,但分页的实现【2【美PhilHanna.JSP技术大全【M.北京:

机械工业细节却是编程过程中比较麻烦的事情。

大多分页显示出版社,2002.的查询操作都同时需要处理复杂的多重查询条件,sql3【美CraigA.BerryJohnCarnell等实用J2EE设计语句需要动态拼接组成,再加上分页需要的记录定位、模式编程指南【M.北京:

电子工业出版社,加03.总记录条数查询以及查询结果的遍历、封装和显示,程4美JosephJ.BambaraPaulR.Allen等J2EE技序会变得很复杂并且难以理解,因此,在本系统采取把术内幕M.北京:

机械工业出版社,2002.查询操作和分页操作分别处理,创建一个专用于分页5Falkner.JWrox:

JSPWeb编程指南M.北京:

电处理的Page类,需要分页显示的查询结果以Object子工业出版社,2002.类型为参数构造一个Page类型的实例,然后调用Page6美StevenJohnMetsker设计模式JAVA手C影印的相关方法实现分页。

需要注意的是Object中的对版)M.北京:

中国电力出版社,2004.象仅是要查询记录的关键字,因此,在分页显示时,要责任编辑:

雪豹TheDesignandImplementationofCourseSelectingSystemontheBasisofJSP/ServletTechnologyLIMan一Ii,FANHui一lian(EducationalTechnologyandInformationCenter,FulingTeachersCollege,Chongqing408003,China)Abstract:

JSPandServletisanimportanttechnologyofbuildingdatabasedrivenweb一basedapplications.ThispaperintroducestheapplicationofJSP/Servletinweb一basedcourseselectingsystem,analyzesthemaindesignpatternsunderMVCarchitechture.ThedesignedmethodandkeytechnologyofcourseselectingsystembasedonJSP/Servletarealsodiscussed.Keywords:

JSP;Servlet;designingmode;courseselectingonthenetwork

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2