• 
    

    
    

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

      基于JSP和Servlet架構(gòu)的新聞?lì)l道系統(tǒng)

      2020-07-22 09:55:45劉小飛李明杰
      電腦知識(shí)與技術(shù) 2020年12期

      劉小飛 李明杰

      摘要:本著有利于初學(xué)者對(duì)JavaWeb開發(fā)路線理解的原則,本項(xiàng)目沒(méi)有使用JavaWeb中已有成熟架構(gòu)體系,而是利用JsP和Servlet組合方案展示了Web頁(yè)面開發(fā)中的三層架構(gòu)體系,即前端、業(yè)務(wù)處理層和后臺(tái)數(shù)據(jù)庫(kù)層。學(xué)習(xí)了本項(xiàng)目的開發(fā)后,可以讓初學(xué)者對(duì)Web頁(yè)面類的開發(fā)流程有一個(gè)較為全面的認(rèn)識(shí)和掌握。

      關(guān)鍵詞:Web開發(fā);JSP;Servlet

      中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2020)12-0082-02

      1概述

      Web頁(yè)面系統(tǒng)開發(fā)是經(jīng)典的軟件開發(fā)項(xiàng)目,也是從事軟件開發(fā)人員的啟蒙項(xiàng)目。Web頁(yè)面系統(tǒng)開發(fā)涉及前端頁(yè)面、服務(wù)器、后端數(shù)據(jù)庫(kù)之間數(shù)據(jù)流與業(yè)務(wù)流的交互,因此需要學(xué)習(xí)一套完整成熟的開發(fā)架構(gòu)體系。

      Java中的Web架構(gòu)種類豐富,但基本的開發(fā)規(guī)則和步驟都是類似的:在前端頁(yè)面上提供用戶交互,使用JSP等技術(shù)實(shí)現(xiàn)面向?qū)ο蟮恼?qǐng)求和響應(yīng)流程,使用Servlet或者Filter等技術(shù)攔截檢驗(yàn)請(qǐng)求,確認(rèn)安全無(wú)誤后訪問(wèn)后臺(tái)服務(wù)器和數(shù)據(jù)庫(kù)。通常所說(shuō)的第三方框架即是對(duì)上述流程進(jìn)行了集成優(yōu)化后的一套完整處理方案,保證項(xiàng)目開發(fā)的快速高效。本文的新聞?lì)l道系統(tǒng)沒(méi)有使用第三方框架而是選擇JsP和Servlet技術(shù)結(jié)合開發(fā)的原因是為了有利于初學(xué)者對(duì)于JavaWeb開發(fā)路線的理解。

      2需求分析

      新聞?lì)l道系統(tǒng)用戶的需求是可以進(jìn)行主頁(yè)面的新聞瀏覽,并且能夠定期進(jìn)行更新和推送。不同用戶的關(guān)注點(diǎn)各不相同,需要實(shí)現(xiàn)能夠分類別的瀏覽,比如“體育”類、“軍事”類等等,用戶還需要能夠進(jìn)行定向的搜索和查找。允許用戶發(fā)表自己的觀點(diǎn)和對(duì)新聞反饋?zhàn)约旱那榫w,比如“點(diǎn)贊”“反對(duì)”等等。通過(guò)對(duì)上述需求的分析,我們可以確定三類不同權(quán)限的用戶,按權(quán)限級(jí)別由低到高分別為游客、普通用戶和管理員用戶。游客只有瀏覽和查找新聞的權(quán)限,無(wú)評(píng)論和反饋權(quán)限。普通用戶使用賬號(hào)登錄后可以進(jìn)行評(píng)價(jià)和反饋,但不能對(duì)原始新聞進(jìn)行增刪改操作。管理員用戶擁有最高權(quán)限。

      3技術(shù)路線

      3.1業(yè)務(wù)邏輯和數(shù)據(jù)邏輯

      簡(jiǎn)單來(lái)說(shuō),本項(xiàng)目的主要業(yè)務(wù)流向和數(shù)據(jù)流向?yàn)椋呵岸隧?yè)面發(fā)送請(qǐng)求一后端服務(wù)器接收后對(duì)請(qǐng)求進(jìn)行授權(quán)和反饋。這個(gè)過(guò)程中涉及數(shù)據(jù)的修改時(shí),服務(wù)器可與數(shù)據(jù)庫(kù)之間進(jìn)行交互。最后在前端頁(yè)面上顯示授權(quán)和反饋后的結(jié)果。

      通常使用三層架構(gòu)進(jìn)行處理,即Web/UI層,Service層和DAO層。

      1)Web/UI層(前端UI和展示層):通常使用html、CSS等腳本語(yǔ)言編寫的頁(yè)面,用于接收用戶請(qǐng)求,展示反饋結(jié)果。

      2)Selvice層(業(yè)務(wù)層):接收請(qǐng)求后,實(shí)現(xiàn)具體業(yè)務(wù)邏輯的地方,比如:登錄校驗(yàn)、日志的打印等等。涉及數(shù)據(jù)流時(shí),接收到DAO層的反饋數(shù)據(jù)后再返回給Web/UI層。

      3)DAO層(數(shù)據(jù)層):直接跟數(shù)據(jù)庫(kù)關(guān)聯(lián),專門負(fù)責(zé)對(duì)于數(shù)據(jù)庫(kù)的增刪改查操作,按照訪問(wèn)請(qǐng)求得到數(shù)據(jù)后會(huì)反饋給Service層。

      早期的項(xiàng)目開發(fā)時(shí),直接讓前端的Web/UI層和DAO層進(jìn)行交互,缺少中間層Service,這樣會(huì)造成項(xiàng)目業(yè)務(wù)流、數(shù)據(jù)流不分,數(shù)據(jù)擁塞,另外也加大了數(shù)據(jù)安全的風(fēng)險(xiǎn)。采用三層架構(gòu)可以實(shí)現(xiàn)高內(nèi)聚低耦合的特點(diǎn),讓各主要功能模塊各司其職、互不干擾。在這三層架構(gòu)之間控制業(yè)務(wù)流向和數(shù)據(jù)流向的技術(shù)就是JSP和Servlet技術(shù)。

      3.2相關(guān)技術(shù)和工具

      1)JSP

      JSP(Java Server Page),是一種運(yùn)行在服務(wù)器端的Java頁(yè)面,最初是由Sun公司倡導(dǎo),并由多家公司參與建立起來(lái)的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP運(yùn)行在服務(wù)端,當(dāng)用戶通過(guò)Web頁(yè)面請(qǐng)求訪問(wèn)JSP資源時(shí),Web服務(wù)器會(huì)使用JSP引擎對(duì)請(qǐng)求的JSP進(jìn)行編輯和執(zhí)行,然后將生成的頁(yè)面返回給客戶端瀏覽器進(jìn)行顯示。當(dāng)JSP請(qǐng)求提交到服務(wù)器時(shí),Web容器會(huì)通過(guò)以下三個(gè)階段進(jìn)行處理,即翻譯階段,編譯階段和執(zhí)行階段。

      2)Servlet

      Servlet(Server Applet),全稱Java SeIvlet。是用Java編寫的服務(wù)器端程序。其主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。狹義的Servlet是指Java語(yǔ)言實(shí)現(xiàn)的一個(gè)接口,廣義的Servlet是指任何實(shí)現(xiàn)了這個(gè)Servlet接口的類,一般情況下,人們將Servlet理解為后者。

      额尔古纳市| 历史| 漠河县| 金乡县| 开阳县| 且末县| 玉屏| 临海市| 聂荣县| 桑日县| 安图县| 若羌县| 仁寿县| 河东区| 长岛县| 米林县| 郓城县| 措勤县| 温州市| 宜章县| 武宣县| 浠水县| 武陟县| 定远县| 沂南县| 肇源县| 古田县| 桐城市| 衢州市| 固镇县| 慈利县| 德州市| 吴江市| 安泽县| 乌兰浩特市| 利川市| 张北县| 两当县| 巧家县| 临武县| 万宁市|