国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JBuilder2005 Struts深度體驗之升級

2019-11-17 06:21:27
字體:
來源:轉載
供稿:網友
  用Action控制器替換switch.jsp

  在《JBuilder 2005 Servlet高級開發》中我們介紹了用戶登錄模塊的流程,其中switch.jsp充當一個業務處理和頁面轉發的中心處理器。
由于JSP的設計初衷是實現頁面展現邏輯,而這里我們居然"倒行逆施",將JSP用作業務處理和頁面轉發,顯然是不恰當的。我們原來的switch.jsp身兼數職:接收login.jsp頁面的表單數據,查詢數據庫,轉發頁面,象一個事無巨細,有僭越之嫌的 "管家"總攬了所有的事情,程序沒有分層,邏輯顯得非常不清楚,象個大雜燴。

  其實Servlet本身倒是比較適合開發switch.jsp所完成的功能,但在《JBuilder 2005 Servlet高級開發》專題中,我們并沒有用Servlet斧正之,是因為我們希望在本專題中從更高的角度更完美地替換switch.jsp。

  可以通過Struts框架對switch.jsp功能進行分解,switch.jsp通過<jsp:useBean>獲取登錄頁面表單數據可以通過ActionForm機制實現;switch.jsp查詢T_USER數據表,判定用戶是否是合法用戶可以在Action的execute()中處理;當未通過驗證轉向fail.jsp頁面,假如發生異常轉向error.jsp頁面,當用戶通過驗證后轉向welcome.jsp頁面,可以在Action中通過ActionForward實現多出口切換。

  新增一個圖書治理模塊

  現實的圖書治理模塊,應該包括對圖書進行增、刪、改、查的功能,由于篇幅所限,我們僅提供圖書新增的功能。數據庫中必須提供一張表用于保存圖書的信息,這張表名為T_BOOK,其結構如圖 4所示:

JBuilder2005 Struts深度體驗之升級
圖 4 T_BOOK表結構

  我們完全用Struts框架實現圖書新增的功能,JBuilder 提供了一個優秀的Struts可視化設計工具(Struts Config Editor),其中Action Designer能夠非常形象地描述出一個業務功能操作流程,我們不妨就通過這個可視化設計器預覽圖書新增業務的程序結構,如圖 5所示:

JBuilder2005 Struts深度體驗之升級
圖 5 新增圖書Struts流程

  ·bookAdd.jsp:圖書錄入的界面,在這兒你將學習到Struts標簽和資源文件的知識。

  ·bookActionForm:由BookActionForm類實現,保存bookAdd.jsp表單提交的數據。在這兒,你將學習到如何創建ActionForm,ActionForm如何對數據有效性進行自檢的知識。

  ·/bookInsertAction:由BookInsertAction類實現,即業務控制器,負責將bookActionForm中的新增圖書保存到數據庫T_BOOK表中,并導向到insertSUCcess.htm頁面。

  事前預備

  通過File->New PRoject...創建一個名為bookStore的新工程,并在工程下創建名為webModule的Web模塊,將原《JBuilder 2005 Servlet高級開發》專題的代碼覆蓋該新工程對應的內容。

  用SQL Plus運行下面的SQL語句創建T_BOOK表:

  代碼清單 5 創建T_BOOK表的SQL語句

1. create table T_BOOK (
2. BOOK_ID VARCHAR2(10) not null,
3. ISBN VARCHAR2(20) not null,
4. BOOK_NAME VARCHAR2(50) not null,
5. AUTHOR VARCHAR2(50),
6. CREATE_DATE CHAR(8),
7. constraint PK_T_BOOK primary key (BOOK_ID)
8. );
  從這個SQL中,我們可以看出BOOK_ID是表的主鍵,所以不答應重復,而ISBN和BOOK_NAME兩字段不答應為空。它們決定了在圖書添加時的數據檢驗規則。

  同樣的,我們需要將必要的類添加到這個新工程的類庫中。進入討論組討論。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沾益县| 安丘市| 垣曲县| 子长县| 汕尾市| 郁南县| 阜阳市| 龙山县| 柏乡县| 磐安县| 松桃| 东城区| 平邑县| 罗甸县| 双柏县| 高青县| 平乐县| 梅河口市| 宣汉县| 耒阳市| 濉溪县| 额尔古纳市| 汉源县| 清水县| 临武县| 界首市| 通海县| 平顶山市| 弋阳县| 巫溪县| 台中县| 日土县| 台北市| 苍南县| 卫辉市| 灵武市| 乌拉特前旗| 河北区| 临安市| 沙洋县| 松溪县|