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

正文內(nèi)容

藥品進銷存管理系統(tǒng)—計算機畢業(yè)設計(編輯修改稿)

2025-01-08 17:10 本頁面
 

【文章內(nèi)容簡介】 Java 的程序員也能編寫出功能完善的 JSP 應用。 如今, Java 2 Enterprise Edition(J2EE)平臺已經(jīng)日趨成熟,并得到廣泛應用。在 J2EE 技術(shù)中發(fā)展最迅猛的當屬 Java Server Page(JSP)技術(shù)。幾乎所有的基于 Java 的 Web 應用都使用 JSP。一些免費的、開放源 代碼的 JSP/Servlet 容器,如 Apache 軟件組織的 Tomcat,更進一步推動了 JSP技術(shù)的發(fā)展。本系統(tǒng)的 Web 服務器選用的就是 Apache Tomcat 。 隨著 JSP 技術(shù)的成熟,越來越多的開發(fā)人員開始使用 Web 應用框架??蚣転?Web 應用提供了預備的軟件架構(gòu)和相關(guān)的軟件包,它大大提高了開發(fā) Web 的速度和效率?,F(xiàn)在,當開發(fā)人員開始一個新的項目時,他們首先考慮的問題不是“我們是否需要框架”,而是“我們應該使用什么樣的框架”。 JakartaStruts 是 Apache 軟件組織提供的一項開放源代碼的 項目,它為 Java Web 應用提供了模型 視圖 控制器( ModelViewController, MVC)框架,尤其適用于開發(fā)大型可擴展的 Web 應用。 Struts 這個名字來源于在建筑和舊式飛機中使用的支撐金屬架。 Struts 為 Web 應用提供了一個通用的框架,使得開發(fā)人員可以把精力集中在如何解決實際業(yè)務問題上。此外, Struts 框架提供了許多可供擴展和定制的地方,使得應用程序可以方便的擴展框架,來更好的適應用戶的實際需求。 當然,開發(fā)人員需要花一定的時間來學習和運用該框架。不過,一旦掌握了 Struts,就可 以大大簡化 Web 應用的開發(fā)過程,提高開發(fā)效率,縮短開發(fā)周期。如果想綜合利用 Servlet 和 JSP 的優(yōu)點來建立可擴展的Web 應用, Struts 是不錯的選擇。 Struts 為 Java Web 應用提供了現(xiàn)成的通用的框架。 Struts 可以大大提高 Web 應用的開發(fā)速度。如果沒有 Struts,開發(fā)人員將不得不首先花大量的時間和精力來設計、開發(fā)自己的框架。如果在 Web 應用中恰到好處的使用 Struts,將把從頭設計框架的時間節(jié)省下來,使得開發(fā)人員把精力集中在如何解決實際業(yè)務問題上。 而且 Struts 本身是一群經(jīng)驗豐富的 Web開發(fā)專家的集體智慧結(jié)晶,在全世界范圍內(nèi)得到廣泛應用并等到一致認可。 Struts 框架提供了許多可擴展和定制的地方,使得應用程序可以方便的擴展框架,來更好的適應用戶的實際需求。 Java Web 應用的核心技術(shù)是 Java Server Page 和 Servlet。此外,開發(fā)一個完整的 Java Web 應用還涉及以下概念及技術(shù): ? JavaBean 組件 ? EJB 組件 ? 自定義 JSP 標簽 ? XML ? Web 服務器和應用服務器 圖 11 顯示了 Java Web 應用的結(jié)構(gòu)。 MVC 概述 MVC 是 ModelViewController 的簡稱,即模型 視圖 控制器。 MVC是 Xerox PARC 在 20 世紀 80 年代為編程語言 Smalltalk80 發(fā)明的一種軟件設計模式,至今已被廣泛使用,最近幾年被推薦為 Sun 公司 J2EE 平臺的設計模式,受到越來越多的 Web 開發(fā)者的歡迎。 MVC 是一種設計模式,它強制地把應用程序的輸入、處理和輸出分開。 MVC 把應用程序分成三個核心模塊:模型、視圖和控制器,它們分別擔負不同的任務。 盡管構(gòu)造 MVC 應用程序需要一些額外的工 作,但是它給我們帶來的好處是毋庸質(zhì)疑的。 首先,多個試圖能共享一個模型。在 MVC 設計模式中,模型響應用戶請求并返回響應數(shù)據(jù),視圖負責格式化數(shù)據(jù)并把它們呈現(xiàn)給用戶,業(yè)務邏輯和表示層分離,同一個模型可以被不同的視圖重用,所以大大提高了代碼的可重用性。 JSP 自定義標簽庫 XML 視圖 (View) 控制器 (Controller) XML 配置文件 Servlet 模型 (Model) JavaBean EJB Java實用類 Web 服務器以及應用服務器 圖 11 Java Web 應用的結(jié)構(gòu) 其次,模型是自包含的,與控制器和視圖保持相對獨立,所以可以方便地改變應用程序的數(shù)據(jù)層和業(yè)務規(guī)則。由于 MVC 的三個模塊相對獨立,改變其中一個不會影響其他兩個,所以依據(jù)這種設計思想能構(gòu)造良好的松耦合的構(gòu)件。 此外,控制器提高了應用程序的靈活性和可配置性。給定一些可重用 的模型和視圖,控制器可以根據(jù)用戶的需求選擇適當?shù)哪P瓦M行處理,然后選擇適當?shù)囊晥D將處理結(jié)果顯示給用戶。圖 12 顯示了 MVC 設計模式: Struts 實現(xiàn) MVC的機制 及業(yè)務流程 Struts 實質(zhì)上就是在 JSP Model2 的基礎(chǔ)上實現(xiàn)的一個 MVC 框架。在 Struts 框架中,模型由實現(xiàn)業(yè)務邏輯的 JavaBean 或 EJB 組件構(gòu)成,控制器由 ActionServlet 和 Action 來實現(xiàn),視圖由一組 JSP 文件構(gòu)成。圖 14顯示了 JSP Model2 的 基本結(jié)構(gòu),圖 13 顯示了 Struts 實現(xiàn)的 MVC 框架。 (控制器) 接受用戶請求 調(diào)用模型響應用戶請求 選擇視圖顯示響應結(jié)果 (視圖) 顯示模型狀態(tài) 接受數(shù)據(jù)更新請求 把用戶輸入的數(shù)據(jù)傳 給控制器 (模型) 代表應用程序狀態(tài) 響應狀態(tài)查詢 處理業(yè)務流程 通知視圖業(yè)務狀態(tài)更新 方法調(diào)用 事件 用戶請求 狀態(tài)查詢 通知數(shù)據(jù)更新 業(yè)務處理 選擇視圖 圖 12 MVC 設計模式 對于采用 Struts 框架的 Web 應用,在 Web 應用啟動時就會加載并初始化 ActionSeverlet,Actionlet 從 文件中讀取配置信息,把它們存放到各種配置對象中,例如 Action 的映射信息存放在 ActionMapping 對象中。 當 ActionSeverlet 接收到一個客戶請求時,將執(zhí)行如下 流程。 1) 檢索和用戶請求匹配的 ActionMapping 實例,如果不存在,就返 瀏覽器 (模型) JavaBean EJB Servlet/JSP 容器 (控制器) ActionServlet (視圖) JSP Web 服務器 Action Action Action 圖 13 Struts 實現(xiàn)的 MVC 框架 瀏 覽 器 (控制器) Servlet (視圖 ) JSP (模型) JavaBean 4 3 5 應用服務器和數(shù)據(jù)庫 Web 服務器 圖 14 JSP Model2 回用戶請求路徑無效的信息。 2) 如果 ActionForm實例不存在,就創(chuàng)建一個 ActionForm對象,把客戶提交的表單數(shù)據(jù)保存到 ActionForm對象中。 3) 根據(jù)配置信息決定是否需要表單驗證。如果需要表單驗證。就調(diào)用 ActionForm的 validate()方法。 4) 如果 ActionForm 的 validate()方法返回 null 或返回一個不包含Actionmessage 的 ActionErroe 對象 , 就表示表單驗證成功。 5) ActionServlet 根據(jù) ActionMapping 實例包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個 Action。如果相應的 Action 實例不存在,就先創(chuàng)建這個實例,然后調(diào)用 Action 的 execute()方法。 6) Action 的 execute() 方 法 返 回 一 個 ActionForward 對象,ActionSevelet 再把客戶請求轉(zhuǎn)發(fā)給 ActionForward 對象指向的JSP 組件。 7) ActionForward 對象指向的 JSP 組件生成動態(tài)網(wǎng)頁,返回給客戶。 對于以上流程的流程( 4),如果 ActionForm的 validate()方法 返回一個包含一個或多個 ActionMessage 的 ActionErrors 對象,就表示表單驗證失敗,此時 ActionServlet 將直接把請求轉(zhuǎn)發(fā)給包含用戶提交表單的 JSP組件。在這種情況下,不會再創(chuàng)建 Action 對象并調(diào)用 Action 的 execute()方法。 圖 15 顯示了 Struts 響應用戶請求的工作流程 組件 Servlet 在 Web 應用中擔任重要角色。 Servlet 運行于 Servlet 容器中,可以被 Servlet 容器 動態(tài)加載,來擴展服務器的功能,并提供特定的服務。Servlet 按照請求 /響應的方式工作,在 Struts 框架中,控制器組件就是由Servlet 來構(gòu)成的。 當用戶請求訪問某個 Servlet 時, Servlet 容器將創(chuàng)建一個ServletRequest 對象和 ServletResponse 對象。在 ServletRequest 對象中封裝了用戶請求信息,然后 Servlet 容器把 ServletRequest 對象和ServletResponse 對象傳給用戶所請求的 Servlet。 Servlst 把響應結(jié)果寫到ServletResponse 中,然后由 Servlet 容器把響應結(jié)果傳給用戶。圖 16 顯示了 Servlet 容器響應用戶請求的過程 ActionServlet Request arrives CreateActionForm Return error CreateAction Process ActionForward Return ActionForward Perform required Business logic Execute() Return Response No Yes Yes ActionMapping found Validate no Not found Another Actionmapping 圖 15Struts 響應用戶請求的工作流程 Action Business Logic 在 Java Servlet API 中有以下幾個比較重要的類,他們決定了 Web 應用的請求 /響應方式及各種共享數(shù)據(jù)的存放地點: ? HttpServletRequest : Servlet 容器把 Http 請求請求信息保存在HttpServletRequest 對象中, Servlet 組件從 request 對象讀取用戶的請求數(shù)據(jù)。此外, HttpServletRequest 可也存放 request 范圍內(nèi)的共享數(shù)據(jù)。 ? HttpServletResponse:用于生成 HTTP 響應結(jié)果。 ? HttpSession: Servlet 為每個 HTTP 會話創(chuàng)建一個 HttpSession 實例,HttpSession 可以存放 session 范圍內(nèi)的共享數(shù)據(jù)。 ? ServletContext: Servlet 容器為 Web 應用創(chuàng)建一個 ServletContext 實例,ServletContext 可以存放 Application 范圍內(nèi)的共享數(shù)據(jù)。 JSP 組件 在傳統(tǒng)的 HTML 文件( *.htm,*.html)中加入 Java 程序片段( Scriptlet)和 JSP 標簽,就構(gòu)成了 JSP 網(wǎng)頁。 Java 程序片段可以操縱數(shù)據(jù)庫、重定向網(wǎng)頁以及發(fā)送 Email 等,實現(xiàn)建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給用戶端的僅為輸出結(jié)果。 JSP 技術(shù)大大降低了對用戶瀏覽器的要求,即使用戶瀏覽器端部支持 java,也可以訪問 JSP 網(wǎng)頁。 當 JSP 容器接收到 Web 用戶的一個 JSP 文件請求時,它對 JSP 文件進行語法分析并生成 Java Servlet 源文件,然后對其編譯。一般情況下,Servlet 源 文件的生成和編譯僅在初次調(diào)用 JSP 時發(fā)生。如果原始的 JSP文件被更新, JSP 容器將檢測所做的更新,在執(zhí)行它之前重新生成 Servlet并進行編譯。圖 17 顯示了 JSP 容器初次執(zhí)行 JSP 的過程: Web 用戶 Servlet 容器 Servlet 請求 響應 ServletRequest 對象 ServletResponse 對象 圖 16 Servlet 容器響應用戶請求的過程 盡管 JSP 本質(zhì)上就是 Servlet,但這兩者的創(chuàng)建方式不一樣。 Servlet完全由 Java 程序代碼構(gòu)成,擅長于流程控制和事務處理,而通過 Servlet生成的動態(tài)網(wǎng)頁很不直觀; JSP 由 HTML 代碼和 JSP 標簽組成,可以方便的編寫動態(tài)網(wǎng)頁。因此在實際應用中,采用 Servlet 來控制業(yè)務流程,而采用 JSP 來生成動態(tài)網(wǎng)頁。在 St
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1