當前位置:編程學習大全網 - 源碼下載 - 什麽是jsp設計模式

什麽是jsp設計模式

 壹 介紹 記得初學jsp的時候 總喜歡把他和asp php去比較 也習慣於使用asp的開發模式去寫jsp 後來才發現這真是很傻的做法 其實jsp壹出了來就已經用MVC模式了 下面我就簡要說說jsp設計使用MVC來設計 二 MVC介紹 MVC其實是模 視圖 控制的縮寫 也就是說在使用jsp時 有相應的文件去實現相應的操作 通常jsp只負責view也就是只負責顯示頁面 業務邏輯等 有bean(ejb)去實現 下面討論的是不使用ejb的情況下實現 如果使用ejb ejb負責M C通常會由servlet去實現 或者使用 struts struts的介紹妳可是去去看 以後的文章中我會介紹

 三 設計思路 當妳構建壹個Application時 妳必須考慮界面的問題 而界面修改是非常平常的 如果妳在jsp中實現所有的操作 壹旦修改界面妳麻煩大了 美工 不懂jsp的 妳必須自己去修改無數個文件 頭不要太大 而此時壹般時間都很緊 使用MVC則可以減少妳的壹些麻煩 在設計時候jsp只負責顯示頁面 也就是說jsp調用Bean(Struts servlet)傳過來的數據然後顯示而Bean(Struts servlet)負責收集jsp需要的數據 用ArrayList(Arttibute)傳給jsp 假如需要提交表單 壹般也直接提交給Struts servlet 處理後以後再返回處理信息 而其中相應的業務邏輯由Bean去實現

 四 Bean的設計 在我使用時候Bean通常有三類 分別manager entry database目錄下面 manager下面的bean做商業邏輯 entry下的bean就是封裝數據 其實就是每個數據庫表對應會有壹個bean jsp得到的也全部是類 database下的bean就是操作數據庫 執行如insert update delete load(查詢壹條記錄) batchload(查詢多條記錄) 他們之間的關系是entry負責封裝數據 作為database的調用參數 返回結果 manager調用database處理的結果 manager和jsp通信 jsp得到的結果從manager來 jsp需要做操作調用manager 即使是壹個insert 在database存在這樣的方法但在manager中妳還是需要再封裝壹次 這樣做的目的是使結構盡量簡單 database只負責操作數據庫 manager只做邏輯(取相應的數據)處理相應的邏輯 而entry則只把database取到的數據封裝 或則把頁面得到的參數封裝 做為參數傳給相 應的Bean

 五 設計實例 下面我把留言板作為實例來討論 entry/Guestbook java(留言板對象) database/GuestbookMap java(更新 刪除 修改留言板) manager/GuestbookManager java(處理所有的事務) 數據表結構(postgresql) create sequence seq_guestbook increment ; /**序列號生成器**/ create table guestbook( id int default nextval(’seq_guestbook’) /**主鍵**/ title varchar( ) /**主題**/ body text /**內容**/ sayid int /**發言人**/ toid int /**接受人**/ saytime datetime default now() /**留言時間**/ newflg *** allint default /**是否查看過**/ );

 Guestbook java ======================= import java util *; public class Guestbook(){ private int id; private String title; private body title; private int sayid; private int sayid; private Date saytime; private short newflg;

 public Guestbook(){

 }$False$

 

 

 public int getId(){ return this id; }

 public void setId(int _id){ this id=_id; } …… (全是get/set方法) }

 GuestbookMap java ============================== import Guestbook; public class GuestbookMap(){ public GuestbookMap(){

 }

 public Guestbook load(int id){ //取到壹條guestbook } //sqlstr 查詢條件 //orderstr 排序條件 //rcdbegin 記錄開始 //rcdend 記錄結束 // public ArrayList batchLoad(String sqlstr String orderstr int rcdbegin int rcdend){ //ArrayList 裏面封裝了Guestbook }

 public void insert(Guestbook info){

 }

 public void update(Guestbook info){

 }

 public void delete(int id){ //取到壹條guestbook }

 public int getRcdNums(String sqlstr){ //取記錄條數 } }

 GuestbookManager java 根據需要封裝需要的方法 這部分才是妳要寫的 ============================= 上面的方式entry database的文件可以自動生成 這個工具我已經開發了 如果需要聯系我 妳需要寫的就是GuestbookManager裏 面的方法 妳也許會覺得工作量比妳所有的操作都在jsp中大 但是這樣結構非常清晰 妳還需要的就是寫壹個數據庫連接池 妳所有的數據庫操作都從壹個地方 取 每壹次都去連接數據庫開銷很大的

lishixinzhi/Article/program/Java/JSP/201311/20520

  • 上一篇:自旋鎖是悲觀還是樂觀自旋鎖linux
  • 下一篇:計算機二級C語言機考如何評分?
  • copyright 2024編程學習大全網