• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    WebSphere快速入門(13)

    發布: 2007-7-01 18:47 | 作者: admin | 來源: | 查看: 14次 | 進入軟件測試論壇討論

    領測軟件測試網 第五章 JSP技術
    5.1 JSP簡介
         JSP(JavaServer Pages)是一種基于Java的腳本技術。在JSP 的眾多優點之中,其中之一是它能將 HTML 編碼從 Web 頁面的業務邏輯中有效地分離出來。用 JSP 訪問可重用的組件,如 Servlet、JavaBean 和基于 Java 的 Web 應用程序。JSP 還支持在 Web 頁面中直接嵌入 Java 代碼?捎脙煞N方法訪問 JSP 文件:瀏覽器發送 JSP 文件請求、發送至 Servlet 的請求。
        1. JSP 文件訪問 Bean 或其它能將生成的動態內容發送到瀏覽器的組件。圖5-1說明了該 JSP 訪問模型。當 Web 服務器接收到一個 JSP 文件請求時,服務器將請求發送至 WebSphere應用服務器。WebSphere應用服務器 對 JSP 文件進行語法分析并生成 Java 源文件(被編譯和執行為 Servlet)。Java 源文件的生成和編譯僅在初次調用 Servlet 時發生,除非已經更新了原始的 JSP 文件。在這種情況下,WebSphere應用服務器 將檢測所做的更新,并在執行它之前重新生成和編譯 Servlet。
    圖5-1:瀏覽器發送 JSP 文件請求
        2. 發送至 Servlet 的請求生成動態內容,并調用 JSP 文件將內容發送到瀏覽器。圖5-2說明了該訪問模型。該訪問模型使得將內容生成從內容顯示中分離出來更為方便。WebSphere應用服務器 支持 HttpServiceRequest 對象和 HttpServiceResponse 對象的一套新方法。這些方法允許調用的 Servlet 將一個對象放入(通常是一個 Bean)請求對象中,并將該請求傳遞到另一個頁面(通常是一個 JSP 文件)以供顯示。調用的頁面從請求對象中檢索 Bean, 并用 JSP 來生成客戶機端的 HTML。

    圖5-2:發送至 Servlet 的請求
    5.2 JSP示例
        瀏覽器通過一個Web 頁面中的HTML表單請求一個servlet(PopulateBeanServlet),該servlet創建一個名為 dataBean 的DataBean 實例,并調用 JSP 文件將內容發送到瀏覽器。Servlet 示例和 JSP 文件示例說明了啟用內容分離的 JSP 訪問模型。
    A.    Servlet 是由下列Web 頁面中的 HTML 表單來調用的。
    <HTML>
    <BODY>
    <H1>運行 PopulateBeanServlet</H1>
    <P>您是否希望運行 PopulateBeanServlet?
    <FORM action="/servlet/PopulateBeanServlet" method="GET">
    <INPUT type="SUBMIT" value="Yes">
    <INPUT type="SUBMIT" value="No">
    </FORM>
    </BODY>
    </HTML>
    B.    被請求的servlet為PopulateBeanServlet, 其源代碼如下:
    /******************************************************************
    *Servlet 示例:PopulateBeanServlet.java
    *這個servlet創建一個名為 dataBean 的DataBean 實例,設置dataBean的若干個屬性,
    *將dataBean放置在當前“請求”對象中,
    *調用 JSP 文件(DisplayData.jsp)來格式化并顯示dataBean的數據
    ********************************************************************/
    import java.io.*;
    import java.beans.Beans;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.ejb.CreateException;

    public class PopulateBeanServlet extends HttpServlet {
       public void Service(HttpServletRequest req, HttpServletResponse res)
           throws ServletException, IOException {
       try {
             dataBean = (DataBean) Beans.instantiate(this.getClass().getClassLoader(), "DataBean");
          }
       catch (Exception ex) {
             throw new ServletException("Can@#t create BEAN of class DataBean: "
                  metaData.setSQL(getSQLString());
       }
       // Set some Bean properties (content generation)
       dataBean.setProp1("Value1");
       dataBean.setProp2("Value2");
       dataBean.setProp3("Value3");
       // To send the Bean to a JSP file for content formatting and display
       // 1) 將dataBean放置在當前“請求”對象中,
       ((com.sun.server.http.HttpServiceRequest) req).setAttribute("dataBean", dataBean);
       // 2) 使用callPage 方法調用JSP文件,文件名為DisplayData.jsp,并把請求對象傳遞給JSP。
       ((com.sun.server.http.HttpServiceResponse) res).callPage("/DisplayData.jsp", req);
    } //end of service mehtod
    } /* end of class PopulateBeanServlet */

    C.    被調用的JSP文件為DisplayData.jsp,其內容如下:
    <!-- 該 JSP 文件獲得在請求對象中傳遞的 dataBean,并顯示該 Bean 的屬性。 -->
    <html>
    <head>
    <title>Bean Data Display</title>
    </head>

    <!-- Get the Bean using the BEAN tag   -->
    <bean name="dataBean" type="DataBean" introspect="no" create="no" scope="request">
    </bean>
    <body>
    <!-- There are three ways to access Bean properties -->
    <!--    Using a JSP scriptlet  -->
    <% out.println("The value of Bean property 1 is " + dataBeans.getProp1());
    %>

    <!-- Using a JSP expression -->
    <p>The value of Bean property 2 is
    <%= dataBean.getProp2()  %> </p>

    <!--Using the INSERT tag   -->
    <p>The value of Bean property 3 is
    <insert bean=dataBean property=prop3 default="No property value" >
    </insert></p>

    </body>
    </html>

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>