程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 在JSP-Servlet開發中導入事件驅動技術

在JSP-Servlet開發中導入事件驅動技術

編輯:關於JSP

JSP-SERVLET為WEB應用程序開發者提供了一個優秀的平台。但是,現在國內大多數的基於JSP-SERVLET的開發都處在最基礎的狀態,代碼重用率低,開發效率低,無法適應大型、復雜的WEB開發要求。

首先,要實現事件驅動,必須在JSP-SERVLET開發中采用MVC技術。

M=Model(模型)

V=View(視圖)

C=Control(控制)

視圖(V)定義了用戶界面。模型(M)定義了抽象類和邏輯。控制(C)則負責根據視圖發生的事件調用模型的邏輯完成業務處理。

一般

Model(模型)由普通的java類來實現。

View(視圖)由jsp來實現。

Control(控制)由servlet來實現。

視圖和模型是緊密關聯,又相互獨立的。

模型是視圖的抽象,必須包含一定的邏輯來處理視圖所表現的對象的事件。

同時對於相同的邏輯,視圖可以以各種方式表現。

例如,在web開發中,

[1] 對於一個代表“單選”抽象的SingleSelection類,在用戶的浏覽器上可以顯示為Radio button, 也可以是單選下拉框,或者是其他任何的單選性質的控件。

[2] 對於一個代表“提交”抽象的Submition類,在用戶的浏覽器上可以顯示為Submit button, 也可以是超鏈接、圖片,甚至可以是可觸發JavaScript的submit()方法的任何控件。

事件驅動對於MVC技術是極其重要的,主要由Control(控制)來實現。而JSP-SERVLET的實現本身就非常適合於編寫事件驅動的程序。

眾所周知,javax.servlet.http.HttpServlet類每次都調用

doPost(HttpServletRequest req, HttpServletResponse resp)

或者

doGet(HttpServletRequest req, HttpServletResponse resp)

方法來響應客戶端的submit操作。

Servlet響應的事件就是客戶端浏覽器的submit操作。客戶端浏覽器的submit事件觸發Servlet的特定事件處理方法,但是入口只有一個:javax.servlet.http.HttpServlet類的service(HttpServletRequest req, HttpServletResponse resp)方法。(具體到對於客戶端的操作的響應,則可能是doPost(HttpServletRequest req, HttpServletResponse resp)或者是doGet(HttpServletRequest req, HttpServletResponse resp)方法。

所以可以重寫這些方法來控制Servlet對submit事件的響應處理,調用不同的JSP,JAVA BEAN,甚至於EJB。

例:EventDrivenServlet繼承javax.servlet.http.HttpServlet,並且重寫doPost(HttpServletRequest req, HttpServletResponse resp)和doGet(HttpServletRequest req, HttpServletResponse resp)方法,令這2個方法都直接調用同一個方法,我們把這個方法命名為“act”??

void act(HttpServletRequest req, HttpServletResponse resp)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved