基于javaweb的图书漂流管理系统

来源 :理论与创新 | 被引量 : 0次 | 上传用户:eric2751
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘  要】每年各校读书协会的同学都会举行图书漂流活动,但效果甚微,相应的网站系统虽能实现图书的交流,但仍不能在图书的管理和用户的交互有而很大的改进。图书流动困难,图书利用率低。本项目旨在开发一个SSM(spring+springMVC+mybatis)框架的图书管理系统,与学校网站如信息门户相结合,将其推广实现图书资源的高效利用。本项目的特点在于将实体的图书漂流角进行网络虚拟化,提高可管理性,将图书资源最大化利用建立统一的高校管理服务平台,提供专业和高质量的学习交流途径。
  【关键词】图书漂流;SSM;JavaWeb
  1.项目背景
  1.1项目背景及目标
  “图书漂流角”在每个学校都存在,并且每年各校读书协会的同学都会举行图书漂流活动,但效果甚微。主要的问题在于图书管理问题难以解决,即使有学生愿意将自己的书籍捐出去,但是过不了多长时间就会丢失,而且想要寻找资源的人往往不能准确迅捷的找到自己的目标,只能在众多书籍中一一寻找。虽然相应的网站系统能具备图书的交流功能,但仍不能得到广泛的支持。一是学生捐献图书的意向,因为收集地点的距离消退,而是只有在正规的网站发表和宣传同学们才能接受图书漂流这种书籍资源高效利用的新方法,因此可将本项目与学校网站如信息门户相结合,将其推广实现图书资源的高效利用。
  本项目的目标是让更多学生参与图书漂流,使之在校内流转,推而广之,各高校学生之间也可进行相应图书交流。项目成熟后,我们会为系统升级,实现除图书资源以外其它资料的交流。本项目实现图书的简便管理以方便用户的操作以及管理员的管理,投放图书的人会详细提供图书信息,此保证书籍的完整和真实。
  1.2项目创新特色概述
  (1)中通过分类实现自主管理实现用户轻松使用和管理员轻松管理。
  (2)将实体的图书漂流角进行网络虚拟化,提高可管理性,将图书资源最大化利用,建立统一的高校管理服务平台,提供专业和高质量的学习交流途径。
  2.技术简介
   此系统采用Spring、SpringMVC、Mybatis后端技术进行网站后台的搭建,使用JQuery、HTML、CSS、JavaScript、Ajax进行前端页面的编写,主要技术如下:
  2.1 Spring、SpringMVC简介
   Spring是一个开源的、轻量级的Java开发框架,在该网站使用Spring减少了代码的书写量,将实例交给spring进行管理,通过Bean进行Java对象、Java组件的管理和处理。在系统创建的过程中使用的是Maven进行项目的管理,减少出错的概率。
  Spring组成:
  Spring Core:提供Spring框架的基本功能,提供了依赖注入来实现容器对Bean的管理。
  Spring AOP:面向切面编程 ,使用AOP可以将通用逻辑(事务管理、日志管理等)分离出来然后统一切入到业务逻辑代码中。
  Spring DAO:使用JDBC时需要取得连接、创建语句、处理结果、关闭连接,这会导致大量的重复代码,而SpringDAO模块抽取了这些重复的代码,不仅能保证数据库方位代码的过程简洁而且还能防止因数据库资源关闭失败而引起的问题。
  Spring Context:向Spring框架提供上下文信息。如果说BeanFactory使Spring成为一个容器,那么上下文模块便使得Spring成为一个框架。
  SpringIOC::控制反转,由Spring来负责对象的生命周期和对象间的关系。主要通过DI(依赖注入)来实现IOC,本系统使用标注注入的方式。注入需要在配置文件中写大量的代码为了简化配置文件,Spring提供了标注注入,常见的注解標记如下:
  @Component:通用注解
  @Controller:控制层组件注解
  @Resource:默认按照名称进行注入
  @Autowired:默认按类型注入
  @Service:业务层组件注解
  @Value:基本值注入
  SpringMVC简介:
  SpringMVC是典型的MVC结构,其提供了模型、视图和控制器相关的主要实现组件,具体如下:
  DispatcherServlet:前端控制器,是SpringMVC的中央调度器,是请求的入口,当请求到达前端控制器,由其来调用其他的组件处理用户的请求。
  HandlerMapping:处理器映射,请求派发,DispatcherServlet会一句HandlerMapping来调用相应的Controller组件
  Controller:二级控制器,也可以成为后端控制器,负责具体的请求处理流程,然后将处理结果返回给前端控制器
  ModelAndView:模型,封装了处理结果数据和视图名称信息。
  ViewResolver:视图,视图显示处理器
  SpringMVC常见注解:
  @Controller:定义控制器,简化配置文件,降低侵入性
  @Responsebody:放在方法上,表示返回类型将会直接作为HTTP响应字节输出,此注解可以方便的将数据自动转换为JSON格式字符转返回到客户端。
  @RequestMapping:用来定义访问的URL,放在类级别上,也可以放在方法级别上
  @PathVariabble:用来获取请求URL中的动态参数,在使用SpringMVC创建RESTful API时会用到
  2.2 Mybatis技术介绍
   Mybatis支持普通SQL查询,存储过程和高级映射;对JDBC户数进行封装,简化数据库操作代码;使用简单的XML或注解用于配置和映射,将接口和Java对象映射成数据库中的记录。此系统中使用注解的方式对数据库中的数据进行操作。   按照功能Mybatis可以分为三层,分别是接口层、数据处理层、基础支撑层。
  接口层:作用是和数据库进行交互,提供可供外部使用的接口,开发人员可以通过这些本地接口来操作数据库。包括数据的增删改查,获取配置接口
  数据处理层:是Mybatis的核心层。包括参数映射、SQL解析、SQL执行和结果映射四部分。
  基础支撑层:将共用的组件抽取出来为数据处理层提供最基础的功能支撑,包含连接管理、事务管理、配置加载和缓存处理。
  2.3 Ajax及JQuery、Thymeleaf
  JQuery是一个强大的JavaScript库。可以快速、简洁的实现JavaScript代码可以简化HTML文档元素的遍历、事件处理、动画和Ajax交互可以实现快速的Web开发。
  功能:
  方便快捷获取DOM元素:使用纯JavaScript的方式遍历DOM以及查询DOM中的某一部分,需要编写冗余的代码,使用JQuery只需要一行代码就可以了。
  动态修改CSS样式:使用JQuery可以动态修改页面的CSS,即使在页面展现出来以后,JQuery仍然可以改变文档中某个部分的类或者样式属性。
  动态改变DOM内容:使用JQuery可以很容易的对页面DOM进行修改。
  响应用户的教化操作:JQuery提供了截取页面时间的适当方式,而不需要使用时间处理程序拆散HTML代码。此外,他的事件处理API也满足浏览器的不一致性。
  为页面添加动态效果:JQuery内置了一批淡入、淡出、擦除等动态效果
  JQuery Ajax操作:JQuery统一了多种浏览器的Ajax操作。
  Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它是一个开源的Java库,Thymeleaf提供了一个用于整合Spring MVC的可选模块。 使用Thymeleaf可以创建动态的页面渲染页面,减少了使用jQuery对页面进行数据操作,可以实现页面数据的动态更新等。
  此系统中使用JQuery和Ajax实现前后端数据的交互行为。
  2.4加密
  使用Java自带的Base64对输入的重要信息进行加密存储,保证系统的安全性,防止数据的泄露。
  3.系统概述
  3.1表现层
  本系统的表现层是通过HTML、JQuery、Ajax、CSS技术,以web页面的方式展示给用户,在从前端向后端传输数据的过程中利用了两种技术方式,一种是通过form表单的形式,另一种是通过ajax技术的方式,进行前后端的交互,ajax的使用使前后端交互更加便捷,同时可以实现异步刷新的作用,不会每次都刷新整个页面,这样极大的提高了用户的体验。利用jquery框架可以更容易的对JavaScript进行使用,在部分页面使用CSS和Thymeleaf对页面进行渲染。
  所需要的主要页面有:
  (1)注册页面:用来填写普通用户的主要信息。(2)登录页面:填写登录用户信息的用户名和密码,并进行登录验证。(3)主页:就是用户进入的首页,在这里展示的该网站所表达的主题,可以看到网站的功能,可以搜索书籍,查看书籍信息。(4)管理员管理页面:对管理员进行分级,不同级别的管理员拥有不同的权限。(5)书籍详情页:书籍详情页显示的是该书籍的所有信息,包括作者和时间,同时在文章的底部将看到评论的内容,所有用户对该文章的评论的内容都会显示在底部。
  3.2业务逻辑层
  业务逻辑层主要处理前端控制器传来的请求和数据,后端通过地址映射分发到对应的控制器,进行相应的业务上的逻辑处理,在进行业务逻辑处理的时候,通过springmvc注解的形式。通过注解的形式减少了配置文件的繁琐,代码整体看上去更加整洁,维护性起来更加方便,在后端进行控制器,服务接口层,服务实现层的分层排布,同时利用mybatis框架对DAO层进行封装,在mybtis的DAO文件中寫sql语句,这样方便修改和便于对sql语句的管理。
  服务接口层主要是用来向各个实现方法提供接口,不同的方法根据不同的功能可以对同一个接口进行不同的业务逻辑,接口层的使用让代码逻辑看起来更加的清晰,服务实现层主要实现的是对数据的处理,通过调用数据层的方法来从数据库中取出相应的数据,根据固定返回条件,返回给控制器的业务逻辑中,控制器对返回来的数据进行处理,经过业务逻辑处理,通过Model类进行封装,返回给前端控制器。
  3.3数据层
  该层主要对数据进行更新和读取,作为业务层和数据库的中间层,主要为逻辑服务提供数据,通过DAO层对数据进行分离,将数据逻辑和数据源进行分离操作,并最终能够实现对数据对象的基本操作。
  数据库的需求分析:
  数据库需求分析属于软件过程的需求分析阶段,数据库分析的作用是通过搜集用户的需求来指导数据库的设计。
  通过以上分析,现在可以将数据库的需求整理出来:
  (1)用户信息表:包括用户名,密码,电话号码, (2)用户角色表:用户的id,标志位判断是否是管理员,还是普通用户,还是超级管理员。(3)内容表,该表存储了书籍的信息。包括的字段有:书名,简介,书籍id,书籍编号,标志位判断内容的分类信息。(4)图片表:存储图片的信息。(5)评论表,该表存储了对书籍的评论内容,包括评论的内容,评论者,回复对象的用户名,用户id,回复对象的id,文章的id.
  代码地址:https://gitee.com/skyspatur/demo
  参考文献
  [1]郭炳宇,王田甜等.移动互联后台设计与开发[M].北京:高等教育出版社,2017
  [2]郭炳宇,王田甜等.移动互联Web前端开发[M].北京:高等教育出版社,2017
  基金项目:江苏大学2019年度大学生实践创新训练计划项目,项目编号:201910299504X
  作者简介:
  熊宏杰(2000.3--),,男,汉族,甘肃华亭人,江苏大学本科在读,计算机方向。
  李祥(2000.9--),男,汉族,江苏宿迁人,江苏大学本科在读,计算机方向。
  余筱(2000.8--),女,汉族,江苏南京人,江苏大学本科在读,计算机方向。
其他文献
【摘 要】针对上海浦东国际机场捷运系统乘客的不同属性,结合机场的特殊管理要求及实际情况,摸索了制定了可以落地有效的客运组织模式和施工组织方案,并编制了相关应急预案用以应对突发事件发生后的处理,从而有效保障捷运系统日常安全有序的运营。  【关键词】客运组织;混流;清客;24小时  Abstract: In accordance with the different attributes of pas
期刊
【摘 要】本文设计了一个基于PHP的网上药店管理系统。该系统采用缓存技术、PHP无限分类技术进行药品快速分类,页面采用Ajax无刷新技术提升用户体验,并结合Laravel框架自带验证进行表单验证和其完善的路由系统进行模型-视图-控制器(MVC模式)开发,数据库采用MySQL。实现了用户信息管理、订单、订单状态、药品、药品分类、评论、系统配置、轮播图、网站广告等多个功能模块的专项管理。旨在形成一套用
期刊
【摘 要】城市地質勘察是城市基础建设与规划发展的一部分,地下管线探测能够帮助勘察人员及时了解地下管线信息,确保地质勘察工作顺利开展。文章通过对管线探测技术进行分析,探讨具体的应用策略。  【关键词】地下管线;管线探测;地质勘察;城市管线  引言  在社会经济发展中,城市综合地下管线工程是城市建设的重要应用项目之一。良好的城市综合地下管线对于提升城市管理质量,促进城市经济的稳定发展具有重要的作用。因
期刊
【摘 要】随着新能源汽车产业的发展,人们对于新能源汽车的需求越来越高,在各种环境下的加速性能、续航里程、充电时间等等,这对于锂离子电池的性能和安全提出了非常高的要求。本文介绍了氮化铝导热陶瓷材料在锂离子电池上的应用,利用氮化铝陶瓷较高的导热性能和可靠的绝缘性能,增加锂离子电池模组内电芯向模组外壳传热的效率,提高锂离子电池的热性能和安全性能,对于新能源汽车产业的发展具有非常重要的意义。  【关键词】
期刊
【摘 要】在牵引电机轴承转动期间,轴承游隙会由于机械负载而变化。当轴承具有正游隙时,牵引电机的转子将不再协作。活动量的增加会引起偏心,在牵引电机的偏心工作状态下,会产生偏心方向上不平衡的磁拉力,它将直接作用在轴承的内圈上,这将大大增加轴承的实际载荷。  【关键词】牵引电机、轴承载荷、轨道车辆  引言  动车组牵引电机轴承是在电机机械传动过程中固定并减小负载摩擦系数的组件。其主要功能是支撑电机的转子
期刊
【摘 要】职业教育国际化发展是引领新时期中国职业教育发展的重要部分之一,探讨具备着我国社会主义特色的职业教育国际化发展路径,首先需要梳理职业教育国际化发展的历程,以及根据相关理论了解到高等职业院校国际化发展得到的启示。  【关键词】高等职业院校;国际化;发展历程;相关理论  引言  正确认识高等职业院校国际化发展是构建现代职业教育体系的前提,高职教育应该将国际化为新的增长点,正确理解到国际化的概念
期刊
【摘 要】2020年我国高校应届毕业生数量874万人,再创历史新高,叠加“新冠”肺炎疫情影响,今年高校毕业生就业面临很大困难。本文旨在分析疫情下高校毕业生就业难的成因,提出高校毕业生就业帮扶相关具体措施建议。  【关键词】“新冠”肺炎疫情;大学生就业;就业策略;就业帮扶  1.2020届本科毕业生就业背景  相关数据显示,2020年,我国高校应届毕业生874万,同比增加40万人,再创历史新高。受疫
期刊
【摘 要】电热水器是家庭中极为重要的负荷,有良好的储热能力和可调度特性,研究家居温控负荷在时变电价下的运行和经济特性具有十分重要的现实意义。文中建立了电热水器热力学模型,然后,对不同程度的舒适区间无选择性调整方案的经济性进行讨论。建立了兼顾电费和舒适度指标的多目标优化模型。  【关键词】电热水器;经济性;舒适度;优化模型  引言  以电热水器为代表的分户温度控制负荷,分析了基于需求侧响应的家用电热
期刊
【摘 要】少先队辅导员是开展少先队各项活动的重要指导者、组织者。在培育儿童各方面素质的发展有着非常重要的地位。少先队辅导员的专业化发展需要外在客观条件的作用,同时也需要自身综合素质的支撑。少先队辅导员应该具备的能力应为多方面的,本文将对少先队的辅导员专业化发展进行探析。  【关键词】专业化;少先队辅导员;发展  引言  素质教育的发展越来越被广泛重视,辅导员在少先队工作中发挥的作用也越发重要。少先
期刊
【摘 要】文章就煤矿安全教育培训的重要意义以及强化措施方面进行了分析,希望对提高煤矿企业员工的安全生产意识,促进我国煤矿行业的安全发展等方面有所启示和帮助。  【关键词】煤矿;安全教育培训;重要意义;培训措施  引言  安全教育培训是煤矿企业实现安全生产的重要途径,同时也是我国政府和国民对煤矿企业的要求,因此,最近几年也逐渐受到了我国煤矿企业的重视。煤矿安全教育主要是针对煤矿企业的员工,尤其是生产
期刊