• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于javaweb的圖書漂流管理系統(tǒng)

      2020-07-14 10:33:28熊宏杰李祥余筱
      理論與創(chuàng)新 2020年9期

      熊宏杰 李祥 余筱

      【摘? 要】每年各校讀書協(xié)會(huì)的同學(xué)都會(huì)舉行圖書漂流活動(dòng),但效果甚微,相應(yīng)的網(wǎng)站系統(tǒng)雖能實(shí)現(xiàn)圖書的交流,但仍不能在圖書的管理和用戶的交互有而很大的改進(jìn)。圖書流動(dòng)困難,圖書利用率低。本項(xiàng)目旨在開發(fā)一個(gè)SSM(spring+springMVC+mybatis)框架的圖書管理系統(tǒng),與學(xué)校網(wǎng)站如信息門戶相結(jié)合,將其推廣實(shí)現(xiàn)圖書資源的高效利用。本項(xiàng)目的特點(diǎn)在于將實(shí)體的圖書漂流角進(jìn)行網(wǎng)絡(luò)虛擬化,提高可管理性,將圖書資源最大化利用建立統(tǒng)一的高校管理服務(wù)平臺,提供專業(yè)和高質(zhì)量的學(xué)習(xí)交流途徑。

      【關(guān)鍵詞】圖書漂流;SSM;JavaWeb

      1.項(xiàng)目背景

      1.1項(xiàng)目背景及目標(biāo)

      “圖書漂流角”在每個(gè)學(xué)校都存在,并且每年各校讀書協(xié)會(huì)的同學(xué)都會(huì)舉行圖書漂流活動(dòng),但效果甚微。主要的問題在于圖書管理問題難以解決,即使有學(xué)生愿意將自己的書籍捐出去,但是過不了多長時(shí)間就會(huì)丟失,而且想要尋找資源的人往往不能準(zhǔn)確迅捷的找到自己的目標(biāo),只能在眾多書籍中一一尋找。雖然相應(yīng)的網(wǎng)站系統(tǒng)能具備圖書的交流功能,但仍不能得到廣泛的支持。一是學(xué)生捐獻(xiàn)圖書的意向,因?yàn)槭占攸c(diǎn)的距離消退,而是只有在正規(guī)的網(wǎng)站發(fā)表和宣傳同學(xué)們才能接受圖書漂流這種書籍資源高效利用的新方法,因此可將本項(xiàng)目與學(xué)校網(wǎng)站如信息門戶相結(jié)合,將其推廣實(shí)現(xiàn)圖書資源的高效利用。

      本項(xiàng)目的目標(biāo)是讓更多學(xué)生參與圖書漂流,使之在校內(nèi)流轉(zhuǎn),推而廣之,各高校學(xué)生之間也可進(jìn)行相應(yīng)圖書交流。項(xiàng)目成熟后,我們會(huì)為系統(tǒng)升級,實(shí)現(xiàn)除圖書資源以外其它資料的交流。本項(xiàng)目實(shí)現(xiàn)圖書的簡便管理以方便用戶的操作以及管理員的管理,投放圖書的人會(huì)詳細(xì)提供圖書信息,此保證書籍的完整和真實(shí)。

      1.2項(xiàng)目創(chuàng)新特色概述

      (1)中通過分類實(shí)現(xiàn)自主管理實(shí)現(xiàn)用戶輕松使用和管理員輕松管理。

      (2)將實(shí)體的圖書漂流角進(jìn)行網(wǎng)絡(luò)虛擬化,提高可管理性,將圖書資源最大化利用,建立統(tǒng)一的高校管理服務(wù)平臺,提供專業(yè)和高質(zhì)量的學(xué)習(xí)交流途徑。

      2.技術(shù)簡介

      此系統(tǒng)采用Spring、SpringMVC、Mybatis后端技術(shù)進(jìn)行網(wǎng)站后臺的搭建,使用JQuery、HTML、CSS、JavaScript、Ajax進(jìn)行前端頁面的編寫,主要技術(shù)如下:

      2.1 Spring、SpringMVC簡介

      Spring是一個(gè)開源的、輕量級的Java開發(fā)框架,在該網(wǎng)站使用Spring減少了代碼的書寫量,將實(shí)例交給spring進(jìn)行管理,通過Bean進(jìn)行Java對象、Java組件的管理和處理。在系統(tǒng)創(chuàng)建的過程中使用的是Maven進(jìn)行項(xiàng)目的管理,減少出錯(cuò)的概率。

      Spring組成:

      Spring Core:提供Spring框架的基本功能,提供了依賴注入來實(shí)現(xiàn)容器對Bean的管理。

      Spring AOP:面向切面編程 ,使用AOP可以將通用邏輯(事務(wù)管理、日志管理等)分離出來然后統(tǒng)一切入到業(yè)務(wù)邏輯代碼中。

      Spring DAO:使用JDBC時(shí)需要取得連接、創(chuàng)建語句、處理結(jié)果、關(guān)閉連接,這會(huì)導(dǎo)致大量的重復(fù)代碼,而SpringDAO模塊抽取了這些重復(fù)的代碼,不僅能保證數(shù)據(jù)庫方位代碼的過程簡潔而且還能防止因數(shù)據(jù)庫資源關(guān)閉失敗而引起的問題。

      Spring Context:向Spring框架提供上下文信息。如果說BeanFactory使Spring成為一個(gè)容器,那么上下文模塊便使得Spring成為一個(gè)框架。

      SpringIOC::控制反轉(zhuǎn),由Spring來負(fù)責(zé)對象的生命周期和對象間的關(guān)系。主要通過DI(依賴注入)來實(shí)現(xiàn)IOC,本系統(tǒng)使用標(biāo)注注入的方式。注入需要在配置文件中寫大量的代碼為了簡化配置文件,Spring提供了標(biāo)注注入,常見的注解標(biāo)記如下:

      @Component:通用注解

      @Controller:控制層組件注解

      @Resource:默認(rèn)按照名稱進(jìn)行注入

      @Autowired:默認(rèn)按類型注入

      @Service:業(yè)務(wù)層組件注解

      @Value:基本值注入

      SpringMVC簡介:

      SpringMVC是典型的MVC結(jié)構(gòu),其提供了模型、視圖和控制器相關(guān)的主要實(shí)現(xiàn)組件,具體如下:

      DispatcherServlet:前端控制器,是SpringMVC的中央調(diào)度器,是請求的入口,當(dāng)請求到達(dá)前端控制器,由其來調(diào)用其他的組件處理用戶的請求。

      HandlerMapping:處理器映射,請求派發(fā),DispatcherServlet會(huì)一句HandlerMapping來調(diào)用相應(yīng)的Controller組件

      Controller:二級控制器,也可以成為后端控制器,負(fù)責(zé)具體的請求處理流程,然后將處理結(jié)果返回給前端控制器

      ModelAndView:模型,封裝了處理結(jié)果數(shù)據(jù)和視圖名稱信息。

      ViewResolver:視圖,視圖顯示處理器

      SpringMVC常見注解:

      @Controller:定義控制器,簡化配置文件,降低侵入性

      @Responsebody:放在方法上,表示返回類型將會(huì)直接作為HTTP響應(yīng)字節(jié)輸出,此注解可以方便的將數(shù)據(jù)自動(dòng)轉(zhuǎn)換為JSON格式字符轉(zhuǎn)返回到客戶端。

      @RequestMapping:用來定義訪問的URL,放在類級別上,也可以放在方法級別上

      @PathVariabble:用來獲取請求URL中的動(dòng)態(tài)參數(shù),在使用SpringMVC創(chuàng)建RESTful API時(shí)會(huì)用到

      2.2 Mybatis技術(shù)介紹

      Mybatis支持普通SQL查詢,存儲過程和高級映射;對JDBC戶數(shù)進(jìn)行封裝,簡化數(shù)據(jù)庫操作代碼;使用簡單的XML或注解用于配置和映射,將接口和Java對象映射成數(shù)據(jù)庫中的記錄。此系統(tǒng)中使用注解的方式對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作。

      按照功能Mybatis可以分為三層,分別是接口層、數(shù)據(jù)處理層、基礎(chǔ)支撐層。

      接口層:作用是和數(shù)據(jù)庫進(jìn)行交互,提供可供外部使用的接口,開發(fā)人員可以通過這些本地接口來操作數(shù)據(jù)庫。包括數(shù)據(jù)的增刪改查,獲取配置接口

      數(shù)據(jù)處理層:是Mybatis的核心層。包括參數(shù)映射、SQL解析、SQL執(zhí)行和結(jié)果映射四部分。

      基礎(chǔ)支撐層:將共用的組件抽取出來為數(shù)據(jù)處理層提供最基礎(chǔ)的功能支撐,包含連接管理、事務(wù)管理、配置加載和緩存處理。

      2.3 Ajax及JQuery、Thymeleaf

      JQuery是一個(gè)強(qiáng)大的JavaScript庫??梢钥焖?、簡潔的實(shí)現(xiàn)JavaScript代碼可以簡化HTML文檔元素的遍歷、事件處理、動(dòng)畫和Ajax交互可以實(shí)現(xiàn)快速的Web開發(fā)。

      功能:

      方便快捷獲取DOM元素:使用純JavaScript的方式遍歷DOM以及查詢DOM中的某一部分,需要編寫冗余的代碼,使用JQuery只需要一行代碼就可以了。

      動(dòng)態(tài)修改CSS樣式:使用JQuery可以動(dòng)態(tài)修改頁面的CSS,即使在頁面展現(xiàn)出來以后,JQuery仍然可以改變文檔中某個(gè)部分的類或者樣式屬性。

      動(dòng)態(tài)改變DOM內(nèi)容:使用JQuery可以很容易的對頁面DOM進(jìn)行修改。

      響應(yīng)用戶的教化操作:JQuery提供了截取頁面時(shí)間的適當(dāng)方式,而不需要使用時(shí)間處理程序拆散HTML代碼。此外,他的事件處理API也滿足瀏覽器的不一致性。

      為頁面添加動(dòng)態(tài)效果:JQuery內(nèi)置了一批淡入、淡出、擦除等動(dòng)態(tài)效果

      JQuery Ajax操作:JQuery統(tǒng)一了多種瀏覽器的Ajax操作。

      Thymeleaf是一個(gè)XML/XHTML/HTML5模板引擎,可用于Web與非Web環(huán)境中的應(yīng)用開發(fā)。它是一個(gè)開源的Java庫,Thymeleaf提供了一個(gè)用于整合Spring MVC的可選模塊。 使用Thymeleaf可以創(chuàng)建動(dòng)態(tài)的頁面渲染頁面,減少了使用jQuery對頁面進(jìn)行數(shù)據(jù)操作,可以實(shí)現(xiàn)頁面數(shù)據(jù)的動(dòng)態(tài)更新等。

      此系統(tǒng)中使用JQuery和Ajax實(shí)現(xiàn)前后端數(shù)據(jù)的交互行為。

      2.4加密

      使用Java自帶的Base64對輸入的重要信息進(jìn)行加密存儲,保證系統(tǒng)的安全性,防止數(shù)據(jù)的泄露。

      3.系統(tǒng)概述

      3.1表現(xiàn)層

      本系統(tǒng)的表現(xiàn)層是通過HTML、JQuery、Ajax、CSS技術(shù),以web頁面的方式展示給用戶,在從前端向后端傳輸數(shù)據(jù)的過程中利用了兩種技術(shù)方式,一種是通過form表單的形式,另一種是通過ajax技術(shù)的方式,進(jìn)行前后端的交互,ajax的使用使前后端交互更加便捷,同時(shí)可以實(shí)現(xiàn)異步刷新的作用,不會(huì)每次都刷新整個(gè)頁面,這樣極大的提高了用戶的體驗(yàn)。利用jquery框架可以更容易的對JavaScript進(jìn)行使用,在部分頁面使用CSS和Thymeleaf對頁面進(jìn)行渲染。

      所需要的主要頁面有:

      (1)注冊頁面:用來填寫普通用戶的主要信息。(2)登錄頁面:填寫登錄用戶信息的用戶名和密碼,并進(jìn)行登錄驗(yàn)證。(3)主頁:就是用戶進(jìn)入的首頁,在這里展示的該網(wǎng)站所表達(dá)的主題,可以看到網(wǎng)站的功能,可以搜索書籍,查看書籍信息。(4)管理員管理頁面:對管理員進(jìn)行分級,不同級別的管理員擁有不同的權(quán)限。(5)書籍詳情頁:書籍詳情頁顯示的是該書籍的所有信息,包括作者和時(shí)間,同時(shí)在文章的底部將看到評論的內(nèi)容,所有用戶對該文章的評論的內(nèi)容都會(huì)顯示在底部。

      3.2業(yè)務(wù)邏輯層

      業(yè)務(wù)邏輯層主要處理前端控制器傳來的請求和數(shù)據(jù),后端通過地址映射分發(fā)到對應(yīng)的控制器,進(jìn)行相應(yīng)的業(yè)務(wù)上的邏輯處理,在進(jìn)行業(yè)務(wù)邏輯處理的時(shí)候,通過springmvc注解的形式。通過注解的形式減少了配置文件的繁瑣,代碼整體看上去更加整潔,維護(hù)性起來更加方便,在后端進(jìn)行控制器,服務(wù)接口層,服務(wù)實(shí)現(xiàn)層的分層排布,同時(shí)利用mybatis框架對DAO層進(jìn)行封裝,在mybtis的DAO文件中寫sql語句,這樣方便修改和便于對sql語句的管理。

      服務(wù)接口層主要是用來向各個(gè)實(shí)現(xiàn)方法提供接口,不同的方法根據(jù)不同的功能可以對同一個(gè)接口進(jìn)行不同的業(yè)務(wù)邏輯,接口層的使用讓代碼邏輯看起來更加的清晰,服務(wù)實(shí)現(xiàn)層主要實(shí)現(xiàn)的是對數(shù)據(jù)的處理,通過調(diào)用數(shù)據(jù)層的方法來從數(shù)據(jù)庫中取出相應(yīng)的數(shù)據(jù),根據(jù)固定返回條件,返回給控制器的業(yè)務(wù)邏輯中,控制器對返回來的數(shù)據(jù)進(jìn)行處理,經(jīng)過業(yè)務(wù)邏輯處理,通過Model類進(jìn)行封裝,返回給前端控制器。

      3.3數(shù)據(jù)層

      該層主要對數(shù)據(jù)進(jìn)行更新和讀取,作為業(yè)務(wù)層和數(shù)據(jù)庫的中間層,主要為邏輯服務(wù)提供數(shù)據(jù),通過DAO層對數(shù)據(jù)進(jìn)行分離,將數(shù)據(jù)邏輯和數(shù)據(jù)源進(jìn)行分離操作,并最終能夠?qū)崿F(xiàn)對數(shù)據(jù)對象的基本操作。

      數(shù)據(jù)庫的需求分析:

      數(shù)據(jù)庫需求分析屬于軟件過程的需求分析階段,數(shù)據(jù)庫分析的作用是通過搜集用戶的需求來指導(dǎo)數(shù)據(jù)庫的設(shè)計(jì)。

      通過以上分析,現(xiàn)在可以將數(shù)據(jù)庫的需求整理出來:

      (1)用戶信息表:包括用戶名,密碼,電話號碼, (2)用戶角色表:用戶的id,標(biāo)志位判斷是否是管理員,還是普通用戶,還是超級管理員。(3)內(nèi)容表,該表存儲了書籍的信息。包括的字段有:書名,簡介,書籍id,書籍編號,標(biāo)志位判斷內(nèi)容的分類信息。(4)圖片表:存儲圖片的信息。(5)評論表,該表存儲了對書籍的評論內(nèi)容,包括評論的內(nèi)容,評論者,回復(fù)對象的用戶名,用戶id,回復(fù)對象的id,文章的id.

      代碼地址:https://gitee.com/skyspatur/demo

      參考文獻(xiàn)

      [1]郭炳宇,王田甜等.移動(dòng)互聯(lián)后臺設(shè)計(jì)與開發(fā)[M].北京:高等教育出版社,2017

      [2]郭炳宇,王田甜等.移動(dòng)互聯(lián)Web前端開發(fā)[M].北京:高等教育出版社,2017

      基金項(xiàng)目:江蘇大學(xué)2019年度大學(xué)生實(shí)踐創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目,項(xiàng)目編號:201910299504X

      作者簡介:

      熊宏杰(2000.3--),,男,漢族,甘肅華亭人,江蘇大學(xué)本科在讀,計(jì)算機(jī)方向。

      李祥(2000.9--),男,漢族,江蘇宿遷人,江蘇大學(xué)本科在讀,計(jì)算機(jī)方向。

      余筱(2000.8--),女,漢族,江蘇南京人,江蘇大學(xué)本科在讀,計(jì)算機(jī)方向。

      无棣县| 五莲县| 江山市| 玉田县| 阿坝| 广饶县| 邳州市| 民勤县| 天长市| 彰化县| 洛扎县| 三都| 凤阳县| 南充市| 宜春市| 昌黎县| 江山市| 姚安县| 汤阴县| 屏南县| 德昌县| 饶阳县| 元江| 绥德县| 昭平县| 镇安县| 方山县| 徐水县| 屯留县| 贵溪市| 大石桥市| 靖远县| 高平市| 个旧市| 高清| 太康县| 青龙| 大埔县| 宁强县| 耿马| 新津县|