freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

工業(yè)制造企業(yè)合同管理系統(tǒng)(編輯修改稿)

2025-06-19 18:22 本頁面
 

【文章內(nèi)容簡介】 Struts 使用 Model 2 架構(gòu),它 的ActionServlet 控制導(dǎo)航流,其他Struts 類,比如Action, 用來訪問業(yè)務(wù)邏輯類。當(dāng) ActionServlet 從容器接收到一個(gè)請求,它使用URI (或者路徑“path”) 來決定那個(gè)Action 將用來處理請求。一個(gè) Action可以校驗(yàn)輸入,并且訪問業(yè)務(wù)層以從數(shù)據(jù)庫或其他數(shù)據(jù)服務(wù)中檢索信息。為校驗(yàn)輸入或者使用輸入來更新數(shù)據(jù)庫, Action 需要知道什么指被提交上來。并不是強(qiáng)制每個(gè)Action 從請求中抓取這些值,而是由 ActionServlet 將輸入綁定JavaBean中。輸入 bean是Struts ActionForm c類的子類。ActionServlet 通過查找請求的路徑可以決定使用哪個(gè)ActionForm,Action 也是通過同樣的方法選取的。ActionForm 。每個(gè)都必須以HTTP 響應(yīng)進(jìn)行應(yīng)答。 通常, StrutsAction 并不自行加工響應(yīng)信息,而是將請求轉(zhuǎn)發(fā)到其他資源,比如JS頁面。Struts 提供一個(gè)ActionForward 類,用來將一個(gè)頁面的路徑存儲(chǔ)為邏輯名稱。當(dāng)完成業(yè)務(wù)邏輯后,Action 選擇并向Servlet返回一個(gè)ActionForward。Servlet 然后使用存儲(chǔ)在ActionForward 對象中的路徑來調(diào)用頁面完成響應(yīng)。Struts 將這些細(xì)節(jié)都綁定在一個(gè)ActionMapping 對象中。每個(gè)ActionMapping 相對于一個(gè)特定的路徑。當(dāng)某個(gè)路徑被請求時(shí),Servlet 就查詢ActionMapping 對象。ActionMapping對象告訴servlet,哪個(gè)Actions, ActionForms, 和 ActionForwards 將被使用。所有這些細(xì)節(jié),關(guān)于Action, ActionForm, ActionForward, ActionMapping,以及其他一些東西, 文件中定義。 ActionServlet 在啟動(dòng)時(shí)讀取這個(gè)配置文件,并創(chuàng)建一個(gè)配置對象數(shù)據(jù)庫。在運(yùn)行時(shí),Struts 應(yīng)用根據(jù)文件創(chuàng)建的配置對象,而不是文件本身。 基于struts的web應(yīng)用的開發(fā)步驟1,對應(yīng)用環(huán)境進(jìn)行配置2,創(chuàng)建web應(yīng)用的結(jié)構(gòu),需要將struts應(yīng)用的jar文件進(jìn)行部署。3,在web服務(wù)器部署struts4,配置Actoin5,寫自定義Action,實(shí)體,以及業(yè)務(wù)類寫一個(gè)基于Struts的web應(yīng)用1,創(chuàng)建一個(gè)符合標(biāo)準(zhǔn)的web應(yīng)用的結(jié)構(gòu),也就是一個(gè)有WEBINF文件夾的應(yīng)用文件夾,在應(yīng)用中需要使用到Struts的一些jar文件,要放到WEBINF的lib文件夾下,這些jar文件都在struts的zip文件中的/、。2,并指明Struts的配置文件的所在位置WEBINF下, 。部署應(yīng)用看struts是否發(fā)布成功。servlet servletnameaction/servletname servletclass/servletclass initparam paramnameconfig/paramname paramvalue/WEBINF//paramvalue /initparam/servletservletmapping servletnameaction/servletname urlpattern*.do/urlpattern/servletmapping3,寫jsp頁面和業(yè)務(wù),實(shí)體,和自定義控制器類Action,自定義Action是要繼承于Action類ActionForm是可以自動(dòng)將表單中的數(shù)據(jù)封裝成對象,當(dāng)然,一個(gè)自定義ActionForm也是要遵守Struts規(guī)范的,也就是要繼承于ActionForm。ServletController(ActionServlet和自定義的Action),通過客戶端form的action來查找調(diào)用相應(yīng)的action,自定義action中的mapping對應(yīng)的是配置文件中的forward標(biāo)簽,通過forward的path屬性來跳轉(zhuǎn)到相應(yīng)的路徑。Struts預(yù)定義的Action類注意:在使用繼承Struts預(yù)定義的Action類,一定不要覆蓋execute方法,否則會(huì)導(dǎo)致無法調(diào)用自定義Action相應(yīng)方法。DispatchAction類()DispatchAction類是Action類的子類,他提供了有實(shí)現(xiàn)的execute方法。我們寫的自定義Action類,可以繼承DispatchAction類,但不要覆蓋execute方法,可以在自定義類中寫反回值和參數(shù)表都與execute方法相同的方法,來判斷調(diào)哪一個(gè)方法,實(shí)際上DispatchAction類就是通過反射機(jī)制,通過form中參數(shù)調(diào)用了自定義Action中的方法,當(dāng)然這些方法的定義要符合規(guī)范,使用繼承DispatchAction類的自定義的Action類,也就會(huì)共享同一的Action路徑。注意:使用繼承DispatchAction類的自定義的Action,只會(huì)匹配一個(gè)action路徑,只能共享一個(gè)ActionForm,如果加上校驗(yàn),會(huì)產(chǎn)生form表單的參數(shù)不一致的情況,會(huì)導(dǎo)致校驗(yàn)無法通過。MappingDispatchAction類()MappingDispatchAction類是DispatchAction的子類,他和DispatchAction不同點(diǎn)就是可以去匹配多個(gè)action路徑,這樣也就是結(jié)決了共用ActoinForm的校驗(yàn)問題了,多個(gè)Action的路徑使用同一的自定義Action類,這樣就不用共享同一個(gè)ActionForm,也就不會(huì)有校驗(yàn)問題了。在JSP頁面中也不用在使用隱藏域傳遞參數(shù)。LookupDispatchAction()LookupDispatchAction類也是DispatchAction類的子類,他所實(shí)現(xiàn)的功能是解決一個(gè)表單多種提交問題的,他是通過使用資源文件,用submit按鈕的value來作為資源文件中的key所對應(yīng)的值,通過這個(gè)值來找到對用的key,在使用這個(gè)key來獲得指定Map中所對應(yīng)的值,這個(gè)值就是要調(diào)用的方法名。submit的valueMap中key對相應(yīng)的值action注意:在繼承LookupDispatchAction時(shí),要覆蓋getKeyMethodMap()方法,并定義Map,向Map中放入指定的鍵值對。自定義的Action類的一些規(guī)則1,盡量不要在Action類中使用(靜態(tài))成員變量,如果使用要加上同步。2,盡量使各模塊間的耦合性降低,最大限度的針對接口編程。3,可以將共代碼方在覆蓋父類的方法中,(xxx)來調(diào)用父類的方法,使用父類的實(shí)現(xiàn),并加上了自定義的功能。 Struts的Token(令牌)機(jī)制Struts使用Token機(jī)制,來防止惡意的破壞和重復(fù)提交問題,也就是點(diǎn)擊后退后在再提交,這是Struts無法發(fā)現(xiàn)的,在form中生成一個(gè)token碼,在session中也報(bào)村有一個(gè)同樣的token碼,當(dāng)表單提交后,判斷兩個(gè)token碼向等后,就會(huì)改變session中的這個(gè)token碼,當(dāng)然在用回退后,form的token碼是不會(huì)變的,在提交,還會(huì)判斷兩個(gè)token碼是否相等,如果不等就會(huì)拋出異常,證明這是過時(shí)的垃圾數(shù)據(jù)。void saveToken(HttpServletRequest request)方法用于將在客戶端生成的token碼,保存在session中。void resetToken(HttpServletRequest request)方法用于重置token碼,生成新的token碼。boolean isTokenValid(HttpServletRequest request,boolean reset)判斷token碼是否相等,并且是否重置token碼。reset是設(shè)定是否重置token碼,一般設(shè)為true。Struts的異常處理Struts只處理action的異常,配置struts的異常處理全局的異常處理globalexceptions exception key=error path=xxx/xxx type=/globalexceptionsaction path=xxx/xxx type= .... exception key=xxx path=xxx/xxx type=/action在exception標(biāo)簽中的key,也就是在出現(xiàn)異常時(shí)會(huì)封裝在ActionErrors中,也就是可以在頁面中使用。ActionError(String key, Object value0),可以通過在構(gòu)造ActionError時(shí),指定不同的key值來對異常進(jìn)行分類,并且在html:error標(biāo)簽的自己構(gòu)造ActionErrors并使用下面的方法發(fā)送void saveErrors(HttpServletRequest request,ActionErrors errors)這個(gè)方法用以把封裝了異常的ActionErrors的key存儲(chǔ)到request中。 Hibernate Hibernate數(shù)據(jù)持久化組件對象持久化,把數(shù)據(jù)保存在永久的存儲(chǔ)介質(zhì)中(數(shù)據(jù)庫)OR/M(object relation mapping)對象關(guān)系映射。POJO類,就是標(biāo)準(zhǔn)的Java Bean。Hibernate就是一個(gè)可以自動(dòng)的根據(jù)xml完成對象關(guān)系映射,并持久化到數(shù)據(jù)庫的開源組件。Hibernate的底層也是有JDBC實(shí)現(xiàn)的。hibernate是通過xml文件的配置,對數(shù)據(jù)庫的底層的方言,以及數(shù)據(jù)庫連接所需的信息,以及連接數(shù)據(jù)庫的驅(qū)動(dòng)。一般將映射類的xml文件和實(shí)體類放在一起。,以及引用的其他文件的文件名,和一些其他的攝制。這個(gè)文件一般放在項(xiàng)目的根目錄下。 使用hibernate編程步驟1,配置環(huán)境,加載hibernate的jar文件,以及連接數(shù)據(jù)庫連接使用的jar文件,并配置CLASSPATH環(huán)境變量。2,寫hibernate所需的配置文件, ,3,寫POJO類4,調(diào)用hibernate API。 1)使用Configuration對象的buildSessionFactory()方法創(chuàng)建SessionFactory對象 2)使用SessionFactory對象openSession()方法創(chuàng)建Session對象。 3)使用Session的相應(yīng)方法來操作數(shù)據(jù)庫,將對象信息持久化到數(shù)據(jù)庫。 Hibernate控制的事務(wù)事務(wù)保證原子操作的不可分,也就是操作的同時(shí)成功或同時(shí)失敗。Transaction tran=()。()。()。以上是事務(wù)對象的方法,來實(shí)現(xiàn)對事務(wù)的支持。hibernate的事務(wù)隔離級(jí)別hibernate的事務(wù)隔離級(jí)別和JDBC中大致相同。property name=4/property1,讀未提交的數(shù)據(jù)(Read unmitted isolation)2,讀已提交的數(shù)據(jù)(Read mitted isolation)4,可重復(fù)讀級(jí)別(Repeatable read isolation)8,可串行化級(jí)別(Serializable isolation)hibernate的鎖(悲觀鎖,樂觀鎖)悲觀鎖是由數(shù)據(jù)庫本身所實(shí)現(xiàn)的,會(huì)對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行鎖定,也就是鎖行。,修改鎖,在get()方法中加上這個(gè)設(shè)置作為第三個(gè)參數(shù)。 無鎖機(jī)制 讀取鎖 寫入鎖,不能在程序中直接使用() () ()方法來設(shè)置鎖4 系統(tǒng)設(shè)計(jì) 需求分析根據(jù)實(shí)際合同管理系統(tǒng)的行為規(guī)范,具體功能包括:客戶管理:。有客戶的注冊,修改和刪除功能,以及客戶名,地區(qū)進(jìn)行查詢。合同管理:。有合同的錄入,修改和刪除,另外按時(shí)間,客戶,客戶地區(qū),以及按合同的進(jìn)度進(jìn)行查詢;職工管理:。有職工的添加,修改和刪除功能,另外有查詢所有的職工。功能描述:合同管理客戶管理合同管理職工管理1) 客戶管理a) 客戶基本信息的維護(hù):——客戶信息的錄入——客戶信息修改——客戶信息刪除b) 客戶信息的查詢: ——按地區(qū)查詢——按客戶名稱查詢2) 合同管理a) 合同的基本編輯 ——合同的錄入——合同的修改 b) 合同的維護(hù)——合同錄入后,交付上級(jí)管理人員、部門審核,負(fù)責(zé)人簽名——合同變更,相關(guān)管理人員對合同內(nèi)容進(jìn)行變更,負(fù)責(zé)人簽名——合同執(zhí)行進(jìn)度管理,對合同的執(zhí)行情況進(jìn)行記錄c) 合同統(tǒng)計(jì)查詢管理 ——合同訂單的查詢(按時(shí)間、客戶、客戶地區(qū)查詢) ——按照合同的完成情形查詢(審核,未審核) 3)職工管理 a) 職工基本信息的維護(hù):——職工信息的錄入——職工信息修改——職工信息刪除b) 客戶信息的查詢: 集體職工查詢 角色分析:根據(jù)實(shí)際情況,本系統(tǒng)分為三種角色:客戶,職工,管理員??蛻簦?委托職工或者管理員進(jìn)行合同的辦理;職工: 受客戶委托進(jìn)行合同辦理,合同的管理,錄入,修改,查詢,刪除;管理員: 受客戶委托進(jìn)行合同辦理,合同的管理,錄入,修改,查詢,刪除; 對職工進(jìn)行管理,職工的添加,修改,查詢,刪除。 數(shù)據(jù)庫分析: 根據(jù)功能和角色分析,可以知道實(shí)體類有三個(gè);管理員和職工都為一方,設(shè)計(jì)為一個(gè)類,客戶為一個(gè)類,合同為一個(gè)類,這樣一來的話,在數(shù)據(jù)庫就建成3張表,即:staff,customer,contract staff的屬性信息包括:1):全體職工的用戶名,2):職工的密碼;3):職工的權(quán)限,管理員還是普通職工;
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1