Java Web項目的控制器層應該寫什么代碼?
問題描述
我們現(xiàn)在在做畢業(yè)項目,要求不用框架手寫一個系統(tǒng)。那么servlet是不是就相當于控制器?
比如說我寫一個用戶登錄系統(tǒng),這個控制器里面應該寫什么內(nèi)容呢?我是不是在servlet中接收到post數(shù)據(jù),然后傳遞到service層中,然后service層再根據(jù)數(shù)據(jù)new出實體,并且對實體操作,然后將這個操作通過dao應用到數(shù)據(jù)庫中?
問題解答
回答1:你的想法就是框架中的分層思想,這樣做沒什么問題。
回答2:不用框架手寫一個系統(tǒng)的話,你完全可以不用mvc結(jié)構(gòu),為啥一定要拘泥于什么是控制器呢,記住一切服務(wù)器只干了以下工作“收到一些數(shù)據(jù),算一算,返回去一些數(shù)據(jù)”,能滿足這個要求你的系統(tǒng)就成型了,完全沒必要拘泥于什么結(jié)構(gòu)
回答3:servlet的指責只有兩個,接收請求與轉(zhuǎn)發(fā)。接收表單數(shù)據(jù),并封裝成相應對象,然后傳給service
回答4:首先你要了解幾點,框架也是在Servlet的基礎(chǔ)上封裝之后變得更加容易使用而已。你的思路是對的,但是我建議你直接看看Servlet的API你就馬上明了。大概跟你說下思路吧。Servlet啟動之后,tomcat幫你負責監(jiān)聽http請求和轉(zhuǎn)發(fā)給你的應用。每次來了一個新的請求,你所寫的Servlet中的service方法都會被調(diào)用,然后根據(jù)請求的內(nèi)容,分別調(diào)用doGet,doPost等方法,所以你只要繼承Servlet之后,覆蓋這幾個方法的實現(xiàn)。至于底下的分層。跟Servlet是沒有關(guān)系的。你要理解,你分層的目的是降低耦合性。如果需要幫助,歡迎私信我。最近正在模仿tomcat做一個web服務(wù)器,所以對這一塊相對有點了解。
相關(guān)文章:
1. Span標簽2. css - 求推薦適用于vue2的框架 像bootstrap這種類型的3. docker-machine添加一個已有的docker主機問題4. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?5. 關(guān)docker hub上有些鏡像的tag被標記““This image has vulnerabilities””6. SessionNotFoundException:會話ID為null。調(diào)用quit()后使用WebDriver嗎?(硒)7. java - Collections類里的swap函數(shù),源碼為什么要新定義一個final的List型變量l指向傳入的list?8. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。9. redis啟動有問題?10. css - 關(guān)于div自適應問題,大家看圖吧,說不清
