• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

        用JSP構(gòu)建動態(tài)網(wǎng)站 (3)

        用JSP構(gòu)建動態(tài)網(wǎng)站 (3)

        更新時間:2022-05-01 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        六、 JavaBean

          JSP網(wǎng)頁吸引人的地方之一就是能結(jié)合JavaBean技術(shù)來擴充網(wǎng)頁中程序的功能。

          JavaBean是一種Java類 (class),通過封裝屬性和方法成為具有某種功能或者處理某個業(yè)務(wù)的對象。JavaBean被組織成為package(數(shù)據(jù)包)以便進行管理,實際上就是把一組JavaBean一起放在某某目錄中,每個類的定義前加上package某某,本例中為test。目錄test必須放在系統(tǒng)環(huán)境CLASSPATH包含的目錄下,系統(tǒng)才能找到其中的JavaBean。JSWDK在缺省狀態(tài)下將\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\ 加入CLASSPATH。建立自己的JavaBean和package時,就放在這個目錄中也不失為一種簡易的方法。

          下面介紹一個簡單的JavaBean框架。用文本編輯器創(chuàng)建一個文本文件helloWorld.java,并保存在\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test目錄下,其內(nèi)容如下:

        package test;
        public class helloWorld {
        public String name = "My first bean";
        public String getHi()
        {
        return "Hello from " + name;
        }
        }



          helloWorld.java編輯好后,在DOS狀態(tài)下,進入目錄\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\,用JDK的javac命令編譯helloWorld.java如下:

          javac helloWorld.java

          注意,Java是區(qū)分大小寫的,在程序中,編譯命令行中字母的大小寫都不能寫錯。

          編譯成功就表示建立了一個JavaBean。下面看如何在JSP中使用這個JavaBean。用文本編輯器創(chuàng)建一個文本文件hi-bean.jsp,并保存在\jswdk-1.0.1\webpages\test目錄下,其內(nèi)容如下:

        <html>
        <head>
        <title>JavaBean 試驗</title>
        </head>
        <body>
        <jsp:useBean id="helloBean" scope="session" class="test.helloWorld" />
        <%= helloBean.getHi() %>
        <hr>
        <%
        helloBean.name = "JSP";
        out.print(helloBean.getHi());
        %>
        </body>
        </html>


          在JSP網(wǎng)頁中,使用 <jsp:useBean ... />語法來創(chuàng)建JavaBean對象,并命名為helloBean。讀者可從這個簡單的例子中看出設(shè)置、獲取JavaBean屬性,以及調(diào)用JavaBean方法的做法。在瀏覽器的地址欄中鍵入http://localhost:8080/test/hi-bean.jsp,得到結(jié)果如圖3所示。

          注意,如果修改和重新編譯了JavaBean程序,則需要關(guān)閉和重新啟動JSWDK的Web服務(wù)器以后修改的結(jié)果才會有效。如果僅僅修改JSP文件,則不用重新啟動JSWDK的Web服務(wù)器.

          雖然,這僅僅完成了一個非常簡單的JavaBean框架,但是遵循這個框架可以設(shè)計出多種多樣的JavaBean。例如,從JSP中訪問數(shù)據(jù)通常就是通過JavaBean來實現(xiàn)的。

          七、 數(shù)據(jù)庫連接

          數(shù)據(jù)庫連接對動態(tài)網(wǎng)站來說是最為重要的部分,Java中連接數(shù)據(jù)庫的技術(shù)是JDBC(Java Database Connectivity)。很多數(shù)據(jù)庫系統(tǒng)帶有JDBC驅(qū)動程序,Java程序就通過JDBC驅(qū)動程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等等操作。Sun公司還開發(fā)了JDBC-ODBC bridge,用此技術(shù)Java程序就可以訪問帶有ODBC驅(qū)動程序的數(shù)據(jù)庫,目前大多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有ODBC驅(qū)動程序,所以Java程序能訪問諸如Oracle、Sybase、MS SQL Server和MS Access等數(shù)據(jù)庫。下面介紹如何用Access實現(xiàn)一個動態(tài)FAQ(常見問題及答案)網(wǎng)站。

          首先建立一個Access數(shù)據(jù)庫faq.mdb,其中的表faqs有字段id(自動增量型,并設(shè)為主關(guān)鍵字)、subject(文字型,長度200)、answers(備注型)。這個表中可以存放一些編程知識的常見問題及答案。

          然后,在Control Panel(控制面板)的ODBC Datasource模塊中加入System DSN,取名faq,并指向faq.mdb。

          創(chuàng)建一個JavaBean,名為faq.java,并保存在\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test目錄下。faq.java 的內(nèi)容如下:

        package test;
        import java.sql.*;

        public class faq {
        String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
        String sConnStr = "jdbc:odbc:faq";
        Connection conn = null;
        ResultSet rs = null;

        public faq() {
        try {
        Class.forName(sDBDriver);
        }
        catch(java.lang.ClassNotFoundException e) {
        System.err.println("faq(): " + e.getMessage());
        }
        }

        public ResultSet executeQuery(String sql) {
        rs = null;
        try {
        conn = DriverManager.getConnection(sConnStr);
        Statement stmt = conn.createStatement();
        rs = stmt.executeQuery(sql);
        }
        catch(SQLException ex) {
        System.err.println("aq.executeQuery: " + ex.getMessage());
        }
        return rs;
        }
        }


          用上一節(jié)介紹的方法編譯faq.java以后,在\jswdk-1.0.1\webpages\test目錄下創(chuàng)建JSP文件faq.jsp,其內(nèi)容如下:

        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>我的FAQ !</title>
        </head>
        <body>
        <p><b>這是我的FAQ!</b></p>
        <%@ page language="java" import="java.sql.*" %>
        <jsp:useBean id="workM" scope="page" class="test.faq" />
        <%
        ResultSet RS = workM.executeQuery("SELECT * FROM faqs");
        String tt;
        while (RS.next()) {
        tt = RS.getString("Answer");
        out.print("<LI>" + RS.getString("Subject") + "</LI>");
        out.print("<pre>" + tt + "</pre>");
        }
        RS.close();
        %>


          在瀏覽器的地址欄中鍵入http://localhost:8080/test/faq.jsp,faq.jsp調(diào)用JavaBean,從數(shù)據(jù)庫中讀出內(nèi)容并輸出。

          限于篇幅,本文不能列舉JSP-JavaBean-JDBC/ODBC-數(shù)據(jù)庫的復雜例子,讀者可以從本文最后所推薦的網(wǎng)址中找到并下載到數(shù)據(jù)庫連接范例。 

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 成人影片一区免费观看| 国产精品亚洲专区无码牛牛| 成人免费无码H在线观看不卡| 亚洲丰满熟女一区二区v| 久久这里只有精品国产免费10| 人妻仑刮八A级毛片免费看| 国产精品区免费视频| 亚洲产国偷V产偷V自拍色戒| 中文字幕无码一区二区免费| 亚洲精品国产精品乱码在线观看 | 日韩一级片免费观看| 一本久久综合亚洲鲁鲁五月天 | 亚洲成aⅴ人在线观看| 中文字幕免费在线| 亚洲图片中文字幕| 成人免费午夜视频| 男女男精品网站免费观看| 国产AV无码专区亚洲AV手机麻豆| 免费无码av片在线观看| 亚洲国产成人精品无码一区二区 | 伊人免费在线观看| 亚洲A∨无码一区二区三区| 久久久久高潮毛片免费全部播放 | 无码少妇精品一区二区免费动态| 亚洲美女自拍视频| 免费看的黄色大片| 好湿好大好紧好爽免费视频| 亚洲高清在线观看| 免费A级毛片无码免费视| 黄色一级免费网站| 亚洲激情中文字幕| 免费无码成人AV片在线在线播放 | h在线观看视频免费网站| 亚洲精品无码不卡在线播放| 久久久久一级精品亚洲国产成人综合AV区| 在线看片免费人成视频福利| 国产精品亚洲综合久久| 在线亚洲97se亚洲综合在线 | 亚洲免费观看在线视频| 日韩亚洲人成网站| 亚洲高清免费在线观看|