《Jsp课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《Jsp课程设计实验报告.docx(24页珍藏版)》请在三一办公上搜索。
1、jsp程序设计Jsp课程设计实验报告题 目学生成绩管理系统专 业班 级姓 名指导教师2011年6月28日一、绪论31、系统开发背景32、项目开发的目标33、系统开发所用的技术设备3二、需求分析31、系统需求分析32、用户需求43、系统框架图如下:54、系统设计思想55、系统设计分析5三、数据库的设计61、本系统将数据存储在七个表中,这七个表分别是62、建立数据库的命令如下:83、建立数据表的命令如下:8四、关键技术及代码111、管理员登录代码112、从数据库中获取用户名和密码的代码。123、留言板的相关代码。13五、测试171、登录界面的测试: 172、查询页面:193、添加页面:194、删除
2、页面:205、修改页面21六、总结21七、参考文献21一、绪论1、系统开发背景一直以来学生的成绩管理是学校工作中的一项重要内容,许多学校的学生成绩管理系统 做得都相当的完善,但是随着办学规模的扩大和扩招,有些系统就会逐渐出现一些漏斗或者 是不完善的地方。普通的成绩管理系统已经不能适应时代的发展,因为它浪费了许多的人力 和物力,在当今信息时代这种传统的管理方法必然被以计算机为基础的管理系统所代替。为 了提高成绩管理的效率,我选择了学生成绩管理系统作为jsp的课程设计。2、项目开发的目标希望能做出一个完善的系统,实现分类别的管理。能实现管理员、教师和学生三种身 份的登录,同时也能实现各登陆身份的相
3、关操作。3、系统开发所用的技术设备(1)、数据库技术的现状与发展数据库是在现在的无论大型系统还是小型系统中都频繁出现的一门计算机软件技术, 数据库技术是信息系统的核心和基础,它的出现极大的促进了计算机应用向各行各业的渗 透。(2)、 JSP当前所做的系统无非都采用.net和jsp两种技术进行设计,它有很多的技术特征,如: 跨平台、分离静态内容和动态内容、可重复使用的组建、沿用了 Java Servlet的所有功能及 能预编译。二、需求分析1、系统需求分析学生信息管理系统是对学生的基本信息和成绩信息进行管理,主要包括添加、修改和删 除学生的基本信息及课程的基本信息;录入、修改和删除学生的成绩信息
4、,对基本信息、成 绩信息进行查询、排序及统计等操作,从而实现学生信息管理的自动化与计算机化。本课题 将实现一个简化的学生信息管理系统。数据库web服务器用户浏览器2、用户需求(1)、学生的需求、查询自己的基本资料查询自己的所有成绩,包括自己的平均成绩和总成绩。、查询自己的所有成绩,包括自己的平均成绩和总成绩。查询某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩。、学生可以添加自己的基本信息。(2)、老师需求、查询某一学生的所有成绩,平均成绩和总成绩。、查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩。、录入成绩(自己所教授的那一科成绩)(3)、管理员的需求、查询某一学生
5、的所有成绩,平均成绩和总成绩。、查询某一学生某一科的成绩,该科平均成绩,所在名次,最高成绩,最低成绩)。、查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目 的所有成绩)。、录入信息、修改信息和删除信息。3、系统框架图如下:4、系统设计思想(1)、采用现有的资源以及充分利用学校的现有资源,减少开发中的财力以及无力和时间, 提高系统开发的水平。(2)、系统就满足学校的需求,例如成绩的录入、查询、更新、删除以及学生成绩的排名 等操作。(3)、系统具备数据库维护功能,及时根据用户需求进行数据跟新、删除、添加等操作。5、系统设计分析该系统适用于各个学校,其功能主要为:成绩管理:用于对
6、成绩的录入、修改、添加、汇总、排名以及查询等操作。三、数据库的设计1、本系统将数据存储在七个表中,这七个表分别是:(1)、 学生表(见下表):保存学生的基本信息,包括学生的姓名,登录系统时的密码, 学生的学号,出生年月以及性别。学生表字段名称中文解释保存类型默认值长度可否为空主键sno学号varchar无12否是name姓名varchar无24否否password密码varchar无24否否sex性别char(男或女)2否否Birthdate出生年月datetime无否否(2)、 教师表(见下表):保存教师的信息,包括教师的教师编号,登录系统系统时 的用户名和密码。教师表字段名称中文解释保存类
7、型默认值长度可否为空主键Tno教师编号varchar无12否是name登录名varchar无24否否password密码varchar无24否否(3)、班级表(见下表):保存班级的编号及班级的名称。班级表字段名称中文解释保存类型默认值长度可否为空主键classesnum班级编号varchar无12否是classes班级名称varchar无24否否(4)、教师所担任课程的表(见下表):保存教师编号,所教科目和班级名称。教师所担任课程的表字段名称中文解释保存类型默认值长度可否为空主键Tno教师编号varchar无12否是subject所教科目varchar无24否否classes班级名称varch
8、ar无24否否(5)、 管理员表(见下表):保存管理员的编号,登录系统时的用户名和密码。管理员表字段名称中文解释保存类型默认值长度可否为空主键Mno管理员编号varchar无12否是name用户名varchar无24否否password密码varchar无24否否(6)、成绩表(见下表)保存有关学生的成绩的一些信息,本系统主要是对于该表 的操作。成绩表字段名称中文解释保存类型默认值长度可否为空主键sno学号varchar否12否是name课程名称varchar否24否否classes班级varchar否24否否property科目性质varchar否24否否term学期varchar否24否否
9、terchar教师名称varchar否14否否grade成绩int否否否(7)、课程表(见下表):保存有关学生的课程的一些信息。课程表字段名称中文解释保存类型默认值长度可否为空主键cno课程号varchar无12否是cname课程名varchar无24否否Tname教师姓名varchar无24否否score学分varchar无4否否2、建立数据库的命令如下:Create database Studentmange3、建立数据表的命令如下:(1 建立学生表-create table Student(-sno varchar(12) primary key not null,-name varch
10、ar(24) not null,-password varchar(24) not null,-Sex char(2) check(Sex in(男,女),-Birthdate datetime not null,-);(2 建立教师表-create table teacher(-Tno varchar(12) primary key not null,-name varchar(24) not null,-password varchar(24) not null,-);(3 建立班级表-create table classes(-classesnum varchar(12) primary
11、 key not null,-classes varchar(24) not null,-);(4建立教师所教科目表-create table teacher_subject(-Tno varchar(12) primary key not null,-subject varchar(24) not null,-classes varchar(24) not null,-foreign key(Tno)references teacher(Tno),-);(5 建立管理员表-create table manage(-Mno varchar(12) primary key not null,-n
12、ame varchar(24) unique not null,-password varchar(24) not null,-);-create table score1(-sno varchar(12),-cno varchar(12),-classes varchar(24) not null,-term varchar(24) not null,-grade int check(grade between 0 and 100),-primary key(sno,cno),-foreign key(sno)references Student(sno),-foreign key(cno)
13、references course(cno),-);(7)、建立课程表-create table course(-cno varchar(12) primary key,-Tname varchar(24) not null ,-cname varchar(24) not null,-score varchar(4) not null,补充:因为在建立数据表当中的成绩表的时候,没有考虑周到那个成绩应该是只能在)-100之间取值,所以对成绩表(score )修改了约束条件,语句如下:alter table scoreadd constraint grade check(grade between
14、 0 and 100);四、关键技术及代码本系统在连接数据库的地方用了 javabean,在留言板的那一部分应用了 serverlet和 dreamweave的一些相关知识,以及jsp的相关知识。1、管理员登录代码 学生成绩管理系统body background-color: #000;background-image: url(./imagesQ8102301183279494%5B1%5D.jpg);body,td,th color: #F0C;学生成绩管理系统现在时间:用户名或密码错误,请重新登录! 用户名:密 码:2、从数据库中获取用户名和密码的代码。学生成绩管理
15、系统3、写言板的相关代码。(1)、登录留言板的相关代码body,td,th color: #F0F;body background-color: #000;background-image: url(images/denglubeijing2.jpg); 留言者:留言标题:留言内容:input type=submit value=提交input type=reset value=重置查看留言 (2)、编译的三个java程序、serverletpackage liuyanban.servlet;import java.io.IOException;import
16、java.util.ArrayList;import java.util.Date;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.yxq.to
17、olbean.MyTools;import com.yxq.valuebean.WordSingle;public class WordServlet extends HttpServlet protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doPost(request,response);protected void doPost(HttpServletRequest request, HttpServletRe
18、sponse response) throws ServletException, IOException 以下代码用来获取表单中字段内容并进行转码String author=MyTools.toChinese(request.getParameter(author);String title=MyTools.toChinese(request.getParameter(title);String content=MyTools.toChinese(request.getParameter(content);获取当前时间并格式化时间为指定格式String today=MyTools.chang
19、eTime(new Date();WordSingle single=new WordSingle();single.setAuthor(MyTools.changeHTML(author);single.setTitle(MyTools.changeHTML(title);single.setContent(content);single.setTime(today);HttpSession session=request.getSession();ServletContext scx=session.getServletContext();ArrayList wordlist=(Array
20、List)scx.getAttribute(wordlist);if(wordlist=null)wordlist=new ArrayList();wordlist.add(single);scx.setAttribute(wordlist,wordlist);response.sendRedirect(show.jsp);、toolbeanpackage liuyanban.toolbean;import java.io.UnsupportedEncodingException;import java.text.SimpleDateFormat;import java.util.Date;p
21、ublic class MyTools /* 功能转换字符串中属于HTML语言中的特殊字符* 参数source为要转换的字符串* 返回值String型值 */public static String changeHTML(String source)String changeStr=;转换字符串中的“&”符号/转换字符串中的空格/转换字符串中的“”符号/转换字符串中的“”符号/转换字符串中的回车换行changeStr=source.replace(&,&);changeStr=changeStr.replace( , );changeStr=changeStr.replace
22、(,>);changeStr=changeStr.replace(rn,);return changeStr;/* 功能 将Date型日期转换成指定格式的字符串形式,如“yyyy-MM-dd HH:mm:ss”* 参数date为要被转换的Date型日期* 返回值String型值 */public static String changeTime(Date date)SimpleDateFormat format=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);return format.format(date);调用 format()方法格式化日期pu
23、blic static String toChinese(String str) if(str=null)str=;try str=new String(str.getBytes(ISO-8859-1),gb2312); catch (UnsupportedEncodingException e) str=;e.printStackTrace();return str;、valuebeanpackage liuyanban.valuebean;public class WordSingle private String author;private String title;private S
24、tring content;private String time;public String getAuthor() return author;public void setAuthor(String author) this.author = author;public String getContent() return content;public void setContent(String content) ( this.content = content;public String getTime() ( return time;public void setTime(Stri
25、ng time) ( this.time = time;public String getTitle() ( return title;public void setTitle(String title) ( this.title = title;五、测试1、登录界面的测试:学生成绩管理系统现在时间:2011-07-07 12:01:36用户名或密码错误,请重新登录! ! !用户名;灸密码:心32!fig如果用户名个密码正确就跳转到下面的页面:欢迎来列管理员界面学生基本信息的查询某一个学生成绩查询某一科学生成堵查询某一班级学生成绩查询添加信息如果用户名和密码错误,则跳到如下页面:学生成绩管理系
26、统用户名或密码错误,请重新登录! ! !用户名:2、查询页面:-顶生成绩首理系统匕-1刘1-.SL1OpaSSWQldSex200SOE110111111119S9-09-1100:00:00. 0: : 11 .冉浩. !- ! .1989-0-2200:00:00. 02008081103葛瞥美333333女1590-09-12UO:UO:O0Bi)Z0030B1104丹4皿皱女1990-03-0200:00:00.0200SQSL105555555女1SB7-06-0700:00:00020080S110Ssasass女19B9-09-140Q;0Q:Q0u 03、添加页面:学生成绩管理
27、系统、.牛W.:呼:心f:snoenoclassesterm2008081101DOI.5:i ?r大_L号乎SO2008081102DOI5:1 ill、一 _LF:. ll -:i11 :015:1 ?T、-_L20030811OSDOI:i W、一 _LFsoi;EL 希添加新记录学号_课程号_班级学期分数提交清空学车成绩管理系统幡号;|安阡1:.i:EnoctwclaasealETm2008081101001而用班工一:.孚期802008081102OOL.匕应用.1. M大三I学期9820030B1103001E用T 了.、 产9830DE0S11D4001虎应用班-VI9E2000
28、081108001疝用班_ -圭80添加新踽4、删除页面:学生成绩菅理系统!:作15出生日期mStjQnamepasswordSes2008081101二 w1111111909-09-1100:0000-0mZOOEOSllCIZr-L222222.艾1939-09-2200:00:00.0雌11.;戛德英:二::女上: .1: : J /.I.2008081104:叩.444 明 4、1990-03hjz00:00:00.0mJ.: JLL1I.;切::X.- 1.: 71 I: I:l . 12008081108.,香088888二1909-09-1400:00:00.0m学生成绩管理系
29、统姓台密倒1“弓1-火土*.snonanrpasOTord11 二 11女1.4 . 4 11: :,:. 2008081L02冉浩2222221989-09-2200:00:00.0雌葛德英:女2000031104:! ?4444女igga-D3-0200:00:00.0200S03110ESSSE19S9-09-1400:00:011 05、修改页面学生成冬煎胃理亲貌性别出生日期rsno20080811OL刑毅!113111女00:000割吟或103冉治19909-22 :00 -Oft. 02003031103葛T*333333女1/30-09-12W:O0KI丹4444d女1 御OY3
30、-OQ旬丹女L999=G2-Q1DO:000尸者女19S9-Cf9-1400:000六、总结在我的设计中遇到了很多以前没有遇到过的东西,可以说对我是很大的挑战,但是我通 过努力,克服了不少难题,很多的问题都是要靠我们的教材来解决的,所以说课本还是要好 好努力学的。从开始设计,到目前为止功能基本上都已经实现了。首先说一下需求分析,这 一部很重要,一定要想好数据库需要的数据,及其功能。数据字典要准备充分。刚开始做第 一个系统的时候就是需求分析没做好,导致最后无法实现相关数据库的查询,不得不从新分 析在做数据库,这是以后概念设计等的重要依据。在设计过程中常常会遇到建立表与表之间关系时考虑的不完善而引起重复字段、索引约 束等无法实现自己想要实现的设计在这样的情况下,只有一个办法,那就是不断的修改,不 断的尝试,但也不是所有的错误都可以更改的了。但是由不得不提的是,有时候真的很奇怪, 明明前一天晚上做出来修改了,第二天却又不可以了。但在开始serlvte总是把servlet的配 置弄错,由于文件很多很难弄懂。在我的设计程序中,还有很欠缺的地方,这也是我还要努力的方向。七、参考文献Jsp程序设计教程,Sql server,web课程设计。