基于JSP的单词通系统的设计与实现 毕业论文.doc
《基于JSP的单词通系统的设计与实现 毕业论文.doc》由会员分享,可在线阅读,更多相关《基于JSP的单词通系统的设计与实现 毕业论文.doc(53页珍藏版)》请在三一文库上搜索。
1、本科生毕业论文(设计) 题 目 基于 JSP 的单词通系统的设计与实 现 学 院 计算机学院 专 业 计算机科学和技术 学生姓名 学 号 年级 指导教师 教务处制表 二 一 年五月二十六日 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 基于基于 JSP 的单词通系统的设计与实现的单词通系统的设计与实现 计算机科学与技术 摘要 英语在生活中越来越重要,如何简单有效地学习英语成为人们关心的问题,单词通系统的应 用能够提高背单词的效率,帮助用户简单快速掌握英语。基于 JSP 的单词通系统是一个集单词查询, 用户注册登陆,生词表管理,根据艾宾浩斯记忆曲线背诵单词等功能为一体的辅助学习英语系统
2、。本 文研究了单词通系统在我国发展状况,分析了 JSP 技术的基本语法和运行机制,使用 JSP 技术进行动 态页面设计,研究了 MVC 三层框架的组成和运行过程,对艾宾浩斯记忆曲线进行了研究。利用 JSP 技术和 MVC 框架实现了基于 JSP 的单词通系统。搭建了基于 B/S 模式的三层架构模式,将理论技术 运用于实际生活的研究,使更多的人受益于现代科技,因此此项研究颇具现实意义。 主题词 JSP;单词通系统;MVC 框架;B/S 模式;艾宾浩斯记忆曲线 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 2 The Design 大学本科毕业论文基于 JSP 的单词通系统的设计与实现
3、24 进行跳转。 运用 Flash 按钮使界面更加美观,有好,方便用户的使用和操作。 按钮功能介绍: 首页:用于跳转到首页,便于对单词意义进行查询; 登陆:注册用户登陆,查看自己的生词库,背诵单词,查看自己的学习情况; 我的生词表:登陆用户查看自己的生词,可以对生词添加和删除; 背单词:登陆用户背诵生词表单词,并可根据艾宾浩斯记忆曲线和自己自身情况背 诵单词; 修改个人信息:登陆用户修改自己的注册信息(性别,出身日期,邮箱) ; 修改密码:登陆用户修改登陆密码; 注册:用户注册,填写个人信息,之后系统自动记录学习过程; 退出登陆:登陆用户退出登陆,系统暂停记录学习过程,只可查询单词解释。 界面
4、中间是艾宾浩斯记忆曲线,让用户直观地了解记忆曲线。记忆曲线下方可以查 询生词。 界面的 HTML 设计通过 FRAMESET 元素,把页面分成三个部分,头部的 Flash 按钮 (top.html) ,中间的主框架对单词查询(mainframe.html),底部的标题(bottom.html)。主要 框架代码如下: 当遇到生词,可以把单词输入进行单词解释查询,通过互联网就会搜索后台数据库, 寻找单词解释。单词查询结果如下图: 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 25 图 5.2 单词查询结果 主要的数据库连接代码和数据选择操作代码如下: String sql = “sele
5、ct word,explain from dic where word=“+s+“; try DBManager db = new DBManager(); Connection dbCon =db.getDBConnection(); ResultSet rs = null; Statement dbStatement = null; dbStatement = dbCon.createStatement(); rs = dbStatement.executeQuery(sql); while (rs.next() Word t=new Word(); t.setWord(rs.getStr
6、ing(“word“); t.setExplain(rs.getString(“explain“); words.add(t); db.closeConnections(); catch (Exception e) e.printStackTrace(); 本系统可以进行模糊查询,当忘记欲查询单词的正确拼写时,可将忘记字母以“?” 或代替,系统将列出所有符合条件之单词供选择,方便用户查询单词。 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 26 用户注册和登录系统是方便记录用户在背诵学习的工程,可以根据记忆曲线选择自己 的背诵的单词。 图 5.3 注册界面 图 5.4 登陆界面 在注
7、册中判断注册失败有该会员名已被使用或者输入的字符不符合要求,以及在输入密 码时两次输入的密码不相同,主要判断代码如下: try m=sql.executeUpdate(); catch(SQLException exp) backNews=“该会员名已被使用或你的输入不符合要求!“; reg.setBackNews(backNews); else backNews=“两次输入的密码不相符!请重新输入!“;reg.setBackNews(backNews); elsebackNews=“信息填写不完整或名字中有非法字符,请重新输入!“; reg.setBackNews(backNews); 登陆
8、后,系统就对用户的背诵过程进行记录,用户可以添加删除自己的生词。 下图是添加生词后的生词本: 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 27 图 5.5 生词本 系统记录每次添加单词的用户名,把用户名和单词作为生词表的主码,用于区别不 同用户添加的单词。以下是添加生词的主要代码,根据登陆用户的用户名 logname 来判断 不同用户的生词表。及时不同用户都存有相同的单词也不会混淆。 Vector newwords = new Vector(); String snewword=(String)req.getSession().getAttribute(“newword“); St
9、ring sexplain=(String)req.getSession().getAttribute(“explain“); newwords nwd = new newwords(); nwd.setWord(snewword); nwd.setExplain(sexplain); String sql = null; sql = “insert into newwords(name,word,explain)values(“+logname+“,“+ snewword + “,“+ sexplain+“)“; 用户可以选择已背生词选择没有背诵过的单词,这样可以减少重复背诵增加效率。 添加
10、生词后可以进行记忆生词,下图是生词背诵界面: 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 28 图 5.6 背诵界面 背诵生词时是根据解释和单词的词性在空白表格中填入单词,提交后系统会自动判 断,精确单词的背诵正误,并给出正确答案,这样可以帮助用户及时更改,更好的学习。 以下代码是对填入的单词与数据库正确的单词进行比较,判断单词的正误,并且把 背诵单词的时间写入数据库: String sqls = “select * from newwords where name = “ + logname + “; try int i = 1; DBManager db = new DBMan
11、ager(); Connection dbCon = db.getDBConnection(); ResultSet rs = null; Statement dbStatement = null; dbStatement = dbCon.createStatement(); rs = dbStatement.executeQuery(sqls); while (rs.next() String sanswer = req.getParameter(i + “); i+; boolean boo = sanswer.equals(rs.getString(“word“); if (!boo)
12、Word tt = new Word(); tt.setWord(rs.getString(“word“); tt.setExplain(rs.getString(“explain“); 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 29 SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd“);/ String time = df.format(new Date();/ String sqlhc = “update newwords set data=“ + time + “ where word = “ + rs.getSt
13、ring(“word“) + “; DBManager db1 = new DBManager(); Connection dbCon1 = db1.getDBConnection(); Statement dbStatement1 = null; dbStatement1 = dbCon1.createStatement(); dbStatement1.executeUpdate(sqlhc); answers.add(tt); SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd“); String time = df.format(
14、new Date(); String sqlhc = “update newwords set data=“ + time + “ where word = “ + rs.getString(“word“) + “; DBManager db1 = new DBManager(); Connection dbCon1 = db1.getDBConnection(); Statement dbStatement1 = null; dbStatement1 = dbCon1.createStatement(); dbStatement1.executeUpdate(sqlhc); db.close
15、Connections(); catch (Exception e) e.printStackTrace(); 背错单词进行提醒: 图 5.7 背错单词纠错 在背诵单词的同时把背诵的时间日期写入生词数据表,记录用户背诵这些单词的时 间,可以根据艾宾浩斯记忆曲线,在不同的时间:当天,1 天后,2 天后,3 天后,5 天 后,7 天后,进行重复记忆,加深记忆,提高记忆效果。运用下拉表单的形式主要是可以 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 30 方便用户选择,按照时间先后次序,可以提醒用户先选择 7 天前背诵单词进行复习,巩 固背诵,提高记忆效果。 图 5.8 选择不同时间背诵的
16、单词 单词背诵选择界面和后台程序主要代码如下: 界面主要代码: 请选择天数 7天前 5天前 3天前 2天前 1天前 0天前 后台程序主要代码: String date=(String) req.getParameter(“select“); int iDate = 0; if(date.equals(“seven“) iDate = 7; else if(date.equals(“five“) iDate = 5; else if(date.equals(“three“) iDate = 3; else if(date.equals(“two“) iDate = 2; else if(date
17、.equals(“one“) iDate = 1; else iDate = 0; Calendar cal = Calendar.getInstance();/使用默认时区和语言环境获得一个日历。 cal.add(Calendar.DAY_OF_MONTH, -iDate);/取当前日期的前N天. java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(“yyyy-MM-dd“); 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 31 String date1=format.format(cal.getTi
18、me(); String sqls = “select * from newwords where name = “ + logname + “ and data=“+date1+“;“; try DBManager db = new DBManager(); Connection dbCon = db.getDBConnection(); ResultSet rs = null; Statement dbStatement = null; dbStatement = dbCon.createStatement(); rs = dbStatement.executeQuery(sqls); w
19、hile (rs.next() Word word = new Word(); word.setWord(rs.getString(“word“); word.setExplain(rs.getString(“explain“); answers.add(word); db.closeConnections(); catch (Exception e) e.printStackTrace(); 单词背诵正确率查询: 图5.9 背诵正确率曲线 通过背诵正确率曲线可以清楚地看到用户在记忆单词时学习情况,了解自己的情况不 断地调整学习对策,可以有效地背诵单词。 5.3 本章小结本章小结 本章主要利用
20、 Dreamweaver 对界面进行设计,利用 JSP 技术和 MVC 框架进行系统设计, 实现系统,完善系统单词查询,登陆,添加生词等功能。熟悉 HTML 标记语言,利用 JSP 技术在 HTML 文本中添加代码实现动态功能。利用 Flash 按钮,美化界面。利用 PostgreSQL 数据库进行数据存储。 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 32 第六章第六章 小结小结 经过一段时间的毕业设计,在指导老师的指导下基本完成了单词通系统,本系统功 能还不是十分的完善,完成了主要的基本功能:单词的查询,用户注册和登陆,生词的 添加删除,单词背诵,根据艾宾浩斯记忆曲线选择背诵等
21、功能。 通过这次毕业设计以及撰写本毕业论文,我学会了利用先进的 JSP 技术结合数据库 的方法和技术,而且对程序中的错误有进一步的认识。我将大学学到的软件设计充分应 用于实践,除此之外,我还掌握了 Dreamweaver 等开发工具,提高了自己的动手能力。 我对于软件设计的相关步骤和流程有了更深刻的理解,熟悉并掌握了数据库操作和 HTML 的编写,也对数据库语言的功能有了更深刻的体会。锻炼我整体分析能力,在系统分析 和开发过程中需要全面考虑整体分析,因为只有这样才能设计和开发出使用户满意的系 统。同时,在这里感谢我的指导老师悉心指导。 本系统实现了单词通所应有的基本功能,但是还一部分未能实现,
22、今后分析问题应该 全面细致,设计完整的系统,使操作更加方便。该系统还存在很多不足,由于本人对界 面设计了解不多,导致对界面的控制能力不够,界面不美观,数据库方面的知识不足, 对与各个表之间的关系不能完全掌握,数据表设计简单。在对用户个人信息的输入时, 密码没有加密处理。以前对这一问题没有很高的认识。对用户密码信息就行加密处理, 可以很好的安全手段,使用户的权益得到保证。加密技术是网络安全采取的主要安全保 密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送, 到达目的地后再用相同或不同的手段还原(解密) 。加密技术包括两个元素:算法和密钥。 算法是将普通的文本(或者可以
23、理解的信息)与一窜数字(密钥)的结合,产生不可理 解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。学习和了解加密技术 后,在以后的系统设计时,应对用户信息进行安全加密,保证用户的权益,使系统设计 更加完善。 在系统开发过程中,充分的学习到 MVC 框架,MVC 框架对于系统开发和重用都起到很 好的效果。希望在今后自己能继续对 JSP 等技术进行深入的学习。 大学本科毕业论文基于 JSP 的单词通系统的设计与实现 33 参考文献参考文献 1 明日科技.JSP 开发技术大全M.北京:人民邮电出版社, 2007. 2 Y.Daniel Liang.Java 程序设计导论M.北京:机械工业出
24、版社, 2007. 3 明日科技 王国辉 网易.JSP 数据库系统开发案例精选M .北京:人民邮电出版社,2006 4 王珊 萨师宣.数据库系统概论M.北京:高等教育出版社, 2006. 5耿祥义.JSP 基础教程M .北京:清华大学出版社,2004. 6Bruce Eckel 著,Thinking In JavaM.北京:机械工业出版社,2009. 7陈威,白伟明,李楠著,JSP 工程应用与项目实践M.北京:机械工业出版社,2009. 8孙卫琴,精通Struts,基于MVC的Java Web设计与开发M.北京:电子工业出版社,2008.87-35. 9 武延军 黄飞跃. 精通 JSP 编程技
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于JSP的单词通系统的设计与实现 毕业论文 基于 JSP 单词 系统 设计 实现
链接地址:https://www.31doc.com/p-3920679.html