使用 JSP学生信息管理系统毕业设计论文_第1页
使用 JSP学生信息管理系统毕业设计论文_第2页
使用 JSP学生信息管理系统毕业设计论文_第3页
使用 JSP学生信息管理系统毕业设计论文_第4页
使用 JSP学生信息管理系统毕业设计论文_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业设计报告使用JSP学生信息管理系统

毕业设计论文学生资助信息管理指导教师姓名:单位:计算机科学系专业名称:信息管理与信息系统#flag=true;HttpSessionvsession=(HttpSession)hUserName.get(UserName);try{vsession.invalidate();hUserName.remove(UserName);hUserName.put(UserName,session);}catch(Exceptionex){}}else{hUserName.remove(UserName);hUserName.put(UserName,session);flag=false;}returnflag;}(5)数据备份及还原代码publicStringload(Stringfilename){Stringstr=null;Propertiespros=getPprVue("perties")//这里是读取的属性文件,也可以直接使用Stringroot=pros.getProperty("username");//得到MYSQL//得到MYSQL的用户名密码后调用StringdbName=pros.gStringsqlpath=pros.gemysql的cmd:Property("databaseName");丫operty("sql");Stringfilepath=sqlpath+filename;//备份的路径地址〃新建数据库Stringstmtl="mysqladmin-u"+root+"-p"+pass+"create"+dbName;Stringstmt2="mysql-u"+root+"-p"+pass+""+dbName+"<"+filepath;String[]cmd={"cmd","/c",stmt2};try{Runtime.getRuntime().exec(stmtl);Runtime.getRuntime().exec(cmd);str="ok";System.out.println(”数据已从"+filepath+"导入到数据库中”);}catch(IOExceptione){e.printStackTrace();}

returnstr;min.jsp';</script>");break;}}}else{out.print("vscript>{alert(验证码错误!')}v/script>");第五章系统测试5.1测试说明测试。1)2)限于现实环境的限制,本系统只在局域网中测试通过,未能在INTERNET中进行申.测试环境:windowsXP服务平台,MYSQL5.0+tomcat6.0+jdkl.0.02支撑环境测试方法:分别在xp,redhatlinux11.0中用IE浏览器,通过编写测试代行登陆跳转时间、JSP探针测试。3)测试目的第五章系统测试5.1测试说明测试。1)2)限于现实环境的限制,本系统只在局域网中测试通过,未能在INTERNET中进行申.测试环境:windowsXP服务平台,MYSQL5.0+tomcat6.0+jdkl.0.02支撑环境测试方法:分别在xp,redhatlinux11.0中用IE浏览器,通过编写测试代行登陆跳转时间、JSP探针测试。3)测试目的5・2.响应时间测试试主要目的是检查系统响应时间。1)过滤器代码测试登陆跳转时间截图如下:登耳软47ms数据录入数据库时间截图如下:数据统计时间截图如下:统计页面执行时间:562统计页面执行时间:562ms全系农村户口「第母伤残厂单亲家庭、裂士子女、象母双亡、低保户、助学贷幾.灾区生源的念数恥惜息班农村户口家庭人数:臥恥信息班交母伤残冢庭人数:认血信息班单亲家庭入数:i£:腌信息班烈士子女家庭人数:0/7:眦信息班荻母双亡家庭几数:oX':他信息班低保户龙数:1A肚信息班助学贷款学生农数:4A肚信息斑多匮生源氐数:0A陆跳转时间相当快,满足要求。测试关键代码:根据以上截图每个相应页面执行时间均小于1秒,说明系统查询统计、录入,超链、登陆跳转时间相当快,满足要求。测试关键代码:publicvoidstart()time=System.currentTimeMillis();publicvoidstop()time=System.currentTimeMillis()-time;publiclonggetTime-returntime;publicTimer()time=0L;}(2)JSP探针测试结果截图

服务器计算页面执行时间均在15-16毫秒之内,下载速度在6000k/s到7000k/s,说明系统运行符合要求,运行速度较快。5・3.超链有效性检测检测超链有效性目的在于检测系统中是否存在空超链,或者系统中是否存在错误超链。通过超链检查软件检测结果截图如下:文件(巳文件报表f时选项(Q)视團[也帮助(出检2停止s保存报表设置帮助退出序号文件名称总共正确网络错误手动检查忽路▲■293D:\stuinfo\te...000000D:^tuinfo\te...110000渔D:\stuinfo\te...110000236D:^stuinfo\te...'3'30000297D:\stuinfo\te...000000298D:\sjtuinfo\te...000000湖D:\$tuinfo\te...330000::300D:\stuinfo\te...330000泓1D:\^tuinfo\te...'3'30000::302D:^tuinfo\te...000000O诵3HA^tilinfnktpnnnnnn5.4.系统功能测试(1)数据校验测试:通过测试表单文本框数据校验正确,直到用户输入正确才可以提交表单,如果不输入正确数据提示用户应输入什么类型数据。测试例子截图如下:①验证不能为空的提示截图

冢庭人均年收爽家庭人均年收馬只能填整数!冢庭遭受自:M夾害情况銀陡天忌忌乳爭1十家庭劳动力情况家庭成员失业情况②验证用户输入数据类型查询测试:各功能模块都通过测试,查询得到正确结果,分页功能正常,数据读取状况正常,页面显示正常,响应时间非常快,数据查询过程基本上没有感到浏览器和服务器通信,已经返回了查询结果。②验证用户输入数据类型管理测试:数据管理测试通过添加、删除、修改、数据备份、数据还原、管理员登陆、非管理员登陆跳转回主页等各项功能①重复添加测试截图:理员登陆、非管理员登陆跳转回主页等各项功能②用户超时测试截图:由于测试只是本小组成员完成,可能有未能检查出的漏洞,敬请各位评阅老师及同学们指出,我们会在第一时间改进系统,万分感谢。

第六章系统开发中遇到的问题和难点及解决方法在系统的开发中,我们遇到了不少的问题和困难,但在我们的共同努力下,都得到了解决。现将部分问题及其解决方法列出如下:查询及分页刷新问题。存在的问题:需查询结果及已查结果分页需翻页查看时的局部刷新问题分析原因:利用JSP分页点击翻页查看新页内容或HTML表单提交查询条件时均需要向服务器发送新的请求,服务器又以的全局新响应返回给客户端,当存在多用户同时不断使用时,服务器压力会急剧增加,其相应的响应时间会延长,可能会造成服务器不返回数据给客户端,造成不能正常及时查看查询结果。解决问题方法:通过网上搜集相关资料,找到了ajax(AsynchronousJavaScriptand异步请求,以执行更新或查询数XML”(异步JavaScript和XML))技术,它是指一种创建交互式网页应用的网页开发技术,ajax提供了与服务器异步通信的能力,借助于ajax,可以在用户单击提交按钮时,使用JavaScript和DHTML立即更新UI,并向服务器2据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面,即页面局部刷新。最重要的是,用户并不知道浏览器正在与服务器通信:表明是即时响应。通过使用了ajax来解决我们系统开发过程中发现的多条件查询刷新问题,结果真正实现了页面局部刷新,减轻了服务器压力,在点击提交按钮时,感觉上是页面异步请求,以执行更新或查询数没有任何变化,代替了jsp分页,I经更新了,响应时间明显缩短了。我们使用了ajax没有任何变化,代替了jsp分页,传参数解决了此问题,采用AJAX技术,使其局部刷新,服务器响应比jsp发送请求明显要快得多,真正达到了快、准的作用。解决查询刷新关键代码:Varurl二"ajax_class.jsp?search二"+search+"&dipage二"+dipage+"&t二"+newDate().getTime();xmlhttp.open("get",url);xmlhttp.send(null);ajax分页关键代码:<ahref二javascript:getPagkndj("+(dipage+l)+");>下一页</a>报表的页面打印输出多数用户的浏览器;基于安全原因,浏览器可能会阻止activex控件,在页面中设置的打印功能将不起作用。这样就造成事先利用word设计调整好表格样式转换成jsp文件在IE上的所见不能直接打印输出。

在设计时,通过将无需打印的部分加入CSS样式卩<stylemedia二print>.Noprint{display:none;}--></style><centerclass="Noprint"><OBJECTid=WebBrowserclassid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2height=0width=0></OBJECT><inputtype=buttonvalue二打印onclick=document.all.WebBrowser.ExecWB(6,1)><inputtype=buttonvalue二页面设置onclick=document.all.WebBrowser.ExecWB(8,1)></center>实现利用浏览器的打印功能屏蔽不需打印的部分,即可解决这一问题,系统设计针对报表打印输出做了两手准备,的浏览器设置支持activex控件,则可方便的点击“打印”按钮器设置阻止了activex系统设计针对报表打印输出做了两手准备,的浏览器设置支持activex控件,则可方便的点击“打印”按钮器设置阻止了activex控件,则用浏览器上的打印功能进行打印。这样,不管用何种方式打印,都会得到同样的效果。可以实现先在word中进表格样式的设计,并打印出样品,调整达到理想的效果后,将word文档转换成jsp文件,加入到系统中,这样不论通过何种方式打印输出,其效果均会达到用户的设计需求。6.3.同一账号多主机同时使用。存在问题:不同的主机使用同一个账号同时登陆系统进行操作,这样使系统安全性大大降低。尝试解决方法:为了限制多用户同时使用同一账号,我们也试过把用户登陆信息存入数据库,在数据库设置标记,用户登陆时修改为在线标记,用户退出修改为离线,但户修改为离线,但会造成时间的确定性不准问题,从而无法正确判定用户是否在线,同时也会带来对数据库的多操作,增加响应延迟的问题。基于准确性是当用户不正常退出时就无法监视用户离线时间,虽然可通过session判断,当用户session超时,扌户修改为离线,但会造成时间的确定性不准问题,从而无法正确判定用户是否在线,同时也会带来对数据库的多操作,增加响应延迟的问题。基于准确性及减轻服务器压力,缩短响应时间考虑,把用户登陆信息存进数据库是不可取的。解决问题方法:经过不断的查找大量资料,找到一种符合要求并且能够解决此问题的方法Java的监听器。我们使用HttpSessionListener监听用户用户是否在线,在用户登陆时候把用户登陆信息保存到服务端的Hashtable中,当监听到用户长时间不作出任何响应就把用户信息删除或者在用户退出时就把用户信息删除,如果用户信息在Hashtable中不存在将被强制退出,进而实现了同一账号后者登陆前者下线。解决问题关键代码:vsession.invalidate();

hUserName.remove(UserName);hUserName.put(UserName,session);6.4.数据备份与恢复。问题表象:备份时显示成功,但数据文件是空文件,可以备份却无法还原等;解决问题方法:经过我们的不断探索,最终找到环境变量未配置的问题所在,因此采用命令提示符备份还原数据库,同时配置MySQL环境变量即MYSQL_HOME就可以稳定实现。在数据备份和还原的设计中,采用系统工程配置文件perties来设置数据库用户名、密码和备份文件存放路径等数据,这样在系统被移植到其他地方或环境改一一一一变时,只需直接修改配置信息而无不用重新编译Java类。同时设定MYSQL的环境变量配置:变量名:MYSQL_HOME;变量值:C:\ProgramFiles\MySQL\MySQLServer5.1\bin(即MySQL默认安装路径)。实现关键代码如下所示:"+dbName;"+root+"-p"+pass+""+dbName+"<""+dbName;"+root+"-p"+pass+""+dbName+"<"+filepath;Stringstmt2="mysql-uString[]cmd={"cmd","/c",stmt2};rUtry{零」Runtime.getRuntime().exec(stmt1);Runtime.getRuntimec(cmd);:"数据已从:"数据已从"+filepath+"导入到数据库中”);System.out.pri}catch(IOExceptione){e.printStackTrace();}6・5・get方法和传参数分页问题。问题表象:部分页面有两个表单,表单(下拉列表)的值由查询数据库获得,若采用post方式将值提交到本页面,则在有分页的情况点击下页刷新时无法正常获取刷新的页面内容;尝试解决方法:在分页时采用传参数的方式分页,可是若参数为整形,可以实现,而中文时则会出现错误,或是接收到的值是乱码,使整个页面错误。解决问题方法:采用get方式提交,若采用get方式提交的值为中文则在接受时将编码转为ISO-8859-1的标准编码。客户端脚本使用的默认编码是utf-8,传中文时我们

一样在jsp页面使用和jsp接收HTML表单一样的方法设置编码,可是返回给客户端的全是乱码。我们花费了不少时间找到解决方法,不断的在网上搜索很多关于jsp与ajax传中文进行转换码编码问题,网上资料虽然多,但是也没有找到一个解决方法。我们只有自己修改代码,对程序进行分段测试,结果发现在ajax接收的中文值是乱码了,再次用jsp转换编码,还是不能转换成中文,问题还是没有得到解决。于是我们开始试想在ajax不使用escape函数进行编码转换,即直接使用ajax默认编码UTF-8进行传输只给jsp页面,在jsp页面我们用getBytes()方法再进行编码转换,结果发现jsp接收到从ajax发过来的中文字符串值可以转换成中文,问题就也解决了。表明在ajaxjsp进行转与jsp进行交互时,对于中文字符的传输,不用转换编码,直接传值换编码,这样就可以避免ajax传中文乱码。jsp进行转6.6系统环境移植问题。巴windows下开发的系统放到linux问题表象:系统开发完成后,我们进行了环境移植测试。由于我们系统开发都是在windows下进行,而服务器安装是巴windows下开发的系统放到linux尝试解决方法:在此我们试图想了各种问题出现的可能性,也使用了相应的解决方法。首先,我们在linux只中从新编译了我们数据库连接类Conn.java,结果还是不能访问,第二次,我们更新系统中lib下mysql驱动包,结果还是不能访问。最后我们更换linux下系统的根目录,结果也是不能在linux连接Mysql数据库。们自己的数据库连就是给driver变量值不一样,我们写的是com.mysql.jdbc.Driver,而教材上写的是解决方法:我们不是很了解linux操作系统,不知道问题出现原因何在,只有拿我接代码与教材上的数据库连接代码相比较,结果发现代码是有差别,org.gjt.mm.mysql.Driver们自己的数据库连就是给driver变量值不一样,我们写的是com.mysql.jdbc.Driver,而教材上写的是6.7.系统日志的处理系统日志我们采用的是lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论