亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        熊宏杰 李祥 余筱

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

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

        1.項(xiàng)目背景

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

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

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

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

        (1)中通過(guò)分類(lèi)實(shí)現(xiàn)自主管理實(shí)現(xiàn)用戶(hù)輕松使用和管理員輕松管理。

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

        2.技術(shù)簡(jiǎn)介

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

        2.1 Spring、SpringMVC簡(jiǎn)介

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

        Spring組成:

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

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

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

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

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

        @Component:通用注解

        @Controller:控制層組件注解

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

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

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

        @Value:基本值注入

        SpringMVC簡(jiǎn)介:

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

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

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

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

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

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

        SpringMVC常見(jiàn)注解:

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

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

        @RequestMapping:用來(lái)定義訪問(wèn)的URL,放在類(lèi)級(jí)別上,也可以放在方法級(jí)別上

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

        2.2 Mybatis技術(shù)介紹

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

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

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

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

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

        2.3 Ajax及JQuery、Thymeleaf

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

        功能:

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

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

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

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

        為頁(yè)面添加動(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)用開(kāi)發(fā)。它是一個(gè)開(kāi)源的Java庫(kù),Thymeleaf提供了一個(gè)用于整合Spring MVC的可選模塊。 使用Thymeleaf可以創(chuàng)建動(dòng)態(tài)的頁(yè)面渲染頁(yè)面,減少了使用jQuery對(duì)頁(yè)面進(jìn)行數(shù)據(jù)操作,可以實(shí)現(xiàn)頁(yè)面數(shù)據(jù)的動(dòng)態(tài)更新等。

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

        2.4加密

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

        3.系統(tǒng)概述

        3.1表現(xiàn)層

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

        所需要的主要頁(yè)面有:

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

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

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

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

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

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

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

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

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

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

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

        參考文獻(xiàn)

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

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

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

        作者簡(jiǎn)介:

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

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

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

        A午夜精品福利在线| 亚洲av永久无码天堂网| 影音先锋女人aa鲁色资源| 久久人妻公开中文字幕| 国产av天堂亚洲国产av麻豆| 日本精品中文字幕人妻| 成人艳情一二三区| 3d动漫精品一区二区三区| 青草网在线观看| 国产高清自产拍av在线| 人人人妻人人人妻人人人| 黑人巨大跨种族video| 精品视频999| 蜜桃色av一区二区三区麻豆| 国产美女主播视频一二三区| 看av免费毛片手机播放| 麻豆AV免费网站| 日本岛国视频在线观看一区二区 | av大片在线无码免费| 久久精品国产精品亚洲婷婷| 日韩激情视频一区在线观看| 国产日韩欧美一区二区东京热| 爽爽精品dvd蜜桃成熟时电影院| 波多野结衣中文字幕久久| 国产久视频| 中文字幕一区二区人妻性色av| 国产一区二区三区毛片| 国产精选污视频在线观看| 极品 在线 视频 大陆 国产| 伊人久久亚洲综合av影院| 日本欧美大码a在线观看| 黑人玩弄人妻中文在线| 老熟女一区二区免费| 日本按摩偷拍在线观看| 免费无码中文字幕a级毛片| 一出一进一爽一粗一大视频免费的| 亚洲αv在线精品糸列| 青青草成人在线播放视频| 中文人妻熟妇乱又伦精品| 久久精品无码一区二区三区蜜费| 免费美女黄网站久久久|