国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Struts,MVC 的一種開放源碼實(shí)現(xiàn)

2019-11-17 06:19:06
字體:
供稿:網(wǎng)友

用這種 servlet 和 jsp 框架治理復(fù)雜的大型網(wǎng)站

Malcolm Davis
顧問
2001 年 2 月


本文介紹 Struts,它是使用 servlet 和 javaServer Pages 技術(shù)的一種 Model-View-Controller 實(shí)現(xiàn)。Struts 可幫助您控制 Web 項(xiàng)目中的變化并提高專業(yè)化水平。盡管您可能永遠(yuǎn)不會用 Struts 實(shí)現(xiàn)一個(gè)系統(tǒng),但您可以將其中的一些思想用于您以后的 servlet 和 JSP 網(wǎng)頁的實(shí)現(xiàn)中。

簡介
小學(xué)生也可以在因特網(wǎng)上發(fā)布 Html 網(wǎng)頁。但是,小學(xué)生的網(wǎng)頁和專業(yè)開發(fā)的網(wǎng)站有質(zhì)的區(qū)別。網(wǎng)頁設(shè)計(jì)人員(或者 HTML 開發(fā)人員)必須理解顏色、用戶、生產(chǎn)流程、網(wǎng)頁布局、瀏覽器兼容性、圖像創(chuàng)建和 javascript 等等。設(shè)計(jì)漂亮的網(wǎng)站需要做大量的工作,大多數(shù) Java 開發(fā)人員更注重創(chuàng)建美麗的對象接口,而不是用戶界面。JavaServer Pages (JSP) 技術(shù)為網(wǎng)頁設(shè)計(jì)人員和 Java 開發(fā)人員提供了一種聯(lián)系鈕帶。

假如您開發(fā)過大型 Web 應(yīng)用程序,您就理解變化這個(gè)詞的含義。“模型-視圖-控制器”(MVC) 就是用來幫助您控制變化的一種設(shè)計(jì)模式。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合。Struts 是一種 MVC 實(shí)現(xiàn),它將 Servlet 2.2 和 JSP 1.1 標(biāo)記(屬于 J2EE 規(guī)范)用作實(shí)現(xiàn)的一部分。盡管您可能永遠(yuǎn)不會用 Struts 實(shí)現(xiàn)一個(gè)系統(tǒng),但了解一下 Struts 或許使您能將其中的一些思想用于您以后的 Servlet 的 JSP 實(shí)現(xiàn)中。

在本文中,我將以一個(gè) JSP 文件為起點(diǎn)討論該網(wǎng)頁的優(yōu)缺點(diǎn),該文件中使用的元素可能是您所熟悉的。隨后我將討論 Struts,并說明它是如何控制您的 Web 項(xiàng)目中的變化并提高專業(yè)化水平的。最后,我將重新開發(fā)這個(gè)簡單的 JSP 文件,在開發(fā)過程中我已顧及到網(wǎng)頁設(shè)計(jì)人員和變化。

一個(gè) JSP 文件就是一個(gè) Java servlet
JavaServer Page (JSP) 文件只是審閱 servlet 的另一種方式。JSP 文件的概念使我們能夠?qū)?Java servlet 看作一個(gè) HTML 網(wǎng)頁。JSP 消除了 Java 代碼中經(jīng)常出現(xiàn)的討厭的 PRint() 語句。JSP 文件首先被預(yù)處理為 .java 文件,然后再編譯為 .class 文件。假如您使用的是 Tomcat,則可以在 work 目錄下查看預(yù)處理后的 .java 文件。別的容器可能將 .java.class 文件存儲在其他位置;這個(gè)位置與容器有關(guān)。圖 1 說明了從 JSP 文件到 servlet 的流程。

圖 1. 從 JSP 文件到 servlet 的流程
從 JSP 到 servlet 的流程

(這與 Microsoft 的 Active Server Page (asp) 明顯不同。ASP 被編譯到內(nèi)存中,而不是編譯到一個(gè)單獨(dú)的文件中。)

簡單的獨(dú)立 JSP 文件
在小型 JSP 應(yīng)用程序中,經(jīng)常會看到數(shù)據(jù)、業(yè)務(wù)邏輯和用戶界面被組合在一個(gè)代碼模塊中。此外,應(yīng)用程序通常還包含用來控制應(yīng)用程序流程的邏輯。清單 1 和圖 2 展示了答應(yīng)用戶加入一個(gè)郵件列表的一個(gè)簡單 JSP 文件。

清單 1. join.jsp -- 一個(gè)簡單的請求和響應(yīng) JSP 文件

<%@ page language="java" %><%@ page import="business.util.Validation" %><%@ page import="business.db.MailingList" %><%String error = "";String email = request.getParameter("email");// 是否有電子郵件地址if( email!=null ) {    // 驗(yàn)證輸入...    if( business.util.Validation.isValidEmail(email) ) {        // 存儲輸入...        try {            business.db.MailingList.AddEmail(email);        } catch (Exception e) {            error = "Error adding email address to system.  " + e;        }        if( error.length()==0 ) {%>            // 重定向到歡迎頁...            <jsp:forward page="welcome.html"/><%        }    } else {        // 設(shè)置錯(cuò)誤消息并重新顯示網(wǎng)頁        error = email + " is not a valid email address, please try again.";    }} else {    email = "";}%><html><head><title>Join Mailing List</title></head><body><font color=red><%=error%></font><br><h3>Enter your email to join the group</h3><form action="join.jsp" name="joinForm">    <input name="email" id="email" value=<%=email%>></input>    <input type=submit value="submit"></form></body></html>

圖 2. 在簡單的請求和響應(yīng)中,JSP 文件設(shè)置數(shù)據(jù)、控制到下一個(gè)網(wǎng)頁的流程并創(chuàng)建 HTML


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 湖南省| 玛沁县| 浑源县| 沈阳市| 兴和县| 西藏| 遂溪县| 汶川县| 芜湖县| 赤水市| 盘山县| 甘南县| 越西县| 高雄市| 阿坝县| 白城市| 青海省| 浠水县| 渭南市| 湖北省| 呼伦贝尔市| 田东县| 万载县| 永靖县| 五台县| 垣曲县| 永春县| 蕲春县| 合肥市| 长岭县| 长春市| 方正县| 交城县| 体育| 陇川县| 利津县| 玛多县| 安岳县| 盐源县| 浠水县| 溧水县|