{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

初學(xué)java的小白接到了項目:JSP頁面與MySQL數(shù)據(jù)庫連接、MVC模式等。怎么做才能體現(xiàn)項目需求呢?

nodejhnodejh 回答0 收藏2
問題描述:本人初學(xué)java一年。現(xiàn)在到了做項目了。項目需求:JSP頁面與MySQL數(shù)據(jù)庫連接、MVC模式等。現(xiàn)在很迷茫。不知道要做啥項目才能體現(xiàn)需求
收藏問題

10條回答

xorpay

xorpay

回答于2022-06-28 15:38

謝謝邀請!

JSP是Java Web開發(fā)的傳統(tǒng)技術(shù)之一,雖然弊端比較多,比如業(yè)務(wù)邏輯與顯示邏輯耦合、無法分別部署、開發(fā)角色分工不清等問題,但是JSP對于初學(xué)者來說還是有一定的學(xué)習(xí)必要性,有不少遺留項目依然需要采用JSP技術(shù)。

MySQL數(shù)據(jù)庫是目前使用比較多的數(shù)據(jù)庫之一,尤其在Web開發(fā)領(lǐng)域。MySQL數(shù)據(jù)庫簡單易學(xué)且功能強大,Java程序員往往都對MySQL數(shù)據(jù)庫比較熟悉。雖然通過JSP直接連接MySQL數(shù)據(jù)庫是可以做到的,但是這種做法顯然是有很多問題的,恰好通過MVC結(jié)構(gòu)是可以基本解決這些問題的。

MVC是一個軟件開發(fā)領(lǐng)域的經(jīng)典結(jié)構(gòu),采用MVC進行Web開發(fā)也就是所謂的Model2開發(fā)方式,這種開發(fā)方式用JavaBean來描述M(模型),采用JSP來描述V(視圖),采用Servlet來描述C(控制器)。MVC最大的好處是實現(xiàn)了不同部分的解耦,提升了Web程序的模塊化程度,使得多角色協(xié)作開發(fā)有了重要的基礎(chǔ),也為日后的優(yōu)化打下來基礎(chǔ)。

要想利用MVC結(jié)構(gòu)完成一個傳統(tǒng)Java Web開發(fā),需要綜合使用Servlet、JSP、JavaBean、JDBC、MVC、DAO等一系列傳統(tǒng)技術(shù),而通過一個模擬銀行“存取轉(zhuǎn)”業(yè)務(wù)的Web應(yīng)用是一個不錯的選擇。

存取轉(zhuǎn)業(yè)務(wù)的基礎(chǔ)是賬戶,所以可以先寫一個Account類作為M部分,然后為M定義一個映射表格。以DAO的方式完成數(shù)據(jù)庫與Account類的映射,需要定義接口、實現(xiàn)類和工廠類。接著定義控制器Servlet,在Servlet中完成用戶請求的各種“導(dǎo)航”,最終通過JSP完成呈現(xiàn)。

這個過程只是一個基本的模擬,而且并沒有采用任何開源框架,對于Java學(xué)習(xí)者來說,學(xué)習(xí)開源框架是必要的。在掌握了MVC和DAO之后,再學(xué)習(xí)SpringMVC和Mybatis會更容易理解。

作者簡介:中國科學(xué)院大學(xué)計算機專業(yè)研究生導(dǎo)師,從事IT行業(yè)多年,研究方向包括動態(tài)軟件體系結(jié)構(gòu)、大數(shù)據(jù)、人工智能相關(guān)領(lǐng)域,有多年的一線研發(fā)經(jīng)驗。

歡迎關(guān)注作者,歡迎咨詢計算機相關(guān)問題。

評論0 贊同0
  •  加載中...
henry14

henry14

回答于2022-06-28 15:38

謝邀~

針對這個問題,具體的怎么連接數(shù)據(jù)庫,怎么增刪查改,這些代碼自己用google一下就可以得到答案,這里就不細說;初學(xué)者寫代碼經(jīng)常會有個問題:把所有代碼都寫在“一層”里,甚至是一個類、一個方法里。

下面我談?wù)勛约旱慕ㄗh,如果意見不同,請留言討論。


什么是MVC

MVC是Model—View—Controler的簡稱;即模型—視圖—控制;MVC是一種設(shè)計模式,它強制性的把應(yīng)用程序的輸入、處理和輸出分開。

  • 視圖: 視圖是用戶看到并與之交互的界面;視圖向用戶顯示相關(guān)的數(shù)據(jù),并接受用戶的輸入;視圖不進行任何業(yè)務(wù)邏輯處理。

  • 模型: 模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)處理;相當于JavaBean;一個模型能為多個視圖提供數(shù)據(jù)。這提高了應(yīng)用程序的重用性

  • 控制器: 當用戶單擊Web頁面中的提交按鈕時,控制器接受請求并調(diào)用相應(yīng)的模型去處理請求;然后根據(jù)處理的結(jié)果調(diào)用相應(yīng)的視圖來顯示處理的結(jié)果。

  • MVC的處理過程:首先控制器接受用戶的請求,調(diào)用相應(yīng)的模型來進行業(yè)務(wù)處理,并返回數(shù)據(jù)給控制器??刂破髡{(diào)用相應(yīng)的視圖來顯示處理的結(jié)果。并通過視圖呈現(xiàn)給用戶。

代碼如何分層

大概知道什么是MVC了吧,其實就是:對代碼分層,各司其職。

現(xiàn)在看看題主的代碼怎么寫,我就按照我的習(xí)慣進行一下分層:

  • JSP能直接訪問數(shù)據(jù)庫么?技術(shù)上是沒問題的,但是我們通常不會這么做。和數(shù)據(jù)庫完成交互的,一般代碼里面會有兩層:Model和Dao。Model相當于JavaBean,是對數(shù)據(jù)庫表中數(shù)據(jù)的承載,Dao就是對數(shù)據(jù)庫表的操作。這里可以是JDBC,也可以使用ORM框架。

  • 再往上,我一般會設(shè)置多帶帶的Service層,Service會有業(yè)務(wù)邏輯,可能會調(diào)用其他的Service,也可能會調(diào)用Dao層中的方法,也可能是調(diào)用其他系統(tǒng)的接口。

  • Service上面,再是Controller層,主要用于接受客戶端的數(shù)據(jù),并對數(shù)據(jù)進行簡單的校驗。(我這樣的寫法,Service層+Controller層 = MVC中的C)

  • 瀏覽器(客戶端)與C層的交互,會使用的View。

  • 當然,靜態(tài)變量、配置、工具類等,都會有多帶帶的包,不在這里討論。

具體的流程

所以具體的一個流程是這樣的?例如頁面輸入用戶身份證號,查詢用戶詳細信息:

  • JSP中輸入身份證號;

  • Controller層拿到View,對于代碼來說就是個Java對象,這一層可以增加驗證,比如不能輸入空、null或是身份證號規(guī)則驗證;

  • 傳到Service層,這一層這個場景下,沒有什么特殊處理;

  • 傳到Dao層,查詢數(shù)據(jù)庫,返回客戶信息:客戶姓名-張三,客戶性別-M;開始返回;

  • 傳回Service層,把M轉(zhuǎn)成“男”(不過經(jīng)常是在SQL中直接關(guān)聯(lián)字典表了);

  • 傳回Controller層,再傳回JSP展示。

我將持續(xù)分享Java開發(fā)、架構(gòu)設(shè)計、程序員職業(yè)發(fā)展等方面的見解,希望能得到你的關(guān)注。

評論0 贊同0
  •  加載中...
張遷

張遷

回答于2022-06-28 15:38

首先謝謝你的邀請,因為你的最后一句話,讓我對你的提問理解有點模糊,不過你前面說的項目需求,SpringMVC和JSP、MySQL,你可以做個簡單的登錄就能實現(xiàn)你這三個條件了,用MVC框架來搭建項目,數(shù)據(jù)庫連接有很多種,你可以百度搜一下,建一個登錄用戶的實體,然后就可以了。

評論0 贊同0
  •  加載中...
BWrong

BWrong

回答于2022-06-28 15:38

jsp做頁面連接mysql數(shù)據(jù)庫,建立mvc框架

評論0 贊同0
  •  加載中...
qieangel2013

qieangel2013

回答于2022-06-28 15:38

1. 首先從問題中得知你可能需要用到的技術(shù)jsp,mysql

2. jsp是前端顯示技術(shù),mysql是后臺數(shù)據(jù)庫,mvc只是一種模式,把model數(shù)據(jù),view界面,controller業(yè)務(wù)邏輯分離開來

3. 可以做一些圖書管理系統(tǒng),學(xué)生管理系統(tǒng),可以上網(wǎng)搜教程,也可以私聊我,免費指導(dǎo)

評論0 贊同0
  •  加載中...
U2FsdGVkX1x

U2FsdGVkX1x

回答于2022-06-28 15:38

做一個xx管理系統(tǒng),就明白bean,servlet,dao怎么寫了

評論0 贊同0
  •  加載中...
rose

rose

回答于2022-06-28 15:38

初學(xué)者可以寫個自定義mvc,有助于了解mvc模式。

評論0 贊同0
  •  加載中...
kaka

kaka

回答于2022-06-28 15:38

把你這里說的內(nèi)容,做成一個簡單應(yīng)用吧!最后一句:你有什么建議?在這里告送我吧!

評論0 贊同0
  •  加載中...
馬永翠

馬永翠

回答于2022-06-28 15:38

需求不清晰噢⊙_⊙

評論0 贊同0
  •  加載中...
JouyPub

JouyPub

回答于2022-06-28 15:38

jsp可以直接寫java代碼,但是我不明白什么奇葩項目要在jsp上直接連接MySQL?

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<