




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《jsp程序设计》Jsp课程设计实验报告题目学生成绩管理系统专业班级姓名指导教师2011年6月28日目录一、绪论 21、系统开发背景 22、项目开发的目标 23、系统开发所用的技术设备 2二、需求分析 31、系统需求分析 32、用户需求 33、系统框架图如下: 44、系统设计思想 45、系统设计分析 5三、数据库的设计 51、本系统将数据存储在七个表中,这七个表分别是 52、建立数据库的命令如下: 73、建立数据表的命令如下: 7四、关键技术及代码 81、管理员登录代码 92、从数据库中获取用户名和密码的代码。 103、留言板的相关代码。 11五、测试 151、登录界面的测试: 152、查询页面: 173、添加页面: 174、删除页面: 185、修改页面 19六、总结 19七、参考文献 19一、绪论1、系统开发背景一直以来学生的成绩管理是学校工作中的一项重要内容,许多学校的学生成绩管理系统做得都相当的完善,但是随着办学规模的扩大和扩招,有些系统就会逐渐出现一些漏斗或者是不完善的地方。普通的成绩管理系统已经不能适应时代的发展,因为它浪费了许多的人力和物力,在当今信息时代这种传统的管理方法必然被以计算机为基础的管理系统所代替。为了提高成绩管理的效率,我选择了学生成绩管理系统作为jsp的课程设计。2、项目开发的目标希望能做出一个完善的系统,实现分类别的管理。能实现管理员、教师和学生三种身份的登录,同时也能实现各登陆身份的相关操作。3、系统开发所用的技术设备、数据库技术的现状与发展数据库是在现在的无论大型系统还是小型系统中都频繁出现的一门计算机软件技术,数据库技术是信息系统的核心和基础,它的出现极大的促进了计算机应用向各行各业的渗透。、JSP当前所做的系统无非都采用.net和jsp两种技术进行设计,它有很多的技术特征,如:跨平台、分离静态内容和动态内容、可重复使用的组建、沿用了JavaServlet的所有功能及能预编译。二、需求分析1、系统需求分析学生信息管理系统是对学生的基本信息和成绩信息进行管理,主要包括添加、修改和删除学生的基本信息及课程的基本信息;录入、修改和删除学生的成绩信息,对基本信息、成绩信息进行查询、排序及统计等操作,从而实现学生信息管理的自动化与计算机化。本课题将实现一个简化的学生信息管理系统。IE等浏览器用户浏览器web服务器数据库服务器IE等浏览器Tomcat返回操作结果使用数据库操作语言返回查询结果操作请求Tomcat返回操作结果使用数据库操作语言返回查询结果操作请求2、用户需求、学生的需求<1>、查询自己的基本资料查询自己的所有成绩,包括自己的平均成绩和总成绩。<2>、查询自己的所有成绩,包括自己的平均成绩和总成绩。<3>查询某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩。<4>、学生可以添加自己的基本信息。、老师需求<1>、查询某一学生的所有成绩,平均成绩和总成绩。<2>、查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩。<5>、录入成绩(自己所教授的那一科成绩)、管理员的需求<1>、查询某一学生的所有成绩,平均成绩和总成绩。<2>、查询某一学生某一科的成绩,该科平均成绩,所在名次,最高成绩,最低成绩)。<3>、查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)。<5>、录入信息、修改信息和删除信息。3、系统框架图如下:查询信息查询信息添加信息管理员登陆信修改息查询信息学生登陆教师登陆学生成绩管理系统查询信息查询信息添加信息管理员登陆信修改息查询信息学生登陆教师登陆学生成绩管理系统添加信息删除信息添加信息添加信息删除信息添加信息4、系统设计思想、采用现有的资源以及充分利用学校的现有资源,减少开发中的财力以及无力和时间,提高系统开发的水平。、系统就满足学校的需求,例如成绩的录入、查询、更新、删除以及学生成绩的排名等操作。、系统具备数据库维护功能,及时根据用户需求进行数据跟新、删除、添加等操作。5、系统设计分析该系统适用于各个学校,其功能主要为:成绩管理:用于对成绩的录入、修改、添加、汇总、排名以及查询等操作。三、数据库的设计1、本系统将数据存储在七个表中,这七个表分别是:(1)、学生表(见下表):保存学生的基本信息,包括学生的姓名,登录系统时的密码,学生的学号,出生年月以及性别。学生表字段名称中文解释保存类型默认值长度可否为空主键sno学号varchar无12否是name姓名varchar无24否否password密码varchar无24否否sex性别char(男或女)2否否Birthdate出生年月datetime无否否(2)、教师表(见下表):保存教师的信息,包括教师的教师编号,登录系统系统时的用户名和密码。教师表字段名称中文解释保存类型默认值长度可否为空主键Tno教师编号varchar无12否是name登录名varchar无24否否password密码varchar无24否否(3)、班级表(见下表):保存班级的编号及班级的名称。班级表字段名称中文解释保存类型默认值长度可否为空主键classesnum班级编号varchar无12否是classes班级名称varchar无24否否(4)、教师所担任课程的表(见下表):保存教师编号,所教科目和班级名称。教师所担任课程的表字段名称中文解释保存类型默认值长度可否为空主键Tno教师编号varchar无12否是subject所教科目varchar无24否否classes班级名称varchar无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否否terchar教师名称varchar否14否否grade成绩int否否否(7)、课程表(见下表):保存有关学生的课程的一些信息。课程表字段名称中文解释保存类型默认值长度可否为空主键cno课程号varchar无12否是cname课程名varchar无24否否Tname教师姓名varchar无24否否score学分varchar无4否否2、建立数据库的命令如下:CreatedatabaseStudentmange3、建立数据表的命令如下:(1)、建立学生表--createtableStudent(--snovarchar(12)primarykeynotnull,--namevarchar(24)notnull,--passwordvarchar(24)notnull,--Sexchar(2)check(Sexin('男','女')),--Birthdatedatetimenotnull,--);(2)、建立教师表--createtableteacher(--Tnovarchar(12)primarykeynotnull,--namevarchar(24)notnull,--passwordvarchar(24)notnull,--);(3)、建立班级表--createtableclasses(--classesnumvarchar(12)primarykeynotnull,--classesvarchar(24)notnull,--);(4)、建立教师所教科目表--createtableteacher_subject(--Tnovarchar(12)primarykeynotnull,--subjectvarchar(24)notnull,--classesvarchar(24)notnull,--foreignkey(Tno)referencesteacher(Tno),--);(5)、建立管理员表--createtablemanage(--Mnovarchar(12)primarykeynotnull,--namevarchar(24)uniquenotnull,--passwordvarchar(24)notnull,--);、建立成绩表--createtablescore1(--snovarchar(12),--cnovarchar(12),--classesvarchar(24)notnull,--termvarchar(24)notnull,--gradeintcheck(gradebetween0and100),--primarykey(sno,cno),--foreignkey(sno)referencesStudent(sno),--foreignkey(cno)referencescourse(cno),--);、建立课程表--createtablecourse(--cnovarchar(12)primarykey,--Tnamevarchar(24)notnull,--cnamevarchar(24)notnull,--scorevarchar(4)notnull,补充:因为在建立数据表当中的成绩表的时候,没有考虑周到那个成绩应该是只能在0-100之间取值,所以对成绩表(score)修改了约束条件,语句如下:altertablescoreaddconstraintgradecheck(gradebetween0and100);四、关键技术及代码本系统在连接数据库的地方用了javabean,在留言板的那一部分应用了serverlet和dreamweave的一些相关知识,以及jsp的相关知识。1、管理员登录代码<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.util.Date,java.text.*"%><!--导入用到的类包文件--><%Datenowday=newDate();//获取当前日期inthour=nowday.getHours();//获取日期中的小时SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//定义日期格式化对象Stringtime=format.format(nowday);//将指定日期格式化为"yy-MM-ddHH:mm:ss"形式%><html><head><title>学生成绩管理系统</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><styletype="text/css">body{ background-color:#000; background-image:url(../images/08102301183279494%5B1%5D.jpg);}body,td,th{ color:#F0C;}</style></head><body><center><pstyle="font-family:'宋体';font-size:xx-large;color:yellow;"><h1>学生成绩管理系统</h1></p><tableborder="1"width="300"><trheight="80"><tdalign="center">现在时间:<%=time%></td></tr></table><h2>用户名或密码错误,请重新登录!!!</h2><formid="forml"name="forml"method="post"action="login_deal2.jsp"><p>用户名:<inputname="name"type="text"id="name"/></p><p>密 码:<inputname="password"type="text"id="password"/></P><inputtype="submit"name="Submit"value="提交"onClick=""/><inputtype="reset"name="Submit2"value="重置"/></form></center></body></html>2、从数据库中获取用户名和密码的代码。<%@pagecontentType="text/html;charset=gbk"import="java.sql.*"%><%@pageimport="java.io.*"%><%@pageimport="java.util.*"%><%@pageimport="java.sql.*"%><html><head><title>学生成绩管理系统</title></head><body> <center> <%!Stringsql; %><%request.setCharacterEncoding("GBK"); Stringname=request.getParameter("name");Stringpassword=request.getParameter("password");StringdriverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";StringDBurl="jdbc:sqlserver://:1433;DatabaseName=Studentmange";StringDBname="lmj";StringDBpassword="123456"; try{ Class.forName(driverClass);//加载驱动程序 Connectionconn=DriverManager.getConnection(DBurl,DBname,DBpassword); sql="selectname,passwordfromTeacherwherename='"+name+"'andpassword='"+password+"'"; PreparedStatementpstmt=conn.prepareStatement(sql);//实例化数据库操作对象 ResultSetrs=pstmt.executeQuery(); if(rs.next()) { response.sendRedirect("../teacher.jsp"); } else{response.sendRedirect("teacherindex2.jsp");} rs.close(); pstmt.close(); conn.close();} catch(Exceptione) { out.println(e); } %></center></body></html>3、留言板的相关代码。、登录留言板的相关代码<html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><styletype="text/css">body,td,th{ color:#F0F;}body{ background-color:#000; background-image:url(images/denglubeijing2.jpg);}</style></head><body><center><formaction="addWord"method="post"><p> </p><p> </p><p> </p><p>留言者:<inputtype="text"name="author"size="25"><br>留言标题:<inputtype="text"name="title"size="25"><br>留言内容:<textareaname="content"rows="5"cols="25"></textarea></p><p><inputtype="submit"value="提交"><inputtype="reset"value="重置"><ahref="show.jsp">查看留言</a></p></form></center></body></html>、编译的三个java程序<1>、serverletpackageliuyanban.servlet;importjava.io.IOException;importjava.util.ArrayList;importjava.util.Date;importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.yxq.toolbean.MyTools;importcom.yxq.valuebean.WordSingle;publicclassWordServletextendsHttpServlet{ protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ doPost(request,response); } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //以下代码用来获取表单中字段内容并进行转码 Stringauthor=MyTools.toChinese(request.getParameter("author")); Stringtitle=MyTools.toChinese(request.getParameter("title")); Stringcontent=MyTools.toChinese(request.getParameter("content")); //获取当前时间并格式化时间为指定格式 Stringtoday=MyTools.changeTime(newDate()); WordSinglesingle=newWordSingle(); single.setAuthor(MyTools.changeHTML(author)); single.setTitle(MyTools.changeHTML(title)); single.setContent(content); single.setTime(today); HttpSessionsession=request.getSession(); ServletContextscx=session.getServletContext(); ArrayListwordlist=(ArrayList)scx.getAttribute("wordlist"); if(wordlist==null) wordlist=newArrayList(); wordlist.add(single); scx.setAttribute("wordlist",wordlist); response.sendRedirect("show.jsp"); }}<2>、toolbeanpackageliuyanban.toolbean;importjava.io.UnsupportedEncodingException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassMyTools{ /** *@功能转换字符串中属于HTML语言中的特殊字符 *@参数source为要转换的字符串 *@返回值String型值 */ publicstaticStringchangeHTML(Stringsource){ StringchangeStr=""; changeStr=source.replace("&","&"); //转换字符串中的“&”符号 changeStr=changeStr.replace(""," "); //转换字符串中的空格 changeStr=changeStr.replace("<","<"); //转换字符串中的“<”符号 changeStr=changeStr.replace(">",">"); //转换字符串中的“>”符号 changeStr=changeStr.replace("\r\n","<br>"); //转换字符串中的回车换行 returnchangeStr; }/**@功能将Date型日期转换成指定格式的字符串形式,如“yyyy-MM-ddHH:mm:ss”*@参数date为要被转换的Date型日期*@返回值String型值*/ publicstaticStringchangeTime(Datedate) SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); returnformat.format(date); //调用format()方法格式化日期 }publicstaticStringtoChinese(Stringstr){ if(str==null) str=""; try{ str=newString(str.getBytes("ISO-8859-1"),"gb2312"); }catch(UnsupportedEncodingExceptione){ str=""; e.printStac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- LED户外屏施工方案
- 劳务分包合同年度分包
- 现代服务业运营与管理案例分析题集
- 路面铺装施工方案
- 工程木工承包合同
- 水生植物的施工方案
- 露天煤矿施工方案
- TCSHB 0023-2024 中型可编程控制柜设计规范
- 导流明渠开挖专项施工方案
- 地暖排管现场施工方案
- 跨国合作在医药研发中的应用与挑战
- 2025年皖北卫生职业学院单招职业技能测试题库审定版
- 膀胱灌注课件
- 2025年足疗店劳务用工合同模板
- 北京版五年级下册数学计算题专项练习1000道带答案
- 2025年黑龙江交通职业技术学院单招职业技能测试题库必考题
- 2024年02月山东2024齐鲁银行德州分行社会招考笔试历年参考题库附带答案详解
- 《新中国史》课程教学大纲
- 2025年划船健身器项目投资可行性研究分析报告
- 南京市江宁区2023-2024六年级数学下册第一二单元练习及答案
- 2025-2030年中国化工园区行业发展现状及投资前景分析报告
评论
0/150
提交评论