收藏 分享(赏)

毕业论文-基于SpringMVC和Mybatis的云笔记.doc

上传人:weiwoduzun 文档编号:2819496 上传时间:2018-09-28 格式:DOC 页数:46 大小:1.20MB
下载 相关 举报
毕业论文-基于SpringMVC和Mybatis的云笔记.doc_第1页
第1页 / 共46页
毕业论文-基于SpringMVC和Mybatis的云笔记.doc_第2页
第2页 / 共46页
毕业论文-基于SpringMVC和Mybatis的云笔记.doc_第3页
第3页 / 共46页
毕业论文-基于SpringMVC和Mybatis的云笔记.doc_第4页
第4页 / 共46页
毕业论文-基于SpringMVC和Mybatis的云笔记.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、毕业设计报告(论文)报告(论文)题目:基于 Spring MVC 和 Mybatis 的云笔记 作者所在院系:计算机遥感信息技术学院 作者所在专业: 计算机科学与技术 作者所在班级: B12511 作 者 姓 名 : 王硕 作 者 学 号 : 20124051117 教 师 姓 名 : 耿炎 完 成 时 间 : 2016 年 5 月 北华航天工业学院教务处制北华航天工业学院本科生毕业设计(论文)原创性及知识产权声明本人郑重声明:所呈交的毕业设计(论文)基于 Spring MVC 和 Mybatis 的云笔记是本人在指导教师的指导下,独立进行研究工作取得的成果。除文中已经注明引用的内容外,本设计

2、(论文)不含任何其他个人或集体已经发表或撰写过的作品或成果。对本设计(论文)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业设计(论文)引起的法律结果完全由本人承担。本毕业设计(论文)成果归北华航天工业学院所有。本人遵循北华航天工业学院有关毕业设计(论文)的相关规定,提交毕业设计(论文)的印刷本和电子版本。本人同意北华航天工业学院有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;可以采用影印、缩印、数字化或其它复制手段保存论文;在不以营利为目的的前提下,可以公布非涉密毕业设计(论文)的部分或全部内容。特此声明毕业设计(论文)作者: 指导教师:年 月 日 年

3、月 日 北华航天工业学院毕业论文摘 要近些年来,随着经济的发展与科技的进步,互联网已经步入我们的生活,变成了我们生活不可缺少的重要部分。互联网时代的新笔记逐渐成为了一种潮流,它不同于我们所使用的传统的笔记本,是云服务器端的笔记,无论何时何地,只要存在互联网,便可以撰写自己的笔记。本文阐述了一个较为简单的云端笔记系统的设计与实现过程。存储数据则是使用了MySQL 数据库来进行存储。该系统采用了浏览器/服务器的开发模式,浏览器为客户端,采用 HTML5,jsp 等技术,构成静态页面;后台服务器则是使用 Spring 框架整合MyBatis,使用 MVC 分层思想,分为 Model、View、Con

4、troller 三层来处理业务逻辑。实现了登录模块、笔记本模块、笔记模块、音乐播放器模块。客户端与服务器则是以post 方式,采用 Ajax 进行交互,从而实现了页面的局部刷新功能。关键字:云笔记 Ajax MyBatis MySQL SpringMVC Java北华航天工业学院毕业论文AbstractIn recent years, with the development of economy and the progress of science and technology, the Internet has entered our life and become an indispe

5、nsable part of our life.New notes of the age of the Internet has gradually become a trend, it is different in that we use the traditional notebook, notes is the cloud server, whether when and where, as long as the existence of the Internet, they can write their own notes.This paper describes the des

6、ign and implementation of a relatively simple cloud notes system.Storage data is stored using the MySQL database.The system uses the browser / server development model, the browser for the client, using HTML5, JSP and other technologies, constitute a static page;Background server is the use of Sprin

7、g framework to integrate MyBatis, the use of MVC layered thinking, is divided into Model, View, Controller three layer to deal with business logic.The realization of the login module, notebook module, notebook module, music player module.The client and the server are in post mode, using Ajax to inte

8、ract, so as to realize the page local refresh function.Key words:Ajax MyBatis MySQL SpringMVC Java北华航天工业学院毕业论文目 录摘 要 IAbstract .II第 1 章 绪论 11.1 开发背景与现状 .11.2 开发本系统意义 .11.3 课题研究的主要内容 .1第 2 章 核心技术与理论体系 22.1 Spring MVC 概述 22.2 Servlet 与 JSP 32.2.1 Servlet 概述 32.2.2 JSP 概述 32.3 环境要求 .32.3.1 硬件环境 32.3.2

9、软件环境 4第 3 章 系统功能模块分析 53.1 系统总体设计 .53.2 系统模块设计 .63.2.1 登录模块 63.2.2 笔记本模块 .63.2.3 笔记模块 .73.2.4 音乐播放器模块 7第 4 章 数据库设计与说明 84.1 数据库的设计 .84.1.1 用户基本信息表 84.1.2 笔记本信息表 84.1.3 笔记信息表 94.1.4 收藏信息表 104.1.5 分享笔记信息表 .104.2 数据库各个表之间的联系 .11第 5 章 界面设计 125.1 登录模块界面设计 .125.1.1 登录界面 12北华航天工业学院毕业论文5.1.2 注册界面 125.1.3 修改密码

10、界面 135.2 主要功能模块 .135.2.1 主界面 135.2.2 笔记本界面 145.2.3 笔记界面 145.2.4 音乐播放器界面 15第 6 章 功能模块实现 166.1 后台服务器的搭建 .166.1.1 搭建总述 166.1.2 配置 applicationContext.xml 文件 166.2 登录模块 .176.2.1 用户注册 176.2.2 用户登录 196.2.3 修改密码 206.2.4 退出登录 206.3 笔记本模块 .206.3.1 加载笔记本列表 206.3.2 笔记本重命名 206.3.3 新建笔记本 216.3.4 删除笔记本 216.4 笔记模块

11、.216.4.1 加载笔记列表 216.4.2 新建笔记 216.4.3 修改及加载笔记信息 226.4.4 笔记的删除、移动与分享 226.4.5 笔记的收藏 226.5 音乐播放器模块 .236.5.1 播放器功能 236.5.2 上一曲、下一曲的实现 23结 论 24致 谢 25参考文献 26附 录 27北华航天工业学院毕业论文0第 1 章 绪论1.1 开发背景与现状现代互联网飞速发展,互联网已经融入人们的生活,人们学习新知识的方式也多种多样,在线学习也应运而生,譬如网易云课堂、新东方在线、腾讯课堂等。为了使网络学习的人能更方便的记录笔记,跟随老师的思路,随时随地查询笔记,云笔记诞生。所

12、谓云笔记,就是把个人所写的资料、笔记等存储在运营商的服务器的云端,可以通过手机、电脑同服务器打交道,从而得到自己记录的资料。其优点在于用户可以随时随地记录、分享、收藏笔记。就目前的现状来看,云笔记市场用户群体较小,基本没有行业的竞争,全国云笔记的商业也不过 10 家,普遍用于教育行业。但是由于互联网发展迅速,今后的工作、生活、学习基本都要和互联网打交道,一旦培养出用户的使用习惯,其用户依赖度也能够转化成较强的变现能力,在国内有一大部分网民已经开始熟练地使用云笔记,其发展的前景相当可观了。虽然起初云笔记仅仅用于在线学习的人群来记录笔记,但是不远的未来云笔记必将大众化,成为我们日常生活不可或缺的一

13、部分。1.2 开发本系统意义云笔记作为一款简单快速的个人记事备忘工具,操作界面简洁高效。会议记录、日程安排、生活备忘、奇思妙想、快乐趣事以及任何突发灵感都可快速记录到云笔记,还支持添加图片、超链接作为笔记附件以及音乐的欣赏。作为一个互联网产品,云笔记必将在人们未来的生活中起到很大的作用,为人们的生活增添一丝的色彩。1.3 课题研究的主要内容完成一个云笔记系统,包括登录模块、笔记本模块、笔记模块、音乐播放器模块。不同的用户通过注册,有自己的一个独立账户,根据这个独立账户进行登录,管理员也通过不同用户的 ID 区分每一个用户。登录成功的用户进入到主界面,主界面包括笔记本模块、笔记模块和音乐播放器模

14、块,用户可以新建、删除、重命名笔记和笔记本;用户还可以移动、分享、编辑笔记;闲暇之余还可以听一下由我们系统随机分配的音乐,以供消遣。北华航天工业学院毕业论文1第 2 章 核心技术与理论体系2.1 Spring MVC 概述Spring MVC 是 Spring Frame Work 的后续产品,已经融合了 Spring Web Flow。Spring MVC 框架几乎提供了构建 Web 应用程序的全部功能。使用 Spring 可插入MVC 架构,因此在使用 Spring 进行 WEB 项目进行开发时,可选择使用 Spring 的 Spring MVC 框架或集成其他 MVC 开发框架,像 My

15、Batis,Struts2 等。Spring MVC 框架是一个较为典型的 MVC 框架,其中 “M”指的是 model,及模型;“V”view,即视图; “C”Controller,即控制器。通过实现视图-模型-控制器的模式来更好地将业务、展现与数据进行分离。从这样一个方面来说,Spring MVC 与Struts、Struts2 非常类似。其中 Spring MVC 的设计就是围绕 Dispatcher Servlet 而展开的,Dispatcher Servlet 负责将发来的请求派到特定的 handler,即处理器。通过可配置的handler-mappings、view resolut

16、ion、locale 以及 theme-resolution 来处理相应的请求并且转到对应的视图。如图 2-1 所示。图 2-1 Spring MVC 运行流程北华航天工业学院毕业论文22.2 Servlet 与 JSP2.2.1 Servlet 概述Servlet 原本是由 sun 公司开发提供的一门主要用于开发动态 web 项目的技术。用户要想开发一个动态的 web 项目,必须导入由 sun 公司提供的 jar 包(该 jar 包中提供了一个 Servlet 接口)并完成以下两个步骤:1.编写的 java 类实现 Servlet 接口。2.把该类部署到 web 服务器当中,如 tomcat

17、。我们把实现了 Servlet 接口的 java 程序称为简称为Servlet。2.2.2 Servlet 运行过程Servlet 程序一般是由 web 服务器调用的,像上述我们所说的 tomcat,如果 web 服务器接收到来自客户端的 Servlet 的访问请求,首先会核对是否已经创建并装载了该 Servlet的实例对象。如果没有装载,就会创建并装载该 Servlet 的实例对象,然后调用该对象的初始化 init()方法;如果装载了,则 web 服务器会创建一个用于封装 HTTP 请求消息对象HttpServletRequest 和一个响应对象 HttpServletResponse,然后

18、接着服务器会将上述请求与响应对象作为参数传递到 Servlet 的 service()方法当中。最后,当 web 应用程序停止或重启时,在那之前 Servlet 引擎将调用 Servlet 的 destroy()方法销毁 Servlet,然后将Servlet 卸载。2.2.2 JSP 概述JSP 全称 Java Server Page,主要是由是由 sun 公司和其他公司共同创建并使用的动态网页开发标准。JSP 可以使 Java 代码和特定的动作指令嵌入到静态页面当中。页面中加入 Java 代码的格式为,其中嵌入在 HTML标签中的 Java 代码被称为 JSP,该 Java 代码则会被 JS

19、P 编译器编译成 Java Servlet,然后按照 Servlet 的执行顺序进行执行。2.3 环境要求2.3.1 硬件环境4G 及以上内存、酷睿 i3 及以上处理器、硬盘 20G 及以上容量。北华航天工业学院毕业论文32.3.2 软件环境客户端:FireFox 浏览器(其他支持 HTML5 的浏览器也可以)。服务器:MyEclipse8.5 版本以上、 MySQL 数据库、 Tomcat6.0。北华航天工业学院毕业论文4第 3 章 系统功能模块分析3.1 系统总体设计由于是互联网项目,所以需要将云笔记系统做成两个版本-局域网版和互联网版。局域网版就是当其他计算机与本机处于同一局域网就可以访

20、问云笔记系统,比如路由器、WiFi 等;互联网版就是只要本机服务器开启后,所有能够上网的计算机都可以访问云笔记系统。那时候的“云笔记”才能够称作真正的云笔记。系统软件主要分为两大部分:服务器端与客户端。其中客户端由浏览器充当,提供用户使用的全部模块,包括用户的登录、注册、修改密码、退出登录、回收站;笔记本和笔记的创建、重命名、删除;其中笔记还包括移动、分享、查找、收藏分享功能;简易的音乐播放器播放音乐等功能细节。如图 3-1 所示。图 3-1 云笔记层次结构图北华航天工业学院毕业论文53.2 系统模块设计3.2.1 登录模块所谓登录模块,就是完成不同用户个人信息的分离,不同用户都有自己的私人空

21、间,其他用户不能干涉。登录模块应分为登录、注册、修改密码、退出登录四个部分。登录时,当用户未输入用户名或密码的任意一项时,系统进行拦截,并提示用户名、密码不能为空;当用户输入错误的用户名时,系统进行拦截并提示用户名错误;当用户输入正确的用户名,但密码错误时,系统进行拦截并提示密码错误,此时用户名错误的提示信息消失;只有当用户名密码全部正确时,可进入系统。当新用户首次访问我们的网站时,可在主页点击注册按钮进入注册界面。注册界面包括用户名、昵称、密码、确认密码四个选项。其中用户名是用户登录时所使用的关键字,不可重复;昵称是用户的个性名字,当用户分享笔记时,用户的昵称会显示在分享标题的前端,可重复;

22、密码则是用户的登录密码,可重复。当用户点击注册时,若有任何一项没有输入的话,都会提示该项不能为空;若输入的用户名在数据库中已存在,则提示用户名已存在;若密码输入的小于 6 位或大于 20 位,则提示密码应在 6-20 位之间;若用户两次输入的密码不一致,则提示用户两次输入的密码不一致,请重新输入;只有当用户名为全新的用户名,昵称不为空,两次密码输入一致且输入的位数在 6-20 位之间时方能注册成功。当注册成功时,自动转到登录界面。另外,注册界面进入时输入框有提示,当用户光标切入时,提示信息自动消除。修改密码的页面则包括原密码、新密码和确认密码三个选项。原密码就是该用户登录时所输入的密码,该选项

23、输入不正确无法修改密码;新密码和确认密码则类似于注册页面的密码和密码确认的规则,这里就不再多说,空字符串检测同样也存在。退出登录是一个按钮,当用户点击“退出登录”时,则页面由主页面转到登录界面,完成退出登录。此处强调一点,退出登录具有保护功能,当我们知道主页面的网址直接访问时,未登录的用户则会连接到登录界面,无法访问主页面;已登录未退出登录的用户则能够直接连接到该用户的主页面。3.2.2 笔记本模块笔记本就是用来存储笔记目录的一个“容器”。它包括笔记本的创建、重命名、删除功能,笔记本默认按创建时间排序。创建笔记本就是字面上的意思,用户可以创建一个或多个笔记本,笔记本名字可以重复,但不能为空。北

24、华航天工业学院毕业论文6重命名笔记本就是将选中的笔记本重新命名,但不能重命名为空,原本在该笔记本目录下的笔记仍然在该笔记本下。删除笔记本就是将该笔记本删除,同时删除该笔记本下面的所有笔记。3.2.3 笔记模块笔记是存在于笔记本之下的一个目录,是真正存储笔记的实体,它包括创建、修改、重命名、删除、移动、分享、收藏功能,笔记默认按创建时间排序。笔记的创建和重命名类似于笔记的创建,这里不再细讲。笔记的修改则是修改笔记本身的内容,例如加几句话、删除几句话、加点图片、超链接等等。笔记的删除则是包括硬删除和软删除,硬删除是直接将笔记删除,软删除就将笔记放入回收站,当用户误删了笔记时,可以在回收站找到并恢复

25、笔记。回复时可以选择默认笔记本或者其他笔记本,方便用户。笔记的移动就是将当前笔记移动到任何一个你想要移动的位置。笔记的分享就是将自己喜欢的笔记分享到平台,供所有用户一起欣赏,用户可以通过关键字搜索各种用户分享的笔记,也可以不输入关键字,直接搜索,则搜索出来的笔记是所有用户分享的笔记,分享笔记的标题前都会有分享用户的昵称。笔记的收藏就是用户认为比较好的分享的笔记收藏起来,放在用户自己的收藏夹里,可供用户随时查阅。3.2.4 音乐播放器模块音乐播放器模块就是由系统提供几首歌,用户可以进行歌曲之间的切换,如上一曲、下一曲、暂停、音量大小的调节、静音、调节歌曲播放的进度功能。北华航天工业学院毕业论文7

26、第 4 章 数据库设计与说明4.1 数据库的设计本系统采用的是 MySQL-5.5 版本的数据库,编码默认为 utf-8,分为 5 个表,分别为用户基本信息表(cn_user)、笔记本信息表(cn_notebook)、笔记信息表(cn_note)、收藏信息表(cn_collect) 和分享笔记信息表 (cn_share),数据库设计具体如下:4.1.1 用户基本信息表存储用户信息的表为 cn_user 表,其中 cn_user_id 是用户的 ID,用于区分用户的唯一主键;cn_user_name 存储用户注册时的用户名,用户登录的唯一标识,不可重复且不能为空;cn_user_password

27、 存储用户密码,该密码为了保护用户隐私所以进行了加密;cn_user_pwd 同样存储的也是用户密码,该密码未加密,方便管理员获取用户数据,若以后真正成为线上产品,该字段将被删除;cn_user_token 为用户的标志位,标注用户等级;cn_user_desc 为用户昵称,方便用户个性化,该用户昵称将随着用户分享笔记操作一起分享出去。如表 4-1 所示。表 4-1 用户基本信息表(cn_user)字段名 数据类型 长度 允许空值 主外键关系 描述cn_user_id varchar 100 否 主键 用户 IDcn_user_name varchar 100 否 用户名cn_user_pas

28、sword varchar 100 否 加密后的密码cn_user_pwd varchar 100 否 未加密的密码cn_user_token varchar 100 是 标志位cn_user_desc text 0 是 用户昵称4.1.2 笔记本信息表存储笔记本信息的表为 cn_notebook 表,其中主键为 cn_notebook_id,用户区分每一个笔记本;cn_user_id 是用户 ID,通过用户 ID 区分不同的笔记本应该属于哪一个用户,使笔记私有化;cn_notebook_type_id 是笔记被类型的 ID,该字段用于标志笔记本的类型;cn_notebook_name 是笔记

29、本的名字,即用户创建笔记本时所输入的字符串,不能为空;cn_notebook_desc 为笔记本的描述信息,描述笔记本的作用;cn_notebook_createtime 字段是笔记本的创建时间,不能为空。如表 4-2 所示。北华航天工业学院毕业论文8表 4-2 笔记本信息表(cn_notebook)字段名 数据类型 长度 允许空值 主外键关系 描述cn_notebook_id varchar 100 否 主键 笔记本 IDcn_user_id varchar 100 否 外键 用户 IDcn_notebook_type_id varchar 100 否 外键 笔记本类型 IDcn_noteb

30、ook_name varchar 500 否 笔记本名字cn_notebook_desc text 0 是 笔记本描述cn_notebook_createtime timestamp 0 否 笔记本创建时间4.1.3 笔记信息表存储笔记信息的表为 cn_note 表,其中主键为 cn_note_id,用户区分唯一的笔记信息;cn_note_id 是该笔记所在笔记本的 ID,用于区分笔记的所属关系;cn_user_id 是该笔记的用户 ID;cn_note_status_id 是笔记本状态的 ID,备用;cn_note_type_id 是笔记本类型ID,同样也是备用字段;cn_note_titl

31、e 是笔记的标题,用于存储用户所创建的笔记标题;cn_note_body 是笔记内容字段,用于存储用户所记录的笔记内容,该字段是最为核心的字段;cn_note_create_time 字段是笔记创建的时间字段,用于存储用户创建笔记的初试时间;cn_note_last_modify_time 字段是用于存储用户最后一次修改笔记的时间,该字段方便笔记列表进行排序。如表 4-3 所示。表 4-3 笔记信息表(cn_note)字段名 数据类型 长度 允许空值 主外键关系 描述cn_note_id varchar 100 否 主键 笔记 IDcn_notebook_id varchar 100 否 外键

32、 笔记本 IDcn_user_id varchar 100 否 外键 用户 IDcn_note_status_id varchar 100 否 外键 笔记本状态IDcn_note_type_id varchar 100 否 外键 笔记本类型 IDcn_note_title varchar 500 是 笔记标题cn_note_body longtext 0 是 笔记内容cn_note_create_time bigint 20 是 笔记创建时间cn_note_last_modify_time bigint 20 是 最后一次修改时间北华航天工业学院毕业论文94.1.4 收藏信息表存储用户收藏的笔

33、记我们额外用一个 cn_collect 表存储,这样方便存储,同时也能提高数据的读取速率。其中 cn_collect_id 是用户收藏的笔记的 ID,用于区分该笔记唯一的存在性;cn_user_id 存储的是收藏该笔用户的 ID,而并不是该笔记原有“主人”的ID; cn_note_id 用于存储该笔记的笔记 ID;cn_user_desc 用于存储该笔记原有“主人”的昵称;cn_collect_title 用户存储收藏笔记的标题;cn_collect_body 用于存储收藏笔记的笔记内容。如表 4-4 所示。表 4-4 收藏信息表(cn_collect)字段名 数据类型 长度 允许空值 主外键

34、关系 描述cn_collect_id varchar 100 否 主键 收藏笔记 IDcn_user_id varchar 100 否 外键 用户 IDcn_note_id varchar 100 否 外键 笔记 IDcn_user_desc varchar 100 是 用户昵称cn_collect_title varchar 100 是 收藏笔记标题cn_collect_body varchar 100 是 收藏笔记内容4.1.5 分享笔记信息表同样的,存储用户分享笔记的信息使用表 cn_share 来存放。其中 cn_share_id 用来存放分享笔记的 ID,用于区分该笔记存在的唯一性;

35、cn_user_id 是分享该笔记的用户的ID; cn_note_id 被分享前的笔记 ID;cn_user_desc 是分享该笔记的用户的昵称;cn_share_title 是分享笔记的标题;cn_share_body 是分享笔记的内容。如表 4-5 所示。表 4-5 分享笔记信息表(cn_share)字段名 数据类型 长度 允许空值 主外键关系 描述cn_share_id varchar 100 否 主键 分享笔记 IDcn_user_id varchar 100 否 外键 用户 IDcn_note_id varchar 100 否 外键 笔记 IDcn_user_desc varchar

36、 100 是 用户昵称cn_share_title varchar 100 是 分享笔记标题cn_share_body varchar 100 是 分享笔记内容北华航天工业学院毕业论文104.2 数据库各个表之间的联系用户信息表 cn_user 是存储用户注册信息的表,其中 cn_user_id 作为用户的唯一标示,以外键的形式存在于其他四个表中,以用来标注该信息唯一属于该用户。而cn_notebook_id 以外键的形式存在于笔记信息表 cn_note 中,用来标注该笔记属于哪一个笔记本,当 cn_user_id 和 cn_notebook_id 唯一时,笔记则就会唯一存在于某用户的某一个笔

37、记本下。存在于收藏信息表和分享信息表中的 cn_note_id 用于标注该收藏的笔记和分享的笔记属于哪一个用户。对于回收站,我们并没有单独列出一个表来存储被删除的笔记,而是在 cn_note 表中加了一个标志位-cn_note_status_id,该标志位为 0 时,表示笔记为正常状态的笔记;当该标志位为 1 时,表示该笔记已处于回收站状态。这样就能实现回收站功能。各表之间的关系如图 4-1 所示。图 4-1 各数据表之间的关系北华航天工业学院毕业论文11第 5 章 界面设计5.1 登录模块界面设计5.1.1 登录界面作为一个互联网产品,用户登录是必不可少的,所以为云笔记系统设计了登录界面。如

38、图 5-1 所示。图 5-1 登录界面5.1.2 注册界面对于新用户无法登陆,设计了注册界面,以供新用户注册信息,如图 5-2 所示。图 5-2 注册界面北华航天工业学院毕业论文125.1.3 修改密码界面应用户的需求,保障用户的账户安全,设计一个修改密码的界面,如图 5-3 所示。图 5-3 修改密码界面5.2 主要功能模块5.2.1 主界面用户登录后,用户所操作的界面为主要界,核心功能都将在此界面实现,包括笔记本、笔记、编辑框、显示框、收藏夹、回收站、查询分享、显示查询结果等,如图 5-4所示。图 5-4 主界面北华航天工业学院毕业论文13以下我们将详细介绍各个功能模块的设计。5.2.2

39、笔记本界面如图 5-5 所示,它包括了笔记本列表信息、创建新的笔记本按钮,在笔记本列表的最下边,还存在回收站和收藏夹两个按钮。图 5-5 笔记本界面当我们点击新建笔记本的按钮时,会弹出新建笔记本的选项框,如图 5-6 所示。图 5-6 新建笔记本界面5.2.3 笔记界面作为云笔记的核心功能模块,笔记界面也占有了主界面的很大一部分,如图 5-7 所北华航天工业学院毕业论文14示。图 5-7 笔记界面新建笔记的界面类似于新建笔记本,这里不再贴图。5.2.4 音乐播放器界面本系统中,音乐播放器只是一个简易的播放器,其界面也相对简单,如图 5-8 所示。图 5-8 音乐播放器界面北华航天工业学院毕业论

40、文15第 6 章 功能模块实现6.1 后台服务器的搭建6.1.1 搭建总述对于局域网版与互联网版的云笔记实现,局域网版采用的是本机分享 WiFi,其他计算机连接到本机的 WiFi 便可以访问云笔记系统,所以只要知道本机的 WiFi 分享出来的IP 的值,然后将 localhost 换为相应的 IP 值即可,在“cmd”里面输入 ipconfig 即可查看当前本机以及 WiFi 的 IP 地址;互联网版的云笔记则需要一个名为“ngwork”的软件,将本地的 localhost:8080 端口映射到互联网上,域名由自己定。然后通过访问域名就能够访问本机的 localhost: 8080 端口了,这

41、样就实现了云笔记的互联网产品。系统后台服务器主要由 Java 编写,利用 Spring MVC 框架整合 MyBatis,利用 JDBC连接数据库。具体步骤如下:首先导入相应的框架包:Spring 的 IOC、AOP 、DAO 包,Mybatis 开发驱动包,数据库的驱动包、连接池 DBCP 开发包以及两大框架的整合包 mybatis-spring 包。然后导入相应的配置文件 applicationContext.xml,并在其中配置 DataSource DBCP、SQLSessionFactoryBean 和 MapperScannerConfigurer,再编写相应的实体类,定义 SQL

42、 文件、定义 DAO 接口、最后实现生成 DAO 就好。6.1.2 配置 applicationContext.xml 文件首们配置 DataSource DBCP,即数据库连接池(DATABASE CONNECTION POOL),代码如下:北华航天工业学院毕业论文16在 applicationContext 中,所有的配置都将写在标签中,id 属性是数据库连接池的名字,class 的值为 DBCP.jar 包中,BasicDataSource 的位置。 为的属性,username 是数据库的用户名,password 是数据库的密码,driverClassName 是DBCP 的驱动,它的

43、value 为驱动的路径,url 是数据库的配置信息。将上述代码写完整后,Myeclipse 便可以访问数据库了。然后配置 SqlSessionFactoryBean,它的作用是可以用 SQL 语句来操作数据库,代码如下:其中 dataSource 是路径的来源,它指向数据库连接池 dbcp,这个 dbcp 并不是专有名词,而是上述的 id 值。mapperLocations 是 SQL 语句所在配置文件的路径,*.xml指代该路径下所有.xml 的配置文件均可访问。最后,将这些文件信息注入容器,开启自动扫描即可,代码如下:其中 basePackage 指代的是 DAO 文件包的路径,开启自动

44、扫描后,将扫描 base-package 路径下的所有注解,即 rog.nciae.note。6.2 登录模块6.2.1 用户注册新用户首次登录,注册是不可避免的,首先用户进入注册页面,当用户填写完信息点击注册时,页面先进行校验,不符合要求的数据将进行提示更改,比如当用户名为空、北华航天工业学院毕业论文17两次密码输入不一致等。当用户输入合法数据时,浏览器将通过 tomcat 发送 ajax 请求,请求方式为 post,将用户注册的信息以 json 串的形式发送到服务器端,服务器端此时接收数据,浏览器端发送数据时的 url(graduation_program/user/regist.do)在

45、服务器端以注解 RequestMapping的方式标明。为了完整的接受浏览器所发过来的 json 数据,我们需要一个 user 的实体类方便接收,该实体类包括用户名,密码(加密与非加密),昵称,用户 ID:private String cn_user_id;private String cn_user_name;private String cn_user_password;private String cn_user_token;private String cn_user_desc;private String cn_user_pwd;数据将传送到 org.nciae.note 包下,由于

46、数据是注解的方式,将被自动扫描到容器中,当浏览器端访问某一个 IP 地址时,将在 tomcat 容器中寻找对应的 IP,注册时的 URL 为regist.do,此时,我们只需要将对应的方法函数加上对应的注解RequestMapping(/regist.do)就可以了,然后将对应的变量加以 Resource 的注解注入到容器中,将方法体加以ResponseBody 转换成 json 类型的数据,同时方法的参数就是接收过来的浏览器端传递过来的数据了。然后将参数传递到方法中,简历 UserService 接口和相应的 UserServiceImp 接口实现类处理浏览器端传递过来的数据即可。为了保障用

47、户信息安全,我们对用户的信息进行了加密,加密模式为 MD5,即使数据库被非法使用者盗取,想要反编译出 MD5 加密的信息也是相当困难的,有一定的安全性。用户 ID 是通过 UUID 的方式自动生成的 ID,比系统自己编号要方便安全的多。在数据处理的过程中,首先调用了 userDao.findByName()方法,查询该用户名有没有被使用,如果被使用了则返回 false,提示用户该用户名已存在,如果没有被使用,则调用 userDao.save()方法,该方法可以说是 MyBatis 的关键方法,通过 Dao 访问org.nciae.note.sql 包中的*.xml ,当找到 userDao 对

48、应的 save 方法字段时,将执行UserMapper.xml 中的 id=“save”的 SQL 语句,即:insert into cn_user (cn_user_id,cn_user_name,cn_user_password,cn_user_desc,cn_user_pwd)values(#cn_user_id,#cn_user_name,#cn_user_password,#cn_user_desc,#cn_user_pwd)北华航天工业学院毕业论文18此时将把用户信息插入到数据库表中,这样一个新的用户就注册完成了!但此时注册成功仅限于后台方面,还需要将注册成功的效果展现在前端。我们

49、把 NoteResult 类型封装成 json 串的形式,将其作为结果返回到 html 前端,NoteResult 有三个字段,分别是private int status;/状态 等于 0 时成功,非 0 时失败private String msg;/消息private Object data;/所要传输数据前端接收数据,判断回调函数是否成功,若成功,则将成功的结果显示到页面上。$.ajax(url:“http:/192.168.191.1:8080/graduation_program/user/regist.do“, type:“post“,data:“username“:regist_username,“pwd“:regist_password,“nickname“: nickname,dataType:“json“,success:function(result)/成功回调函数if(result.status=0)alert(result.msg);$(“#back“).click();/触发返回按钮的单击事件else if(result.st

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报