新聞中心
JSP頁面與MySQL數(shù)據(jù)庫連接MVC模式等?
謝邀~

成都創(chuàng)新互聯(lián)公司是一家專業(yè)從事成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,成都創(chuàng)新互聯(lián)公司依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
針對這個(gè)問題,具體的怎么連接數(shù)據(jù)庫,怎么增刪查改,這些代碼自己用google一下就可以得到答案,這里就不細(xì)說;初學(xué)者寫代碼經(jīng)常會有個(gè)問題:把所有代碼都寫在“一層”里,甚至是一個(gè)類、一個(gè)方法里。
下面我談?wù)勛约旱慕ㄗh,如果意見不同,請留言討論。
什么是MVCMVC是Model—View—Controler的簡稱;即模型—視圖—控制;MVC是一種設(shè)計(jì)模式,它強(qiáng)制性的把應(yīng)用程序的輸入、處理和輸出分開。
視圖: 視圖是用戶看到并與之交互的界面;視圖向用戶顯示相關(guān)的數(shù)據(jù),并接受用戶的輸入;視圖不進(jìn)行任何業(yè)務(wù)邏輯處理。
模型: 模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)處理;相當(dāng)于JavaBean;一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。這提高了應(yīng)用程序的重用性
控制器: 當(dāng)用戶單擊Web頁面中的提交按鈕時(shí),控制器接受請求并調(diào)用相應(yīng)的模型去處理請求;然后根據(jù)處理的結(jié)果調(diào)用相應(yīng)的視圖來顯示處理的結(jié)果。
MVC的處理過程:首先控制器接受用戶的請求,調(diào)用相應(yīng)的模型來進(jìn)行業(yè)務(wù)處理,并返回?cái)?shù)據(jù)給控制器??刂破髡{(diào)用相應(yīng)的視圖來顯示處理的結(jié)果。并通過視圖呈現(xiàn)給用戶。
代碼如何分層大概知道什么是MVC了吧,其實(shí)就是:對代碼分層,各司其職。
現(xiàn)在看看題主的代碼怎么寫,我就按照我的習(xí)慣進(jìn)行一下分層:
JSP能直接訪問數(shù)據(jù)庫么?技術(shù)上是沒問題的,但是我們通常不會這么做。和數(shù)據(jù)庫完成交互的,一般代碼里面會有兩層:Model和Dao。Model相當(dāng)于JavaBean,是對數(shù)據(jù)庫表中數(shù)據(jù)的承載,Dao就是對數(shù)據(jù)庫表的操作。這里可以是JDBC,也可以使用ORM框架。
再往上,我一般會設(shè)置單獨(dú)的Service層,Service會有業(yè)務(wù)邏輯,可能會調(diào)用其他的Service,也可能會調(diào)用Dao層中的方法,也可能是調(diào)用其他系統(tǒng)的接口。
Service上面,再是Controller層,主要用于接受客戶端的數(shù)據(jù),并對數(shù)據(jù)進(jìn)行簡單的校驗(yàn)。(我這樣的寫法,Service層+Controller層 = MVC中的C)
瀏覽器(客戶端)與C層的交互,會使用的View。
當(dāng)然,靜態(tài)變量、配置、工具類等,都會有單獨(dú)的包,不在這里討論。
具體的流程所以具體的一個(gè)流程是這樣的?例如頁面輸入用戶身份證號,查詢用戶詳細(xì)信息:
JSP中輸入身份證號;
Controller層拿到View,對于代碼來說就是個(gè)Java對象,這一層可以增加驗(yàn)證,比如不能輸入空、null或是身份證號規(guī)則驗(yàn)證;
傳到Service層,這一層這個(gè)場景下,沒有什么特殊處理;
傳到Dao層,查詢數(shù)據(jù)庫,返回客戶信息:客戶姓名-張三,客戶性別-M;開始返回;
傳回Service層,把M轉(zhuǎn)成“男”(不過經(jīng)常是在SQL中直接關(guān)聯(lián)字典表了);
傳回Controller層,再傳回JSP展示。
我將持續(xù)分享Java開發(fā)、架構(gòu)設(shè)計(jì)、程序員職業(yè)發(fā)展等方面的見解,希望能得到你的關(guān)注。如何檢索sci全文?
1、進(jìn)入web of science網(wǎng)站查詢,在網(wǎng)站檢索選項(xiàng)中找到所有數(shù)據(jù)庫,在該選項(xiàng)的下拉選項(xiàng)中選擇“web of science核心合集”選項(xiàng)。
2、將網(wǎng)頁下拉,找到更多設(shè)置選項(xiàng),在該選項(xiàng)下找到"SCI-EXPANDED"選項(xiàng),勾選該選項(xiàng)前面的方框,顯示對號。
3、將網(wǎng)頁上翻,找到基本搜索字樣,點(diǎn)擊該字樣旁邊的下拉按鈕,可以選擇基本檢索,有“作者檢索”、“被引參考文獻(xiàn)檢索”、“化學(xué)結(jié)構(gòu)檢索”、“高級檢索”四種,選擇“作者檢索”選項(xiàng)。
4、在作者檢索頁面的輸入欄中,輸入作者的姓名,需要注意的是姓要用拼音的全拼,名用首字母,不管是姓還是名,首字母都要大寫。
5、可以選擇跳過選擇研究領(lǐng)域選項(xiàng),也可以根據(jù)查詢需要進(jìn)行選擇,點(diǎn)擊“完成檢索”按鈕,即可通過作者姓名查詢他的所有SCI文章。
圖數(shù)據(jù)庫是用于做什么的?
近些年來,在大數(shù)據(jù)處理過程中有一種被廣泛提及和使用的數(shù)據(jù)庫,那就是圖數(shù)據(jù)庫。那么圖數(shù)據(jù)庫究竟是什么呢?
圖數(shù)據(jù)庫,如果是剛接觸的人,可能會被其字面意思所誤導(dǎo)。其實(shí),圖數(shù)據(jù)庫并不是指存儲圖片、圖像的數(shù)據(jù)庫,而是指存儲圖這種數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)庫。那么圖又是什么呢?什么是圖我們通過下面的例子來認(rèn)識一下。東漢末年,孫權(quán)、劉備聯(lián)軍曾在赤壁一帶以火攻敵船之計(jì)大破曹軍。如果我們把各陣營之間的關(guān)系抽象一下,以陣營作為點(diǎn),陣營之間的關(guān)系作為邊,這樣我們就可以用如下的圖來形象地表示上述關(guān)系:以上就是這里所謂的圖(的可視化展示)。我們把這種存儲實(shí)體和實(shí)體之間關(guān)系的數(shù)據(jù)結(jié)構(gòu),稱為圖,Graph,圖由點(diǎn)和邊組成,一個(gè)點(diǎn)就是一個(gè)實(shí)體,比如上述實(shí)例中的陣營,兩個(gè)實(shí)體之間的關(guān)系則用有方向或無方向的邊來表示,比如劉備和孫權(quán)之間的聯(lián)盟關(guān)系等。這種通用的結(jié)構(gòu)可以對現(xiàn)實(shí)中的各種場景進(jìn)行建模,從交通運(yùn)輸系統(tǒng)到組織架構(gòu)管理,從工藝流程設(shè)計(jì)到社交網(wǎng)絡(luò)。什么是圖數(shù)據(jù)庫知道了圖的概念,你就可以理解什么是圖數(shù)據(jù)庫了。簡單來說,圖數(shù)據(jù)庫就是用來處理圖這種數(shù)據(jù)結(jié)構(gòu)的工具。不同于傳統(tǒng)的使用二維表格存儲數(shù)據(jù)的關(guān)系型數(shù)據(jù)庫,圖數(shù)據(jù)庫在傳統(tǒng)意義上被歸類為NoSQL(Not Only SQL)數(shù)據(jù)庫的一種,也就是說圖數(shù)據(jù)庫屬于非關(guān)系型數(shù)據(jù)庫。一般的圖數(shù)據(jù)庫至少包含圖存儲、圖查詢、圖分析這三種功能。為什么要用圖數(shù)據(jù)庫那我們?yōu)槭裁匆脠D數(shù)據(jù)庫呢?我們還是用東漢末年的例子來講解一下圖數(shù)據(jù)庫相對于關(guān)系型數(shù)據(jù)庫的優(yōu)勢。假設(shè)某關(guān)系型數(shù)據(jù)庫中有三張表,分別是東漢末年人物表、東漢末年戰(zhàn)役表和東漢末年人物參戰(zhàn)表。當(dāng)我們想知道“樊城之戰(zhàn)的守方是誰”,查詢一般會比較快,從表2可以直接得到,但當(dāng)我們想知道“劉備集團(tuán)發(fā)動了哪些戰(zhàn)爭”的時(shí)候,盡管我們也可以從表2查到答案,但是我們可能需要遍歷整個(gè)表2,查詢效率會瞬間降低。而當(dāng)我們要查詢諸如“關(guān)羽出戰(zhàn)過劉備集團(tuán)發(fā)動的哪些戰(zhàn)爭”的時(shí)候,我們來看一下執(zhí)行這條查詢時(shí)關(guān)系型數(shù)據(jù)庫是怎么做的:A. 首先通過東漢末年人物表找到關(guān)羽對應(yīng)的人物IDB. 再使用東漢末年人物參戰(zhàn)表找到其參戰(zhàn)的戰(zhàn)役C. 最后通過東漢末年戰(zhàn)役表找到其參戰(zhàn)的哪些戰(zhàn)役的攻方是劉備集團(tuán)我們會發(fā)現(xiàn),這個(gè)查詢實(shí)在是太繁瑣了。而如果我們將以上表格轉(zhuǎn)化為如下的一張關(guān)系圖譜,那么誰和誰是什么關(guān)系就一目了然了。這么說也許你還沒有真正領(lǐng)略到圖數(shù)據(jù)庫的巨大威力,我們再來看一個(gè)最經(jīng)典的社交網(wǎng)絡(luò)中查詢性能對比的數(shù)據(jù)。在《Neo4j in Action》這本書中,作者做了一個(gè)測試:在一個(gè)包含100萬人,每個(gè)人約有50個(gè)朋友的社交網(wǎng)絡(luò)中找最大深度為5的朋友的朋友,得到的實(shí)驗(yàn)結(jié)果如下:測試結(jié)果表明,深度為2時(shí)兩種數(shù)據(jù)庫的性能差別不大,都很迅速;當(dāng)深度為3時(shí),關(guān)系型數(shù)據(jù)庫需要半分鐘完成查詢,圖數(shù)據(jù)庫依舊在1秒內(nèi)搞定;當(dāng)深度為4時(shí),關(guān)系型數(shù)據(jù)庫耗費(fèi)了接近半小時(shí)返回結(jié)果,圖數(shù)據(jù)庫不到2秒;而當(dāng)深度達(dá)到5以后,關(guān)系型數(shù)據(jù)庫就遲遲無法響應(yīng)了,圖數(shù)據(jù)庫卻依舊可以「秒殺」,表現(xiàn)出了非常良好的性能。據(jù)此,我們可以從以下幾個(gè)方面理解為什么要用圖數(shù)據(jù)庫:關(guān)系型數(shù)據(jù)庫不擅長處理數(shù)據(jù)之間的關(guān)系,而圖數(shù)據(jù)庫在處理數(shù)據(jù)之間關(guān)系方面靈活且高性能我們不可否認(rèn)關(guān)系型數(shù)據(jù)庫自上世紀(jì)80年代以來一直都是數(shù)據(jù)庫領(lǐng)域發(fā)展的主力,當(dāng)前,隨著社交、物聯(lián)網(wǎng)、金融、電商等領(lǐng)域的快速發(fā)展,由此產(chǎn)生的數(shù)據(jù)呈現(xiàn)指數(shù)級的增長,而傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在處理復(fù)雜關(guān)系的數(shù)據(jù)上表現(xiàn)很差,這是因?yàn)殛P(guān)系型數(shù)據(jù)庫是通過外鍵的約束來實(shí)現(xiàn)多表之間的關(guān)系引用的。查詢實(shí)體之間的關(guān)系需要JOIN操作,而JOIN操作通常非常耗時(shí)。而圖數(shù)據(jù)庫的原始設(shè)計(jì)動機(jī)就是更好地描述實(shí)體之間的關(guān)系。圖數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫最大的不同就是免索引鄰接。圖數(shù)據(jù)模型中的每個(gè)節(jié)點(diǎn)都會維護(hù)與它相鄰的節(jié)點(diǎn)關(guān)系,這就意味著查詢時(shí)間與圖的整體規(guī)模無關(guān),只與每個(gè)節(jié)點(diǎn)的鄰點(diǎn)數(shù)量有關(guān),這使得圖數(shù)據(jù)庫在處理大量復(fù)雜關(guān)系時(shí)也能保持良好的性能。另外,圖的結(jié)構(gòu)決定了其易于擴(kuò)展的特性。我們不必在模型設(shè)計(jì)之初就把所有的細(xì)節(jié)都考慮到,因?yàn)樵诤罄m(xù)增加新的節(jié)點(diǎn)、新的關(guān)系、新的屬性甚至新的標(biāo)簽都很容易,也不會破壞已有的查詢和應(yīng)用功能。數(shù)據(jù)之間的關(guān)系越來越重要當(dāng)我們在問圖數(shù)據(jù)庫為什么如此重要時(shí),其實(shí)就是在問,數(shù)據(jù)之間的關(guān)系為何如此重要?正如大家都知道人際關(guān)系的價(jià)值,其實(shí)數(shù)據(jù)的價(jià)值也在于它們之間的關(guān)聯(lián)關(guān)系上。舉個(gè)例子。最近直播帶貨非常火,假如某個(gè)主播在微博上有幾百萬的粉絲,這個(gè)數(shù)據(jù)如果不利用起來,價(jià)值并不大,但如果他直播帶貨,把關(guān)注他的粉絲和可能來他直播間購物的顧客聯(lián)系起來時(shí),這些數(shù)據(jù)立馬展現(xiàn)出巨大的商業(yè)價(jià)值。使用圖的,更直觀,也更易于理解自然界中有各種各樣的關(guān)系,而關(guān)系型數(shù)據(jù)庫只能把這些拍扁成表格形態(tài)的行列數(shù)據(jù),而圖數(shù)據(jù)基于圖模型以一種直觀的,因而更形象。另外,現(xiàn)在大部分的圖數(shù)據(jù)庫都提供了可視化的圖展示,使得查詢和分析變得很直觀。專業(yè)的圖分析算法為實(shí)際場景提供解決方案圖數(shù)據(jù)庫起源于圖理論,借助于專業(yè)的圖分析算法,能夠?yàn)閷?shí)際場景提供合適的解決方案。圖數(shù)據(jù)庫如何存儲、查詢、分析圖存儲圖數(shù)據(jù)庫如何存儲圖,對查詢和分析效率至關(guān)重要。圖數(shù)據(jù)庫使用圖模型來操作圖數(shù)據(jù)。所謂的圖模型是指圖數(shù)據(jù)庫描述和組織圖數(shù)據(jù)的。目前主流的圖數(shù)據(jù)庫選擇的圖模型是屬性圖。屬性圖由點(diǎn)、邊、標(biāo)簽和屬性組成,我們結(jié)合一個(gè)具體的屬性圖實(shí)例來看一下。以上屬性圖可以幫助我們理解一些相關(guān)概念:1) 可以為點(diǎn)設(shè)置標(biāo)簽,比如 person, war等,擁有相同標(biāo)簽的點(diǎn)我們認(rèn)為它們屬于一個(gè)分組,是一個(gè)集合,這樣劉備和曹操屬于一個(gè)分組;2) 同樣可以為邊設(shè)置標(biāo)簽,標(biāo)簽可以為 relation等;3) 節(jié)點(diǎn)可以擁有很多屬性,比如 style name、year等,這些屬性值以鍵值對的形式表示,例如:劉備的style name是玄德;4) 邊也可以擁有屬性,比如army等;5) 邊允許有方向,例如劉備和漢中之戰(zhàn)之間的邊的方向是由劉備指向漢中之戰(zhàn)的;6) 元數(shù)據(jù)是用來描述點(diǎn)和邊的屬性信息的,元數(shù)據(jù)由若干標(biāo)簽組成,每個(gè)標(biāo)簽由若干屬性組成。圖查詢?nèi)绻覀兿胫绖涞募炘谀模瑒浜筒懿偈鞘裁搓P(guān)系,漢中之戰(zhàn)的發(fā)動方是誰等等,這些都屬于圖查詢的范疇。我們知道,SQL是關(guān)系型數(shù)據(jù)庫的查詢語言,但是圖數(shù)據(jù)庫的查詢語言并沒有復(fù)用SQL。這是因?yàn)楸举|(zhì)上圖數(shù)據(jù)庫處理的是高維數(shù)據(jù),而SQL所適用的是二維的數(shù)據(jù)結(jié)構(gòu),其并不擅長關(guān)系的查詢和操作。使用專門的圖查詢語言比SQL更加高效。目前主流的圖查詢語言包括Gremlin和Cypher等。HBNmZ">圖分析圖分析是指通過各種圖算法來挖掘圖信息的一門技術(shù)。核心的圖算法可以分成三類:路徑搜索類、中心性分析類和社區(qū)發(fā)現(xiàn)類。路徑搜索是探索圖中節(jié)點(diǎn)通過邊建立的直接或間接的聯(lián)系。例如在下圖中,通過路徑搜索,我們發(fā)現(xiàn)了這樣一條路徑:孫策-[夫妻]-大喬-[姐妹]-小喬-[夫妻]-周瑜,據(jù)此得知孫策和周瑜是連襟的關(guān)系。路徑搜索類算法廣泛用于物流配送、社交關(guān)系分析等場景。中心性分析是指分析特定節(jié)點(diǎn)在圖中的重要程度及其影響力。例如在上圖中,直觀來看,孫權(quán)是一個(gè)重要的人物,因?yàn)榕c他直接相連的邊的數(shù)量最多。中心性分析類算法一般用于網(wǎng)頁排序、意見領(lǐng)袖挖掘、流感傳播等場景。社區(qū)發(fā)現(xiàn)意在發(fā)現(xiàn)圖中聯(lián)系更緊密的群體結(jié)構(gòu)。如果把更多的三國人物和關(guān)系加到上圖中,利用Louvain等社團(tuán)挖掘類算法,我們很容易發(fā)現(xiàn)這些人物分屬三個(gè)陣營,如下圖所示。社區(qū)發(fā)現(xiàn)類算法可用于犯罪團(tuán)伙挖掘等場景。圖數(shù)據(jù)庫有什么用介紹完圖數(shù)據(jù)庫的主要功能,我們再來看看圖數(shù)據(jù)庫都有哪些應(yīng)用場景。圖數(shù)據(jù)庫擅長的應(yīng)用領(lǐng)域包括:社交領(lǐng)域:Facebook, Twitter用它來進(jìn)行社交關(guān)系管理、好友推薦我們熟悉的好友推薦。就可以采用推薦好友的好友的方法。徐庶和司馬徽向劉備推薦諸葛亮可以通過下圖形象地展示電商領(lǐng)域:華為商城用它來實(shí)現(xiàn)商品實(shí)時(shí)推薦通過分析目標(biāo)用戶和其他用戶的喜好商品,找到相似的其他用戶,把這些用戶購買過的商品推薦給目標(biāo)用戶。金融領(lǐng)域:工商銀行、摩根大通用它來做風(fēng)控管理目前來看,金融領(lǐng)域?qū)D數(shù)據(jù)庫的需求很迫切,以貸款為例,在整個(gè)貸款周期中,圖數(shù)據(jù)庫都能發(fā)揮巨大的作用。安平領(lǐng)域:公安用它來進(jìn)行嫌疑關(guān)系審查、犯罪團(tuán)伙挖掘東漢末年,曹操刺殺董卓,貂蟬挑撥董卓父子關(guān)系,呂布斬殺董卓,但是董卓卻不知道,這些事件幕后主兇之一都有王允,如下圖所示。現(xiàn)實(shí)中也可能是這樣,幕后真兇可能與目標(biāo)案件沒有直接關(guān)系,只有間接的關(guān)系。什么樣的場景適合用圖數(shù)據(jù)庫你可以根據(jù)以下幾點(diǎn)來判斷你的問題是否需要圖數(shù)據(jù)庫:如果你的問題中頻繁出現(xiàn)多對多的關(guān)系,建議首選圖數(shù)據(jù)庫;如果你的問題中數(shù)據(jù)之間的關(guān)系非常重要,建議首選圖數(shù)據(jù)庫;如果你需要處理大規(guī)模數(shù)據(jù)集之間的關(guān)系,建議首選圖數(shù)據(jù)庫。圖數(shù)據(jù)庫產(chǎn)品現(xiàn)在圖數(shù)據(jù)庫產(chǎn)品已經(jīng)出現(xiàn)百家爭鳴的局面,Neo4j作為老牌圖數(shù)據(jù)的代表,盡管依然擁躉眾多,但是由于其自身的缺陷,挑戰(zhàn)者正在增多,而華為云圖引擎圖數(shù)據(jù)庫GES作為國產(chǎn)圖數(shù)據(jù)庫之光,正在成為其中的佼佼者。GES 使用界面本文分享自華為云社區(qū)《圖數(shù)據(jù)庫到底是個(gè)啥》,原文作者:你好_TT 。
怎么把數(shù)據(jù)庫和網(wǎng)頁連接?
1. web服務(wù)器(apache、tomcat等),網(wǎng)絡(luò)協(xié)議(http、socket等),瀏覽器(chrome、FF、IE等)。瀏覽器發(fā)起建立連接請求,通過網(wǎng)絡(luò)協(xié)議與服務(wù)器建立連接,服務(wù)器保持連接,獲取瀏覽器想要的數(shù)據(jù),服務(wù)器通過連接返回內(nèi)容給瀏覽器,瀏覽器把數(shù)據(jù)呈現(xiàn)出來。
2. 連接的協(xié)議一般是http,也有websocket。服務(wù)器以服務(wù)的,就像外賣店,你打個(gè),人家就把飯菜送上門來了。
3. web服務(wù)器訪問數(shù)據(jù)庫一樣要使用網(wǎng)絡(luò)連接,端口只是開放服務(wù)的入口而已,就像外賣的。
分享題目:JSP頁面與MySQL數(shù)據(jù)庫連接MVC模式等?(如何檢索sci全文?)
當(dāng)前鏈接:http://www.5511xx.com/article/dppgcis.html


咨詢
建站咨詢
