MVC模式中Controller控制器為什么是Servlet?
馬克-to-win:動態(tài)網(wǎng)站項目開發(fā)中,當我們jsp表單一提交,應提交給誰呢?上一章,我們在講jsp技術的時候,當時我們曾把jsp提交給另外一個jsp處理。這實際上是一個非常不好的實踐,為什么呢?因為Servlet的優(yōu)勢就是java代碼好維護。換句話說,如果你要維護純java代碼的話,你應寧愿放在Servlet當中,也不愿放在jsp 當中。因為jsp在能運行前,還需轉成一個Servlet。所以當你編寫jsp的時候,在eclipse當中,當你把光標放在一個變量上時,這個變量在文件的其他地方,不會高亮。但當你編寫Servlet時就不是這樣了。馬克-to-win:所以在實踐當中,jsp一般我們提交給一個Servlet。 Servlet負責控制(Controller[C])整個兒jsp(V[V]iew)表單提交后的流程。第一步,從request當中獲取提交上來的數(shù)據(jù)。第二步調用bean (M [M]odel),讓bean去處理這些數(shù)據(jù),并返回結果。通常,復雜的業(yè)務處理過程需要和數(shù)據(jù)庫打交道。第三步,處理返回的數(shù)據(jù),比如放在 Session當中,之后做跳轉。第二步通常非常復雜,代碼量比較大。如果直接放在Servlet當中。Servlet會變得非常臃腫,不利于我們維護代碼。馬克- to-win:馬克 java社區(qū):防盜版實名手機尾號: 73203。
馬克-to-win:小結一下:
1)MVC=Model(M)+View(V)+Controller(C)
2)View=jsp,Model=java bean,Controller=Servlet
3)jsp提交給Servlet,servlet調用Bean,把jsp的數(shù)據(jù)傳進 Bean,根據(jù)bean的返回值,決定跳到那個jsp。