日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用JSP構建動態網站 (3)

用JSP構建動態網站 (3)

更新時間:2022-05-01 文章作者:未知 信息來源:網絡 閱讀次數:

六、 JavaBean

  JSP網頁吸引人的地方之一就是能結合JavaBean技術來擴充網頁中程序的功能。

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

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

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



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

  javac helloWorld.java

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

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

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

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

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

  七、 數據庫連接

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

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

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

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

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;
}
}


  用上一節介紹的方法編譯faq.java以后,在\jswdk-1.0.1\webpages\test目錄下創建JSP文件faq.jsp,其內容如下:

<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調用JavaBean,從數據庫中讀出內容并輸出。

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

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

本類教程下載

系統下載排行

主站蜘蛛池模板: 久久草影视 | 成人影视频| 国产视频中文字幕 | 香蕉久久a毛片 | 69爱爱视频 | 三级国产三级在线 | 日本人 视频 - 18jizz | 国产日本三级欧美三级妇三级四 | 国产一区亚洲二区三区毛片 | 99热伊人 | 欧美日韩在观看 | 亚洲欧美校园 | 久久综合草 | 免费黄色欧美 | 天堂久久久久久中文字幕 | 国产麻豆精品在线 | 国产一区二区三区久久精品 | 高清中文字幕视频在线播 | 欧美第一网站 | 日日操日日碰 | 一本久道久久综合狠狠爱 | 国产大片中文字幕在线观看 | 三级国产 | 国产成人啪一区二区 | 要爽死国产一区在线播放 | 青草香蕉精品视频在线观看 | 人人揉人人添人人捏人人看 | 亚洲天堂久久新 | 久久久久国产亚洲日本 | 中文字幕一精品亚洲无线一区 | 2020国产精品| 成人久久网站 | 91正在播放| 成人久久网 | 377日本大胆欧美人术艺术 | 日本免费一二区视频 | 啪啪福利视频 | 超级碰碰碰频视频免费观看 | 国产精品视频免费播放 | 国产爱视频 | 国产视频久久 |