國立政治大學(xué)電子計算機中心_第1頁
國立政治大學(xué)電子計算機中心_第2頁
國立政治大學(xué)電子計算機中心_第3頁
國立政治大學(xué)電子計算機中心_第4頁
國立政治大學(xué)電子計算機中心_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

DevelopingwithNCCU

WebApplicationFramework

-AdministrativeAffairsManagementSystem,NCCU,TaiwanChun-FengLiaoApr15,2003NCCUComputerCenter政大校務(wù)行政系統(tǒng)的新面貌使用最新的J2EE前端技術(shù)(JSP1.2/Servlet2.3)。使用BEAWeblogic7.0做為應(yīng)用程式伺服器。使用Informix做為後端資料庫。校務(wù)行政系統(tǒng)入口可以用學(xué)生、職員或老師身份登入,系統(tǒng)會自行判斷,再自動導(dǎo)依各種身份的登入程序加以處理。單一登入與系統(tǒng)選單開發(fā)人員不用需要煩惱代理人功能,這一塊完全由Framework處理。ApplicationBridgeApplicationBridge就是SSO系統(tǒng)和你新開發(fā)的WebAp之間的橋樑,不需任何程式碼。而且對於舊的WebAp也不需任何更動。ServerControls使用ServerControls配合JSTL和MVCHelper,你可以輕鬆達成畫面上沒有Java程式碼的目標(biāo),而且用更直覺的方式控制畫面的顯示。ErrorHandling只要先寫好error.xml設(shè)定錯誤的標(biāo)題、說明及處理方式,F(xiàn)ramework的元件會自動幫你產(chǎn)生錯誤網(wǎng)頁,完全不需寫任何程式或JSP。Agenda簡介利用ServerControls開發(fā)外觀一致的WebAp快速開發(fā)MVC網(wǎng)頁存取控制登入處理錯誤處理SingleSign-on.資料處理FrameworkOverviewUserInterface–產(chǎn)生一致的網(wǎng)頁風(fēng)格。MVCHelper–讓開發(fā)人員很容易就能利用MVC模式來寫web應(yīng)用程式。Security–登入及防止user直接存取。ErrorHandling–產(chǎn)生一致的錯誤網(wǎng)頁。DataAccess–IfxDB、DbName的註冊及取得機制。Singlesign-on–定義SSO機制以及如何和其它的應(yīng)用程式接軌。ClassLibrary–其它公用程式。Lab0環(huán)境設(shè)定如何提供一致的畫面希望整個校務(wù)系統(tǒng)能有一致的風(fēng)格。為了避免畫面錯亂,不用Frame處理。如果Layout要更換,不希望動到所有的程式。解決方法:ServerControl模仿ASP.NET的做法,將我們需要的功能包成ServerControls。完全相容於JSTL1.0的ExpressionLanguage。i.e可以在我們的tag中執(zhí)行EL。ServerControl範(fàn)例<nccu:html><nccu:headerpageTitle=“網(wǎng)頁標(biāo)題”contentType="text/html"encoding="big5"><%--html標(biāo)頭區(qū),有其它標(biāo)頭設(shè)定或javascript可放在這--%>

</nccu:header><nccu:bodyapname=“行政系統(tǒng)”userName=“${sessionScope.chname}“message=“${sessionScope.apname}”><%--在這裏開始寫JSP--%>

</nccu:body></nccu:html>ServerControlLab1UIDemoMVCHelper:協(xié)助開發(fā)者快速開發(fā)MVCWeb應(yīng)用程式Struts很難學(xué),而且在JavaServerFaces出來後可能會被取代。不要讓開發(fā)人員為了寫MVC反而無法專注於寫真正要處理的邏輯MVCHelper:幫開發(fā)者處理細(xì)節(jié)改良自O(shè)reillyJavaServerPages建議之MVC實作方式。使用者寫作Action物件時只要繼承AbstractAction類別,並實作perform()方法,寫法都和servelt一模一樣。使用者寫作Controller物件,只要繼承ControllerServlet類別,實作doRegister()方法來註冊寫好的Action物件即可。如何快速切換資料庫而不用改source?"direct.testdb",連接至測試資料庫,直接連接。"direct.dbs",連接至正式資料庫,直接連接。"direct.db4",連接至四號資料庫,直接連接。"wl5.pool.dbs",連接至正式資料庫,使用weblogic5pool連接。"wl5.pool.db4",連接至四號資料庫,使用weblogic5pool連接。"wl5.pool.v880",連接至v880資料庫,使用weblogic5pool連接。"wl7.jndi.dbs",連接至正式資料庫,使用weblogic7t3連接。"wl7.jndi.v880",連接至v880資料庫,使用weblogic7t3連接。將資料庫連接字串放到web.xmlController啟動時,會自動讀取並將參數(shù)傳給Action類別,以供使用。<web-app><context-param><param-name>DB_NAME</param-name><param-value>direct.dbs</param-value></context-param>…………(其它設(shè)定)……………….MVCHelper你要寫的部份ex:ConcreteController

ConcreteAction統(tǒng)一處理登入機制每一支Web應(yīng)用程式都有自己的登入處理程式(passChk.jsp),很難維護。必須能和SingleSign-on的ApplicationBridge整合。必須考慮代理人的機制。不用寫passChk.jsp了我們將所有web應(yīng)用程式共同的登入邏輯抽出來,發(fā)展一個web上處理登入需求的抽象類別。將會變動的問題的地方留給開發(fā)人員處理,其它在抽象類別就幫你做掉了。你要處理的問題:「登入成功了要做什麼?」(設(shè)資料到session、進到主目錄)?!复頇?quán)限不符怎麼辦?」「登入失敗了要做什麼?」的處理(例如可能是轉(zhuǎn)到登入失敗的頁面)。LoginHandler你要寫的部份ex:ConcreteTeaLoginActionDEMOSimpleMVCindex.jsp:讓使用者輸入帳號、密碼,然後貼到LoginHandler這個servlet。若成功,就秀出成功畫面,反之秀失敗畫面。問題:如何防止使用者直接下Get傳統(tǒng)防止使用者跳過認(rèn)証頁直接指到某頁的方法都是在JSP最前面檢查session中是否有認(rèn)証資料。每一頁都要加,代表規(guī)則一改,每一頁都要改。開發(fā)時先不要加,比較容易debug。使用Filter使用Filter來做AccessControl十分方便,因為我們可以藉由改變web.xml的設(shè)定,隨時將filter裝上或卸下。可以告訴container,那些要求會被FilterServlet攔截。攔截後加以驗証,如果不合法,就導(dǎo)到登入頁要求登入。告訴應(yīng)用程式管制所有.sso及.jsp<filter><filter-name>ssofilter</filter-name><filter-class>.nccu.sso.SSOFilter</filter-class></filter><filter-mapping><filter-name>ssofilter</filter-name><url-pattern>*.sso</url-pattern></filter-mapping><filter-mapping><filter-name>ssofilter</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping>AccessControlFilter你要寫的部份ex:AccessFilterLab2AccessFilter錯誤處理使用者看得懂嗎?如何提供一致且有意義的

錯誤處理畫面錯誤畫面要一致。程式發(fā)生錯誤時,要能給使用者有意義的訊息。提供適當(dāng)?shù)闹甘?,幫助使用者排除或?qū)で笾гW尦淌介_發(fā)者寫作error.xml來定義錯誤,彈性地設(shè)定錯誤處理機制。定義錯誤畫面結(jié)構(gòu)主題說明(詳細(xì)說明目前錯誤的可能原因)解決方法以超連結(jié)方式,提供使用者彈性的方法解決目前的問題錯誤處理畫面程式開發(fā)人員以xml定義錯誤畫面<ErrorItem><id>404</id><title>找不到您要的檔案</title><detail>……………</detail><recipes><recipeItem><solution>回前一頁</solution><url>javascript:history.back()</url><recipeItem><recipeItem><solution>登出</solution><url>.tw/SSO/doLogout</url><recipeItem></recipes></ErrorItem>ErrorPageGenerator你要寫的部份Lab3ErrorHandling如提供彈性的單一登入機制必須要能跨WebApplication及不同的實體Server。(session無法跨webap)要能夠和即有的WebApplication相容。也不能影響到現(xiàn)存的WebApplication。兼顧代理人的功能。Transparenttodevelopers.SSO解決方案利用ApplicationBridge和LoginHandler配可,可以相容於之前的webapplication。(原來的程式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論