毕业设计论文基于SpringMVC的云笔记系统.docx

上传人:b****1 文档编号:2430678 上传时间:2023-05-03 格式:DOCX 页数:26 大小:171.40KB
下载 相关 举报
毕业设计论文基于SpringMVC的云笔记系统.docx_第1页
第1页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第2页
第2页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第3页
第3页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第4页
第4页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第5页
第5页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第6页
第6页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第7页
第7页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第8页
第8页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第9页
第9页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第10页
第10页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第11页
第11页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第12页
第12页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第13页
第13页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第14页
第14页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第15页
第15页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第16页
第16页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第17页
第17页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第18页
第18页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第19页
第19页 / 共26页
毕业设计论文基于SpringMVC的云笔记系统.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计论文基于SpringMVC的云笔记系统.docx

《毕业设计论文基于SpringMVC的云笔记系统.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于SpringMVC的云笔记系统.docx(26页珍藏版)》请在冰点文库上搜索。

毕业设计论文基于SpringMVC的云笔记系统.docx

毕业设计论文基于SpringMVC的云笔记系统

河南科技学院

2015届本科毕业论文(设计)

论文(设计)题目:

基于SpringMVC的云笔记系统

 

学生姓名:

所在院系:

信息工程学院

所学专业:

计算机科学与技术

导师姓名:

完成时间:

2015-05-10

 

摘要

本课题所实现的云笔记系统改变了传统的记录笔记的模式,采用云笔记系统,这种新式的方式使得用户在学习中更加方便快捷的记录,分享,收藏笔记。

本系统采用b/s开发模式,分为服务器端和浏览器端。

在服务器端主采用MySQL数据库使用MyBatis技术访问数据库。

使用Spring框架管理组件,整合MyBatis,处理一些通用通用的业务。

使用MVC分层思想,将代码分为控制层,业务层,持久层和视图层,实现了登陆模块,笔记本模块,和笔记模块。

登陆模块的主要包括登陆,注册,修改密码和退出登陆功能。

笔记本模块主要包含新增,修改,删除功能。

笔记模块包含查询,新增,修改,删除功能。

在浏览器端主要采用Ajax处理客户端逻辑以及发送异步请求并实现了系统界面的一些动态效果。

关键词:

Ajax,MySQL,MyBatis,SpringMVC,Spring,Java。

 

ABSTRACT

本课题所实现的电子点菜系统改变了传统的记录笔记的模式,采用云笔记系统,这种新式的方式使得用户在学习中更加方便快捷的记录,分享,收藏笔记。

关键词JQuery,MySQL,MyBatis,SpringMVC,Spring,Java

Thearticlenotescloudsystemchangedthepatternoftraditionalnotetaking,thecloudnotessystem,thisnewwayallowsuserstomoreeasilyandquicklyinthestudyrecord,share,usednotes.

Thesystemusestheb/sdevelopment model, dividedintoserver andbrowser. Atthe endofthemain server usingMySQLdatabase accesstothedatabaseusingMyBatistechnology. TheintegrationofMyBatis usingtheSpringframework, managementcomponent, some general business.UsingtheMVChierarchicalthinking,thecodeisdividedintocontrollayer,businesslayer,persistencelayerandviewlayer,toachievetheloginmodule,moduleofnotebook,andnotesmodule. Thelandingmodule includes login, registration, modifythepassword and exittheloginfunction. Thenotebook modulemainlyconsistsof add, modify,deletefunction. Note module containsthequery, add, modify, deletefunction. AttheendofthebrowserusesAjaxclient-sidelogicandsendsanasynchronousrequestandthesysteminterfaceofsomeofthedynamiceffect.

Keywords:

 Spring Ajax, MySQL, MyBatis, SpringMVC, Spring, Java.

 

目录

1.绪论........................................................5

1.1项目背景及意义………………………………………………………5

1.2项目现状及趋势概述…………………………………………………5

2.系统理论和技术路线..........................................5

2.1Java语言概述…………………………………………………………5

2.2b/s和c/s体系…………………………………………………………5

2.3JavaScript与Ajax……………………………………………………..6

2.4系统主要路线………………………………………………………….7

2.5运行环境要求…………………………………………………………7

2.5.1硬件环境……………………………………………………….7

2.5.2软件环境……………………………………………………….7

3.系统需求分析................................................8

3.1各模块关系图…………………………………………………………8

3.2数据库设计……………………………………………………………8

3.2.1数据库列表……………………………………………………8

3.2.2数据库连接的实现…………………………………………….9

3.3主要开发工具………………………………………………………...12

4.功能模块.....................................................12

4.1登陆模块…………………………………………………………12

4.2笔记本模块………………………………………………………22

4.3笔记模块………………………………………………………...25

5.结论.........................................................27

谢词...........................................................27

参考文献.......................................................27

 

1.绪论

1.1项目背景及意义

因为互联网的快速发展,人们获得新知识的方法也变得多样化,在线学习应运而生,为了让使用在线学习的人能更方便的记录笔记,云笔记项目因此诞生,云笔记是用于用户在进行学习时随时记录,分享,收藏笔记。

云笔记系通过分布式解决方案使用户空间被无限放大。

系统贴近贴近用户的使用习惯,期望达到达到无处不学习无处不笔记的效果。

1.2项目现状及趋势概述

就目前来看云笔记市场呈现的特点是用户群较小但是没有什么行业竞争其目前主要用于教育市场。

但是互联网发展速度迅速,今后的生活,工作,学习也许都要和互联网打交道,但是互联网毕竟不是现实世界一些重要的信息,知识不能随时随地的记录,但是云笔记却解决了这些烦恼。

云笔记起初用于在线学习的人群记录笔记,但是我相信不远的将来云笔记必将推向大众,成为人们日常生活不可或缺的一部分。

2.系统理论和技术路线

2.1Java语言概述

Java是SUN公司开发最初命名为Oak是一种小型系统的编程语言,随着互联网发展SUN公司改造了Oak并以“Java”名称正式发布。

Java编程风格接近于C,C++语言,但不同的是Java是完全的面向对象程序设计语言,继承了C++语言面向对象技术的核心但是舍弃了指针,增加了垃圾回收机制。

JDK(JavaDevelopmentKit)是Java开发工具包,除了包含JRE(JavaRuntimeEnvironment)外还包含运行Java程序所需要的工具JDK。

所以JDK=JRE+编译、运行等开发工具。

JRE:

Java运行时环境除了包含JVM(JavaVirtualMachine)外还提供了运行Java程序所需要的环境。

JRE=JVM+Java系统类库JVM是Java虚拟机。

Java开发过程简而言之就是首先使用一个文本编辑器编写扩展名为.Java的源文件,然后用Java编译器把扩展名为.Java的源文件编译为.class,最后JVM加载.class并运行.class。

不同的平台使用不同的JVM所以,JVM屏蔽了平台之间的差异,所以实现了跨平台一次编译到处使用。

2.2b/s和c/s体系

b/s即浏览器/服务器端结构,如果说b/s就最好和c/s作比较,那具体的项目举例就是网页版的qq是b/s结构,而需要下载的qq客户端属于c/s模式。

从安全性来说,c/s模式对于每个用户都有一个客户端,而b/s模式的客户端是被所有用户公用,而且不固定,所以来说,c/s比较b/s来说安全性相对较高。

从维护成本角度来讲c/s结构中需要用户下载专有的客户端软件,而b/s模式,客户端不需要下载任何用户界面,软件系统的改进和升级越来越频繁,b/s架构的产品明显体现着更为方便的特性。

b/s架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。

无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行。

所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。

今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。

从这一方面来说节约了开发成本。

2.3JavaScript与Ajax

JavaScript是Netscape开发的一种在客户端运行的、解释性的脚本语言,最早是在HTML网页上使用,用来为网页增加动态功能。

为了统一规格,JavaScript兼容于ECMA(EuropeanComputerManufacturesAssociation)标准,因此也称为ECMAScript。

JavaScript的关键字var、if、for、switch、break、continue、while支持数据类型的自动转换和强制转换。

Ajax(AsynchronousJavaScriptandXml)是异步的JavaScript和Xml,是一种用来改善用户体验的技术,它的实质是利用浏览器提供的一个特殊对象(Ajax对象)异步的向服务器发送请求,服务器送回部分数据(一般不再需要返回完整的页面),浏览器利用这些数据更新当前页面。

整个过程,页面无需刷新,不打断用户的操作获得Ajax对象要区分浏览器。

functiongetXhr(){

varxhr=null;

if(window.XMLHttpRequest){

//非IE浏览器

xhr=newXMLHttpRequest();

}else{

//IE浏览器

xhr=newActiveXObject('MicroSoft.XMLHttp');

}

returnxhr;

}

2.4系统主要路线

在数据库方面,我所设计的云笔记系统用到的是MySQL数据库,大致包括用户表,笔记本类型表,笔记本表,笔记表,笔记状态表,分享笔记表。

对于浏览器器端的设计,主要用HTML、CSS来实现,其中对于数据库的请求和获取数据库的信息并显示,主要会用到Ajax。

服务端代码主要采用SpringMVC(ModelViewController)来实现的。

MVC一种设计思想,是根据职责不同将程序中组件分成以下三个部分:

M(Model)模型负责业务处理(数据和逻辑),V(View)视图负责与用户的交互界面(可以接收和呈现数据),C(Controller)控制器负责协调M和V工作。

MVC思想现在有很多实现,可以自己使用JSP+Servlet+JavaBean搭建,也可以使用主流框架,例如SpringWebMVC,Struts2,WebWork,JSF等。

2.5运行环境要求

2.5.1硬件环境

服务端:

有足够大的内存可以运行数据库,MyEclipse和Chrome浏览器。

2.5.2软件环境

(1)浏览器端:

Chrome浏览器。

(2)服务端:

MySQL数据库、MyEclipse。

3.系统需求分析

3.1各模块关系图

此系统设计主要由以下各功能组成,包括用户的登陆、用户对笔记以及笔记本信息的管理、用户退出登录及修改密码。

系统所包含的模块如图3-1所示:

图3-1功能模块

3.2数据库设计

3.2.1数据库列表

数据库我们采用MySQL数据库,所需要建立的表有:

(1)用户表(cn_user)存储登录系统的用户信息。

其中包括主键用户ID(cn_user_id)、用户名(cn_user_name)、密码(cn_user_password)、说明(cn_user_desc)。

(2)笔记本表(cn_notebook)笔记存储在笔记本中,笔记本存储在笔记本表中。

每个用户都可以有很多不同的笔记本,分别存储不同类别的笔记。

笔记本表中包括主键笔记本ID(cn_notebook_id)、用户ID(cn_user_id)、笔记本类型ID(cn_notebook_id)、笔记本名(cn_notebook_name)、笔记本说明(cn_notebook_desc)、创建日期(cn_notebook_createtime)。

(3)笔记本类型表(cn_notebook_type)笔记本有不同的类型,这些类型存储在笔记本类型表中,目前预置的所有笔记本类型包括收藏、回收站、活动、正常。

其中包括主键笔记本类型ID(cn_notebook_type_id)、笔记本类型名(cn_notebook_type_name)、笔记本类型说明(cn_notebook_type_desc)。

(4)笔记表(cn_note_id)是用来存储用户创建的所有笔记,在保存时需要存储用户的ID还有当前笔记所在的笔记本的ID。

笔记表中包括主键笔记ID(cn_note_id)、笔记本ID(cn_notebook_id)、用户ID(cn_user_id)、笔记标题(cn_note_tatle)、笔记内容(cn_note_body)、笔记创建时间(cn_note_createtime)。

(5)分享笔记表(cn_share)用户对于自己的笔记可以进行分享,分享后的笔记存储到此分享笔记表中。

其中包括主键共享ID(cn_share_id)、共享标题(cn_share_title)、共享内容(cn_share_body)、笔记id(cn_note_id)。

3.2.2数据库连接的实现

对于数据库的连接,本系统主要用到的是Spring整合MyBatis技术,IBatis是Apache组织推出的一款数据库操作框架。

2010该框架由Apache迁移到Google,变更为MyBatis。

MyBatis也是对JDBC技术的一个封装,可以简化数据库访问代码。

封装了获取连接、执行SQL、释放连接等过程封装了实体对象和SQL参数之间的自动映射(利用#{属性名}方式替代SQL中的?

)封装了查询结果集和实体对象之间的自动映射(结果集字段和实体对象属性名称保持一致)将SQL语句定义到XML文件因此使用MyBatis操作数据库,只要引入框架,定义实体类,提供SQL语句即可。

MyBatis执行过如下:

首先加载、解析配置文件(SqlMapConfig.xml和SQL定义的SqlMap.xml),然后将SQL语句提取封装成MappedStatement然后接收SQL参数利用SqlSession执行SQL操作根据id名字调用对应的MappedStatement对象,根据规则设置SQL参数,发送到数据库执行,如果是查询最后将结果集数据映射成Map,Enity对象返回。

MyBatis基本使用方法是SqlSessionFactoryBuilder读取XML配置文件,构建SqlSessionFactory对象,SqlSessionFactory用于创建SqlSession对象,SqlSession封装了数据库增删改查方法。

使用方法是引入mybatis和驱动开发包,src添加SqlMapConfig.xml主配,添加SqlMapper.xml定义SQL语句,根据表定义实体类获取SqlSession触发SQL操作。

使用Mapper映射器通过一个接口调用SQL首先编写一个EmpMapper接口,将EmpMapper.xml定义SQL的文件中namespace指定为包名.接口名,在EmpMapper接口定义方法,方法名与XML操作的id属性一致,方法参数与XML操作的parameterType类型一致,返回值参考resultType指定的类型,单行记录查询可以用resultType指定的类型,但是多行记录查询需要使用List

最后通过session.getMapper(EmpMapper.class)动态生成一个实现类,通过该对象触发SQL操作。

Spring与MyBatis结合,主要是由Spring管理数据库访问组件Dao,数据库访问组件主要是基于MyBatis实现,在Spring环境中使用MyBatis实现数据库访问组件过程是:

首先需要引入一个Spring和MyBatis整合的开发包mybatis-spring-1.2.2.jar。

在Spring配置中定义SqlSessionFactoryBean,等价于SqlSessionFactory放入Spring容器管理。

(不需要开发者利用手工创建SqlSessionFactory对象,需要开发者定义式注入连接信息和SQL定义的XML信息)在Spring配置中定义MapperFactoryBean,可以根据指定的Mapper接口生成一个Mapper实现类接口。

需引入引入开发包:

springioc,springaop,dbcp,mybatis,驱动,mybatis-spring.jar。

添加Spring框架的配置文件主要有applicationContext.xml,根据user表编写实体类User,编写UserMapper.xml(定义SQL语句),并且编写UserMapper接口(与UserMapper.xml映射),在applicationContext.xml中配置组件SqlSessionFactoryBean,Mapper

FactoryBean。

最后测试MapperFactoryBean生成的UserMapperDao实例。

对于数据库的连接代码如下:

(1)配置jdbc.properties文件:

url=jdbc:

mysql:

//localhost:

3306/cloud_note?

useUnicode=true&characterEncoding=utf-8

driver=com.mysql.jdbc.Driver

user=root

password=1234

(2)在applicationContext.xml中配置组件MapperFactoryBean,SqlSessionFactoryBean,DataSource。

--定义数据源-->

class="mons.dbcp.BasicDataSource"

destroy-method="close">

--定义sqlSessionFactory-->

class="org.mybatis.spring.SqlSessionFactoryBean">

value="classpath:

com/tarena/dao/*.xml"/>

--扫描DAO组件-->

3.3主要开发工具

本系统的主要开发工具是MyEclipse如果想要了解MyEclipse,首先应该先了解Eclipse,Eclipse是基于Java语言开源的并且可以扩展的操作平台。

Eclipse内置了一个标准的插件库,包括JavaDevelopmentTools即JDT,Eclipse首先来说源码是开放的,程序员都可以研究使用修改它,另外,Eclipse是可以扩展的,它不仅支持Java的开发,还包括PHP、C等很多语言的开发和使用,只需要下载相应的插件即可。

而且很多平台如Linux,windows等都支持Eclipse。

MyEclipse是Eclipse的加强版,它不仅继承了Eclipse的所有功能,而且能很好的处理在JavaEE和数据库的开发,因而我们能利用JavaEE中数据库和servlet来实现我们软件中后台的一些功能。

而且MyEclipse还内嵌了Tomcat,因此我们还可以直接将后台在其上进行发布。

4.功能模块

4.1登陆模块

(1)注册功能:

①业务逻辑:

用户名是3-20位字母、数字、下划线的组合,密码长度不能小于6位,确认密码和密码一致,用户名不能重复,在点击注册时验证所有的验证通过,则创建新用户注册成功后,自动跳转到登录页面。

②分析请求:

在注册时发起请求,先验证用户名是否重复,若不重复则创建用户,否则则返回一些错误信息。

注册界面如图4-1所示:

图4-1注册界面

③开发步骤:

首先在DAO中创建表cn_user,创建实体类User,创建UserMapper创建UserMapper.xml。

然后在Service中创建LoginService,验证用户名是否重复,创建用户。

最后在Controller中创建LoginController,并且调用LoginService处理请求并且给页面返回一些数据,该数据在控制层统一组装,最好所有Controller的方法返回的数据都有标准的格式。

主要代码如下:

UserMapper.xml:

parameterType="com.tarena.entity.User">

insertintocn_uservalues(

#{cn_user_id},

#{cn_user

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2