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

正文內(nèi)容

基于javaweb與xml的留言板設(shè)計(jì)word格式(編輯修改稿)

2025-01-09 01:30 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 的整合框架,在 Spring框架下實(shí)現(xiàn)多個(gè)子框架的組合,這些子框架之間彼此可以獨(dú)立,也可以使用其它的框 架方案加以替代, Spring希望提供 onestop shop的框架整合方案 Spring 不會(huì)特別去提出一些子框架來(lái)與現(xiàn)有的 OpenSource 框架競(jìng)爭(zhēng),除非它覺得所提出的框架夠新夠好,例如 Spring 有自己的 MVC 框架方案,因?yàn)樗X得現(xiàn)有的 MVC方案有很多可以改進(jìn)的地方,但它不強(qiáng)迫您使用它提供的方案,您可以選用您所希望的框架來(lái)取代其子框架,例如您仍可以在 Spring 中整合您的 Struts 框架。 Spring的核心概念是 IoC, IoC的抽象概念是「依賴關(guān)系的轉(zhuǎn)移」,像是「高 19 層模塊不應(yīng)該依賴低層模塊,而是模 塊都必須依賴于抽象」是 IoC 的一種表現(xiàn),「實(shí)現(xiàn)必須依賴抽象,而不是抽象依賴實(shí)現(xiàn)」也是 IoC 的一種表現(xiàn),「應(yīng)用程序不應(yīng)依賴于容器,而是容器服務(wù)于應(yīng)用程序」也是 IoC的一種表現(xiàn)。回想一下面向?qū)ο蟮脑O(shè)計(jì)原則: OCP原則和 DIP原則。 Spring 的核心即是個(gè) IoC/DI 的容器,它可以幫程序設(shè)計(jì)人員完成組件(類別們)之間的依賴關(guān)系注入(連結(jié)),使得組件(類別們)之間的依賴達(dá)到最小,進(jìn)而提高組件的重用性, Spring 是個(gè)低侵入性( invasive)的框架, Spring 中的組件并不會(huì)意識(shí)到它正置身于 Spring中,這使 得組件可以輕易的從框架中脫離,而幾乎不用任何的修改,反過來(lái)說,組件也可以簡(jiǎn)單的方式加入至框架中,使得組件甚至框架的整合變得容易。 Spring最為人重視的另一方面是支持 AOP( AspectOriented Programming),然而 AOP 框架只是 Spring支持的一個(gè)子框架,說 Spring框架是 AOP 框架并不是一件適當(dāng)?shù)拿枋?,人們?duì)于新奇的 AOP關(guān)注映射至 Spring上,使得人們對(duì)于Spring的關(guān)注集中在它的 AOP框架上,雖然有所誤解,但也突顯了 Spring的另一個(gè)令人關(guān)注的特色。 在 spring 官網(wǎng) 下載 其中包括了 spring 框架包和其它一些常用 Java 包,其中就包括 dom4j 包的核心 包類 。 (摘自《深入 Java Servlet 網(wǎng)絡(luò)編程》) Web工程的 部署 整個(gè)設(shè)計(jì)的開發(fā)是在 Myeclipse 中,所以將 Tomcat 引入到 Myeclipse 中可以方便的運(yùn)行和關(guān)閉服務(wù)器,減少開發(fā)過程的復(fù)雜性, 下面介紹項(xiàng)目的部署工作 : (1)打開 Myeclipse,進(jìn)入工作界面, 右鍵單擊工作區(qū),選擇 “NewProject” ,如圖 。 20 圖 建立新工程 (2)在彈出界面中選擇 Web Project ,點(diǎn)擊 “Next”,如圖 。 圖 選擇工程類型界面 21 (3)Web工程 命 名為 “MessageBoard”,至此就建立了一個(gè) Web工程,如 圖 所示。 圖 Project 命名界面 (4)解壓縮下載的 ,將 spring所需要的 dist目錄下的 , lib\jakartamons目錄下 ,lib\log4j 目錄下的 和 lib\dom4j 目錄下的 , dom4j 包復(fù)制到 MessageBoard\WebRoot\WEBINF\lib下,至此就導(dǎo)入了設(shè)計(jì)所需的全部 jar 文件。 (5)單擊菜單欄的 “MyEclipse”選擇 “Preferences”, 將 tomcat 引入到MyEclipse 中 ,如圖 。 22 圖 Tomcat 引入界面 (6)右鍵 單擊 MessageBoard,選擇 “MyEclipse”下的 “Add and Remove…” 如圖。 圖 工程加入容器界面 23 (7)選擇 Project為 “MessageBoard”,單擊 “Add”,如圖 。 圖 Project選擇界面 (8)選擇 Server 為 ,單擊 “Finish”, 至此就將工程置入了 Tomcat 容器中 ,如圖 。 圖 Tomcat引入完成界面 24 (9)運(yùn)行 tomcat ,在瀏覽器欄中輸 入 或 出現(xiàn) 圖 ,則所有配置成功 。 圖 工程在瀏覽器的顯示界面 3 留言板原理及 核心 API介紹 系統(tǒng)設(shè)計(jì)的是一 個(gè) Jsp留言板, 用戶需有賬號(hào)在登陸頁(yè)面進(jìn)行登陸, 并將用戶狀態(tài)存放在 session中, session對(duì)象實(shí)現(xiàn)了 HttpSession接口,用于保存每個(gè)用戶的狀態(tài)。 session對(duì)象保存在容器里, sessionId通過 Cookie在服務(wù)器和客戶端之間往返發(fā)送。如果客戶端不支持 Cookie,就自動(dòng)轉(zhuǎn)換為使用 URL重寫。一般情況下,客戶端首次訪問 Web應(yīng)用時(shí),容器為其創(chuàng)建 session對(duì)象, session對(duì)象具有一個(gè)唯一的 ID。在容器對(duì)首次訪問的響應(yīng)中,容器將這個(gè)唯一的 ID通過 Cookie方式發(fā)送到客戶端瀏覽 器。瀏覽器在后續(xù)的每次訪問時(shí)會(huì)把 Cookie發(fā)送到服務(wù)器,容器從 Cookie中獲得 sessionId,根據(jù) sessionId在容器中找到該用戶的 session。因此,一個(gè)用戶的多次 HTTP請(qǐng)求對(duì)應(yīng)的是同一個(gè) session對(duì)象。session的超時(shí):一方面,由于容器要保存和管理 session對(duì)象,這會(huì)占用系統(tǒng)資源;另一方面,為了安全的原因,如果用戶沒有正常退出系統(tǒng),用戶應(yīng)該經(jīng)過一段時(shí)間后能夠自動(dòng)退出系統(tǒng)。因此, session是會(huì)超時(shí)的,當(dāng) session超時(shí)后, session對(duì)象和 session對(duì)象上的屬性就被 容器銷毀了。 登陸后可以在留言板上發(fā)表 和查詢 留言,并提供注冊(cè)功能,系統(tǒng)管理員默認(rèn)為 2個(gè) , zgf和 mxf,容器初始化時(shí)由 spring負(fù)責(zé)依賴注入,管理員 可以發(fā)表,查詢,修改和刪除留言的功能,以便 25 對(duì)留言進(jìn)行管理 ,所有用戶信息和留言信息均存儲(chǔ)到 Xml 文件中 。 核心 API 介紹 系統(tǒng) 后臺(tái)由幾個(gè)主要的 Java類負(fù)責(zé)管理,下面介紹主要的 API: (1) 系統(tǒng)管理員信息的核心 java類,封裝了管理員的 id(唯一標(biāo)示 ), name,password,并提供了各屬性的 getter 和 setter 方法,是一 javabean。 (2) 系統(tǒng)管理員管理 java類,負(fù)責(zé) tomcat服務(wù)器初始化時(shí)將 文件信息讀入,并存放在 adminList中,得到管理員的全部信息。 只要服務(wù)器不關(guān)閉, adminList內(nèi)容就不會(huì)消失,從而減輕了反復(fù)操作 xml 文件對(duì)服務(wù)器造成的負(fù)載。 (3) 用戶信息的核心 java類,封裝了用戶的 id(唯一標(biāo)示 ), name, password,并提供了各屬性的 getter 和 setter 方法 ,是一 javabean。 (4) 對(duì)用戶信息進(jìn)管理的 java類,負(fù)責(zé) tomcat服務(wù)器初始化時(shí)將 文件信息讀入,并存放在 userList中,得到用戶的全部信息。只要服務(wù)器不關(guān)閉, List內(nèi)容就不會(huì)消失,從而減輕了反復(fù)操作 xml 文件對(duì)服務(wù)器造成的負(fù)載。并且封裝了一個(gè) addUser 方法,負(fù)責(zé)將新的用戶信息存入到 userList中,并通過 saveTo方法將 userList寫入到 文件中。 (5) 留言信息的核心 java類,封裝了 uid(用戶信息的唯一標(biāo)示), author, title,content屬性,并提供了各屬性的 getter 和 setter 方法,是一 javabean。 (6) 對(duì)留言信息進(jìn)行管理的核心 java 類,負(fù)責(zé) tomcat 服務(wù)器初始化時(shí)將 文件信息讀入,并存放在 mesList 中,得到留言的全部信息。只要服務(wù)器不關(guān)閉, List內(nèi)容就不會(huì)消失,從而減輕了反復(fù)操作 xml 文件對(duì)服務(wù)器造成的負(fù)載。在 addMessagge 方法,用于將 新留言增加到 mesList 中 ,按照 uid(唯一標(biāo)示)的一個(gè) removeMessage 方法,用于將需要?jiǎng)h除的留言從 mesList中移除,按照 uid(唯一標(biāo)示)的一個(gè) updateMessage 26 方法,取得要更新的留言類,按照 author 的 getMessage 方法,取得根據(jù)作者查詢的全部留言信息,并存放到一個(gè) autList中,每個(gè)方法中都會(huì)通過 saveTo方法將 userList寫入到 。將更新后的留言信息存入到 xml文件中。 4 留言系統(tǒng)分析 IOC技術(shù) 設(shè)計(jì)中用到了 spring 的 ioc 技術(shù),前面導(dǎo)入了 spring 的主要 jar 文件,在WEB_INF下建立 ,這是 spring ioc 的配置文件,是格式良好的 xml 文件,負(fù)責(zé)管理設(shè)計(jì)中要用到的 bean,內(nèi)容如下: ?xml version= encoding=UTF8? !DOCTYPE beans PUBLIC //SPRING/DTD BEAN/EN beans bean id=um class= singleton=true initmethod=init property name=userFile value=C:\Java Application\workspace\MessageBoard\WebRoot\WEBINF\/ /bean bean id=mesManager class= singleton=true initmethod=init property name=mesFile value=C:\Java Application\workspace\MessageBoard\WebRoot\WEBINF\/ /bean bean id=am class= singleton=true initmethod=init property name=adminFile value=C:\Java Application\workspace\MessageBoard\WebRoot\WEBINF\/ /bean /beans 27 文件中每個(gè) bean對(duì)應(yīng)一個(gè)類, class 為要管理的類, id為指向這個(gè)類實(shí)例的一個(gè)引用, 類的實(shí)例由 spring初始化時(shí)自動(dòng)創(chuàng)建, bean的 singletone 屬 性說明此類在整個(gè)服務(wù)器運(yùn)行過程中是否為單一化,若為 true則說明在服務(wù)器整個(gè)運(yùn)行過程中只有一個(gè)類實(shí)例對(duì)象,每次對(duì)它的請(qǐng)求都會(huì)返回同一個(gè)對(duì)象, initmethod指出容器創(chuàng)建對(duì)象時(shí)自動(dòng)加載的初始化方法, property定義了類創(chuàng)建時(shí)對(duì)屬性的設(shè)置值,此 文件負(fù)責(zé)在 spring 容器初始化時(shí)分別創(chuàng)建, ,三個(gè)類的唯一實(shí)例對(duì)象,并調(diào)用各自的初始化方法,將各自的 xml 文件通過 setter 注入方式注入到屬性中,從而將 user,adminstrators, message 的信息存入到 userList, adminList和 mesList集合中。 其中 默認(rèn)兩個(gè)管理員賬號(hào) zgf 和 mxf, 中存在一個(gè) user賬號(hào),用留言的管理和演示。 留言系統(tǒng)運(yùn)行機(jī)制 (1)系統(tǒng)運(yùn)行時(shí),在瀏覽器輸入 這是留言板的登錄界面,在 會(huì)判斷用戶是否已經(jīng)登陸,若沒登陸,會(huì)出現(xiàn)如圖 ,提示用戶登陸。 圖 用戶登陸界面 28 若用戶無(wú)賬號(hào),可單擊 “注冊(cè) ”,鏈接到 頁(yè)面進(jìn)行注冊(cè),如 圖 所示 。 圖 用戶注冊(cè)界面 (2)在 ,首先有一用戶輸入表單,提示用戶輸入注冊(cè)信息, 用戶按下 “提交 ”按鈕后會(huì)首先在客戶端的 JavaScript 腳本中進(jìn)行檢驗(yàn),若有一項(xiàng)出現(xiàn)空項(xiàng)或不符合頁(yè)面中提示的文字信息會(huì)向用戶發(fā)出警報(bào),提示用戶修改,這樣 可以在客戶端檢驗(yàn)輸入格式,減輕了服務(wù)器的負(fù)載和用戶的等待時(shí)間, 圖 為用戶兩個(gè)密碼輸入不一致的結(jié)果。 29 圖 用戶密碼輸入不一致 頁(yè)面中還存在一個(gè)驗(yàn)證碼的輸入,用于防止用戶的胡亂注冊(cè),驗(yàn)證碼生成程序在 ,利用了 java GUI 編程的 awt包 ,在內(nèi)存中隨機(jī)的生成驗(yàn)證碼數(shù)字,并輸出到界面顯示,并 通過 (code, sRand)。將其放入 session中,以便和用戶輸入驗(yàn)證碼進(jìn)行校驗(yàn),若用戶輸入格式正確,則會(huì)把表單內(nèi)容送到服務(wù)器端進(jìn)行處理,若驗(yàn)證碼輸入正確,則首先會(huì)通過ApplicationContext 對(duì)象的 getBean方法 獲得前文中配置的 id=um的 bean對(duì)象,在對(duì) um中的 userList進(jìn)行遍歷,若其中任何 user 對(duì)象均不存在提交的 id,則將提交 id,name,password 新建一個(gè) user 對(duì)象 (new User(id,name,password))并加入userList中, 通過 UserManager 的 saveTo方法 存儲(chǔ)到 中,在客戶端提示用戶注冊(cè)成功,并跳轉(zhuǎn)到登陸界面,如圖 。 注冊(cè)前后 中內(nèi)容如圖 。 30 圖 注冊(cè)成功界面 圖 注冊(cè)之前
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1