jsp课程设计 6.docx
《jsp课程设计 6.docx》由会员分享,可在线阅读,更多相关《jsp课程设计 6.docx(20页珍藏版)》请在冰豆网上搜索。
![jsp课程设计 6.docx](https://file1.bdocx.com/fileroot1/2023-2/4/5e0cb2be-2ca3-4b7f-9a57-0dc64228e4cc/5e0cb2be-2ca3-4b7f-9a57-0dc64228e4cc1.gif)
jsp课程设计6
辽宁工业大学
动态网页设计课程设计(论文)
题目:
校园教学资源共享与师生交互平台
院(系):
软件学院
指导教师:
教师职称:
助教
起止时间:
2012.12.4至2012.12.18
程序设计专题(报告)任务及评语
院(系):
软件学院教研室:
软件教研室
学号
程序设计(报告)题目
程序设计(报告)任务
程序设计专题的任务与要求:
(1)掌握JSP编程、面向对象的基础知识。
(2)较熟练地编写基于JSP技术的动态网页。
(3)了解JSP的内置对象、Bean、Servlet编程等编程技术。
(4)联系已学过的内容,巩固所学的理论,增强独立工作能力。
(5)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。
(6)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。
课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。
正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。
指导教师评语及成绩
成绩:
指导教师签字:
2012年12月24日
目录
第1章实训的目的与要求1
1.1实训设计目的1
1.2实训设计的实验环境1
1.3实训设计的预备知识1
1.4实训设计要求1
第2章实训设计内容2
2.1开发背景简述2
2.2系统设计内容2
2.3需求分析3
2.3.1系统逻辑设计3
2.3.2系统功能需求分析6
2.4系统实现9
2.4.1系统的详细设计9
2.4.2程序源代码11
2.5测试分析12
第3章实训总结13
参考资料14
第1章实训的目的与要求
1.1实训设计目的
《动态网页设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》及《动态网页设计》等课程后,进行的一次全面的综合训练,JSP动态网页设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
1.2实训设计的实验环境
硬件要求能运行Windows2000操作系统的微机系统。
JSP动态网页设计语言及相应的集成开发环境:
J2SDK和ECLIPSE开发工具及Tomcat服务器。
1.3实训设计的预备知识
熟悉JAVA语言及ECLIPSE开发工具、Tomcat服务器。
1.4实训设计要求
按JSP动态网页设计的设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JSP动态网页设计的基本技能和面向对象的概念和方法编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
第2章实训设计内容
2.1开发背景简述
随着学校信息化的不断发展和教学管理工作的日益完善,教学管理会越来越依赖信息系统的支持,所以本系统的开发尽量依据学校的实际需求,做到从实际出发,开发出具有一定使用价值的教学资源共享与交流的网站。
网站依托校园网的优势设计和开发网络教学平台,学生可以不受时间、空间、地域的限制,实现网上下载教学资源、浏览网站内容、查看教师博客信息、完成学习与交流的功能,教师也可借助此平台上传教学资源、进行问题讨论、编辑个人空间、回复学生留言,开设课程管理,课表查询,发布作业,批改作业,导出成绩等。
利用网站进行文件的传输以及师生的交流,进而构建一个校园教学资源文件共享系统,就像让文件插上了翅膀,我们能够随时充分合理的共享学校的教学资源,为学校的教育教学提供服务,为广大师生交流提供平台。
2.2系统设计内容
教学资源管理与师生交互平台主要利用MVC架构模式对系统进行分层,系统可分为三层:
数据访问层、业务逻辑层、UI表现层。
数据访问层主要对数据库的数据进行操作,包括增加数据、删除数据和修改数据。
业务逻辑层是基于数据访问层之上,它主要针对业务流程来实现系统的功能。
UI表现层把业务逻辑表现在Web页面上,已完成教学资源管理与师生交互平台所要实现的功能。
本系统具有基本的网络资源共享功能以及交互功能,其中包含了三类用户分别是管理员,教师和学生,这三类用户分别对应了不同的权限,其中最特殊的是教师用户,教师用户还可以成为交互平台板块的管理者,但是这个需要管理员在后台进行指定操作。
1.管理员主要承担了网站日常信息的维护与管理,其中包括了对个个板块的内容进行增加、删除和修改等操作,同时可以对用户信息进行维护和管理,并且为某个用户指定在网站中的特殊权限等。
管理员只能够登录后台系统不能够在前端页面进行登录如果需要在网页前端登录需要相应的用户。
2.教师主要是使用网站系统中的具体功能,其中包括发布教程,共享课件,回答学生的问题以及个人空间,在个人空间中可以开设课程和为某个课程添加学生。
同时可以为教师所教授的某个课程来发布作业和批改作业,并且提供学生成绩的导出功能。
在留言功能中教师可以给对应用户名的学生或者教师留言,这样做的目的是方便交流。
并且对于教师,管理员可以给教师另一个权限就是交互平台的管理权限,获得这个权限的教师可以将知道吧中的问题进行删除和修改。
3.学生主要是对教师和管理员所发布的信息进行查看和下载,在学生自己的个人空间中与教师不同的是学生可以查询和提交自己教师所发布的作业。
在知道吧中学生可以根据自己在学习过程中所遇到的问题向老师或者其他同学来提问,并且可以给回答的问题进行评价。
成功回答问题和获得评价的学生或者教师可以获得一定的积分,在学期结束后根据得分获得相应的奖励,这样做的目的是增加了师生之间互动的积极性。
综上所述,本系统已经解决了在日常学习生活中所遇到的教学资源不共享,教学资源冗余等问题,并且为学校提供了一个良好的交流互动平台。
使得校园的信息化资源得到充分的利用,为学习和工作提供便利的条件,减轻学生和老师的工作压力。
便于对教学资源的统一管理。
2.3需求分析
2.3.1系统逻辑设计
表2.1为数据库中所有表总汇包括各个表中的英文名称,中文名称及其功能
表2.1数据库表总汇
英文表名
中文表名
功能说明
admin
管理员表
存储管理员的基本信息
Know_answer
知道吧回复表
存储知道吧中问题的回复信息
Know_article
知道吧问题表
存储知道吧中问题的信息
Know_sortid
知道吧模块表
存储知道吧个个板块的信息
Know_step
知道吧级别表
存储知道吧中用户的级别信息
s_work
作业批改表
存储学生提交作业的批改情况以及分数
t_subject
课程班信息
用于存储课程班信息包括学生学号和教师号
t_work
作业表
用于存储作业信息
ts_article
文章信息表
用于存储网站中文章的信息
ts_news
留言信箱表
用于存储用户间所发送的留言信息
ts_sortid
网站版块表
用于存储网站中个个大版块的名称
ts_users
用户信息表
用于存储网站用户的个人信息
ts_log
网站日志表
用于存储网站中所有操作的信息
1.系统总体E-R图,管理员可以对版块、知道吧、教师、学生中的数据进行管理和维护。
在版块文章和版块之间的关系是文章属于哪个版块这里,文章中包括一个版块编号对应板块的名称。
在知道吧中也是这样问题属于知道吧中的某个分类,通过问题信息中的分类ID来制造两者之间的关系。
在教师教授课程中,课程班信息中通过教师编号来实现教师和课程班的对应关系。
教师可以通过课程班编号来给某个班级的学生布置作业而学生也是通过课程班编号来查看老师留的作业,而在提交作业信息中存在作业ID来实现作业,学生交的作业和作业之间的联系。
这样就可以将所有的实体建造练习从而完成系统中的相应操作。
总体E-R图,如图2.1
图2.1总体E-R图
2.用户表(ts_users):
存储用户的信息数据其中包括,用户名,密码,用户真实姓名,昵称,用户状态和用户权限信息。
如表2.2
表2.2用户信息表
列名
数据类型
长度
空/非空
约束条件
注释
userid
varchar
15
N
PK
用户名
username
varchar
20
Y
用户真实姓名
userpwd
varchar
20
N
用户密码
Nickname
Varchar
20
Y
用户昵称
Status
int
4
N
用户状态1正常2删除
Qx
Int
4
N
用户权限1教师2学生
3.网站板块内容表(ts_article):
用于存储网站的文章信息,其中包括文章编号,标题,内容,文章作者,发布时间,文章状态,文章中可下载的文件名称,所属板块和点击次数。
如表2.3
表2.3网站文章信息表
列名
数据类型
长度
空/非空
约束条件
注释
id
Int
4
N
PK
网站文章编号
title
Varchar
100
N
文章标题名称
content
Varchar
8000
Y
文章内容
Author
Varchar
20
N
文章作者
createtime
datetime
8
N
文章的发布时间
Flag
Int
4
N
文章当前状态1发布2未发布
Filename
Varchar
200
N
文章附件的文件名称
Sortid
Int
4
N
文章所对应板块
hit
Int
4
N
文章的查看次数
4.留言信箱信息表(ts_news):
用来存储用户之间的留言信息,其中包括了留言编号,留言发送者,留言接收者,留言标题,留言内容,留言创建时间和留言状态,其中留言状态分为2类,分别是未读和已读。
如表2.4
表2.4用户留言信箱信息表
列名
数据类型
长度
空/非空
约束条件
注释
id
int
4
N
PK
留言编号
sender
varchar
20
N
发送者用户名
recever
varchar
20
N
接收者用户名
topic
Varchar
50
N
留言标题
content
Varchar
500
N
留言内容
Createtime
datetime
8
N
发送留言的时间
Flag
Int
4
N
留言状态1未读2已读
5.作业信息表(t_work):
用来存储课程班的作业信息,其中包括作业编号,课程班编号和作业内容。
如表2.5
表2.5作业信息表
列名
数据类型
长度
空/非空
约束条件
注释
id
int
4
N
PK
作业编号
subjectid
int
4
N
课程班编号
workname
varchar
60
N
作业内容
6.作业提交及审批表(s_work):
用来存储课程班的学生提交作业的信息以及作业的批改情况信息,其中包括提交作业编号,学生用户名,作业编号,作业分数,作业评语,作业状态和附件名称。
如表2.6
表2.7作业提交及审批表
列名
数据类型
长度
空/非空
约束条件
注释
id
int
4
N
PK
提交作业编号
student
varchar
20
N
学生编号
workid
int
4
N
作业编号
Score
Int
4
Y
作业得分
Opinion
Varchar
40
Y
作业评语
Status
Int
4
N
作业批阅状态1已批阅2未批阅
filename
Varchar
20
N
提交作业附件
7.网站板块信息表(ts_sortid):
用于存储当前网站的板块信息,其中包括板块的编号和板块名称。
如表2.7
表2.7网站板块信息表
列名
数据类型
长度
空/非空
约束条件
注释
id
Int
4
N
PK
网站版块编号
name
Varchar
20
N
网站版块名称
2.3.2系统功能需求分析
1.该系统主要划分为9个模块,其中每个模块中还包括子功能,分别对应了系统中的子功能实现相应的操作,模块功能,如下
(1)网站管理:
包括管理员登陆,文章管理(公告列表添加、教程列表添加、课件列表添加),知道吧管理(版块列表添加),用户管理(用户添加、用户删除、用户查询),系统管理员(密码修改、管理员列表添加)。
(2)首页:
网站的主页面,使老师和学生能够方便的了解到网站的动态,同时查看学校发布的最新信息,实现了学校信息的共享。
(3)公告:
包括公告栏和本栏点击排行,提示用户最近的学校信息动态,在这里的公告会将系统中的数据按照时间的顺序来排序。
(4)个人空间:
包括备忘本、留言箱、作业管理(上交作业、查询作业)。
在备忘本中主要是用来记录拥护的一些备忘信息。
留言箱主要是为了使该网站更好的发展,用户可以给管理员提出一些建设性的意见同时也可以向管理员提出一些问题。
作业管理,这部分包括了两个权限分别对应的是教师和学生,教师可以发布作业和对作业进行批改,而学生则是查看作业和提交作业。
(5)教程区:
为学生提供教学资源。
当需要某些资料时通过网络下载到本地实现教学资源的共享。
(6)课件区:
提供教师上课的课件,教师可以通过网络上传到服务器,学生及其他教师可以通过网络下载该资源。
(7)上传区:
通过登陆用户上传文件。
(8)知道吧:
为师生之间提供互动和交流的平台。
(9)搜索:
具有搜索引擎功能。
实现搜索用户需要的文章。
功能结构,如图2.2
图2.2功能模块图
2.系统总体业务流程图
管理员登录平台后进入网站后台可以对知道吧中的问题,权限,网站中的公告,教程,课件和用户进行管理,并将后台数据库中的数据进行更新操作。
当用户进入平台但是没有登录的时,用户可以进行文章的预览和搜索站内文章等功能,如果用户登录后会进入个人空间,这里个人空间分成两类分别是学生和教师,教师可以管理自己所教授的课程班,并且为课程班布置作业和批改作业。
并且将相应数据写入到后台数据库中。
如果是学生登录则学生可以查看当前所学课程教师布置的作业,这里是从后台数据库中获取相应的作业信息,当学生提交作业时将提交的作业信息写入到数据库中。
老师可以在数据库中获取学生的作业信息,并对作业进行批改,将批改后的信息再写回数据库中。
并且这两类用户登陆后可以进入知道吧,可以进行提问和回答问题。
总体流程图,如图2.3
图2.3系统总体业务流程图
2.4系统实现
2.4.1系统的详细设计
1.作业管理模块,在作业管理模块中需要师生之间的互动操作,首先在系统中建立对应课程的所要布置的作业,输入作业称后点击提交添加作业。
如果输入的名称出现错误将会给出相应的提示信息如“作业名称不能为空”等,在这个页面的设计中使用了FORM表单,文本框,重置按钮和提交按钮,并且使用了JS制作了一些网页特效,如图2.4
图2.4布置作业
当作业添加完成后使用该课程班的学生登录系统,查看老师所布置的该门课程的作业,并且做作业,将作业完成后点击浏览选择自己已经完成的作业点击提交,将作业信息提交到数据库中。
在这个页面中也是通过表单来实现数据的提交,并且这里使用了JSP中的文件上传技术,将作业文件上传到服务器中以便老师对作业进行批改,当选择完作业文件后点击提交将作业文件信息写入数据库,并且将文件上传到服务器中。
如图2.5
图2.5作业提交
当作业提交完成后,教师端就可以查看到学生的作业情况,可以下载学生上传的文件,并且对作业进行批改,给出该学生的成绩和评语。
点击提交按钮将作业的批改信息上传到服务器中。
如图2.6
图2.6批改作业
学生端可以查看作业的成绩和作业是否已经被审批,并且可以查看教师给予这个作业的分数和评语,方便学生及时的了解当前作业的情况。
如图2.7
图2.7作业信息查看
2.4.2程序源代码
该源程序代码存在于文件login.jsp中,主要实现的功能是对用户登录进行检查和判断。
这里使用了java类文件,从页面上获得userid和userpwd时将数据传递给user对象然后通过调用user对象的login()方法来实现对用户的登录验证。
具体代码如下
<%
if((request.getParameter("userid")==null||request.getParameter("userpwd")==null)&&request.getParameter("nickname")==null){
}
//判断用户名,用户密码和用户昵称是否存在
else{Stringuserid="";
Stringuserpwd="";Useruser=newUser();//创建User类对象if((request.getParameter("userid")!
=null&&request.getParameter("userpwd")!
=null)){
userid=request.getParameter("userid");
userpwd=request.getParameter("userpwd");
user.userid=userid;
user.userpwd=userpwd;
//为user对象中的公有数据成员添加赋值
}else{
user.userid=(String)session.getAttribute("user_id");
user.userpwd=(String)session.getAttribute("user_pwd");}
//获得session中的user_id和user_pwd
intchecklogin=user.login();
//对用户进行登录验证返回整型数据,通过返回数据的值来进行判断登录情况if(checklogin==1){
out.print("");
}elseif(checklogin==2){
out.print("");
}elseif(checklogin==3){
session.setAttribute("user_id",user.userid);
session.setAttribute("user_pwd",user.userpwd);//第一次登陆,初始化信息
if(user.nickname==null||user.username==null){
if(request.getParameter("username")!
=null||request.getParameter("nickname")!
=null){
Useruu=newUser();
uu.nickname=(String)request.getParameter("nickname");
if(uu.isUserNicknameExist()){
out.print("");
}else{
uu.username=(String)request.getParameter("username");
uu.userid=user.userid;
if(uu.updateUser()){
session.setAttribute("user_status",user.qx);
session.setAttribute("user_nickname",uu.nickname);
out.print("");
}else{
out.print("");
}}
else{
session.setAttribute("user_status",user.qx);
session.setAttribute("user_nickname",user.nickname);
out.print("");
}}}
%>
2.5测试分析
1.管理员登录测试,如表2.8
表2.8管理员登陆测试
用例名称
用户登陆
测试目的
测试用户登录功能是否正常。
前提条件
客户端程序和服务器端程序处于运行状态。
输入数据
期望结果
测试结果
正常数据测试
输入用户名(admin),密码(admin)
直接进入主界面
与期望输出相同
异常数据测试
1.用户名和密码为空
2.输入错误的用户名和密码
提示:
没有通过验证,请重新输入
与期望输出相同
边界数据测试
输入超过用户名和密码范围的值如(2000个a)
提示:
没有通过验证,请重新输入
与期望输出相同
2.发布文章测试,如表2.9
表2.9发布文章测试
用例名称
发布文章
测试目的
测试发布文章是否正常。
前提条件
客户端程序和服务器端程序处于运行状态。
输入数据
期望结果
测试结果
正常数据测试
输入文章标题(哈哈),内容(哈哈)
系统提示发布成功,点击前端页面文章显示“哈哈”
与期望输出相同
异常数据测试
1.文章标题和内容2.输入错误的用户名和密码
提示:
文章标题或者文章内容不能为空
与期望输出相同
边界数据测试
输入超过字数范围值如(2000个a)
提示:
标题过长或者文章内容过长
与期望输出相同
第3章实训总结
对于本次课程设计的题目前景非常看好,因为现在大多数的学校需要解决的问题就是教学资源不共享,老师的工作冗余,学生和老师之间缺乏沟通等。
这将对学校的未来发展造成很大的影响。
本文在开发过程中从校园教学资源共享与交流平台的设计与实现的实际需求出发,用JSP和SQLServer2000设计并实现了校园教学资源共享与交流平台的