略論基於JAVA/JSP的網上書店系統

 

【摘要

JAVA語言是目前Internet上大型的WEB應用程序開發時使用得最熱門的編程語言,本文描述了JAVA和JSP技術的特徵以及在互聯網上的使用情況,介紹這兩種技術的重要編程方法和兩者之關的聯繫,並完成一個基於這種技術的網上書店系統。

【關鍵字JAVA, JavaBeans, Servlet, JSP, 網絡編程, 電子商務, 網上書店

Abstract

At present JAVA is the hottest programming language for WEB development, This text described the characteristics of JAVA and JSP technology and the state of operating on Internet, It introduced the relationship between them and the important programming method of the double technology, And work out an online bookstore system base on this kind of technology.

Keywords摘要: JAVA, JavaBeans, Servlet, JSP, web program, internet, bookshop



目 錄

1、JAVA的網絡功能和編程

1-1 JAVA語言簡介

1-2 JAVA語言在網絡上的應用

1-3 JSP的基礎——Servlet 技術

1-4 JavaBeans技術

2、JSP技術簡介

2-1在Windows平臺下配置JSP運行環境

2-2 JSP、ASP和PHP技術之比較

2-3 JSP語法基礎

2-3-1嵌入了JAVA語言的HTML文件

2-3-2 request、out %26amp; response——和訪問者的交互

2-3-3 session——保持訪問者的會話狀態

2-3-4 JSP其它基本內置對象

2-4 用JSP開發Web應用的幾種主要方式

2-4-1 直接使用JSP

2-4-2 JSP + JavaBeans

2-4-3 JSP + JavaBeans + Servlet

2-5 JSP + JavaBeans實現的高級功能

2-5-1 用JSP訪問數據庫

2-5-2 用JSP + JavaBeans 實現文件上傳

2-6 JSP的MVC開發模型

3、網上書店系統設計項目需求分析

3-1 網上書店系統的模型

3-2 網上書店系統數據庫的建立

4、網上書店系統的開發

4-1 後臺管理

4-1-1 管理員登錄

4-1-2 圖書類別管理

4-1-3 圖書產品管理

4-1-4 註冊會員管理

4-1-5 圖書訂購管理

4-2 網上書店界面

4-2-1 圖書搜索

4-2-2 查看圖書具體

4-3 網上購物程序

4-3-1 用戶註冊

4-3-2 購物籃的實現

5、總結



第一章 JAVA的網絡功能和編程

1-1 JAVA語言簡介



Java是一種簡單易用、完全面向對象、具有平臺無關性且平安可靠的主要面向Internet的開發工具。自從1995年正式問世以來,Java的快速發展已經讓整個Web世界發生了翻天覆地的變化。在早期,Java比較多的用在瀏覽器上,插入到網頁中(即是Java Applet程序),成爲最靈活、最強大的網頁多媒體的載體,但由於Java虛擬機相對於個人電腦而言,有佔用資源大,平安性相對較差等缺點,Applet逐漸的被後起之秀Flash所替代,但隨着Java Servlet的推出,Java在電子商務方面開始嶄露頭角,最新的JSP(Java Server Page)技術的推出,更是讓Java成爲基於Web的應用程序的首選開發工具,目前的Java技術已成爲所有大型電子商務項目的必然選擇。



1-2 JAVA語言在網絡上的應用



Java程序可以獲取網絡上結點的圖象、聲音、HTML文檔及文本等資源,並可以對獲得的資源進行處理。例如Java程序可以每隔一定時間讀取某結點提供的最新數據,並以圖表的形式顯示出來。在編程處理上,一般先生成一個URL類型的對象,然後用 Java中相應的方法(method)獲取該對象所代表的資源。下面列舉一個Java從網絡上獲取圖象的的方法以說明。

Java Applet可以直接從網絡上結點獲取圖象並顯示出來,Java提供瞭如下方法可以創建對應於其他結點的圖象摘要:

getImage(new URL(字符串))

其使用格式可有兩種摘要:

String url = “結點URL”;

Image image;

try {

       image = getImage(new URL(url));

}

catch(Exception e){

       System.out.println(“Can’t open the URL “);

}



   URL imgur=null;

   Image image;

   try {

    imgur=new URL(“結點URL “);

   }

   catch (MalformedURLException e) {

    System.out.println(“Can’t open the URL “);



   }

   image=getImage(imgur);

前一種格式用“new URL(url)”生成 URL 對象, 並直接作爲getImage的參數,後一種格式先用“new URL(url)”生成一個 URL對象,再傳給getImage,兩種格式本質上是一樣的,下面是一個完整的實例(img.java)摘要:

   import java.applet.*;

   import java.net.*;

   import java.awt.*;

   public class img extends Applet{

      Image image;

      public void init() {

         String url = “/Newspic/2007118/1429189039.gif”;

         try {

            image = getImage(new URL(url));

         }catch(Exception e){}

      }

      public void paint(Graphics g) {

        g.drawImage(image, 0, 0,this);

      }

   }

   將上程序以img.java存盤, 執行javac img.java,將得到編譯後生成的img.class,最後創建調用這兩個Java Applet的HTML文檔,並放在和img.class相同的目錄,對應的HTML文檔可如下(img.html)摘要:
以上僅是Java在客戶端應用的一些方面,目前,Java更廣泛的應用是在服務器端,這是本文探究的主要話題,下文提及的Servlet、JSP等技術都是Java在服務器端應用的具體形式。1-3 JSP的基礎——Servlet 技術





Java Servlet是JSP技術的基礎,JSP本身就是預先被編譯成Servlet,然後再運行的,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成,Servlet這個名稱大概源於Applet,現在國內的翻譯方式很多,本文爲了避免誤會,本文直接採用Servlet這個名稱而不做任何翻譯,讀者假如願意,可以稱之爲“小服務程序”。Servlet其實和傳統的CGI程序和ISAPI、NSAPI等Web程序開發工具的功能是相同的,在使用Java Servlet以後,用戶不必再使用效率低下的CGI方式,也不必使用只能在某個固定Web服務器平臺運行的API方式來動態生成Web頁面。許多Web服務器都支持Servlet,即使不直接支持Servlet的Web服務器也可以通過附加的應用服務器和模塊來支持Servlet。得益於Java的跨平臺的特性,Servlet也是平臺無關的,實際上,只要符合Java Servlet規範,Servlet是完全平臺無關且是Web服務器無關的。由於Java Servlet內部是以線程方式提供服務,不必對於每個請求都啓動一個進程,並且利用多線程機制可以同時爲多個請求服務,因此Java Servlet效率非常高。但Java Servlet也不是沒有缺點,和傳統的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用輸出HTML語句來實現動態網頁的,假如用Java Servlet來開發整個網站,動態部分和靜態頁面的整合過程簡直就是一場噩夢。這就是爲什麼SUN還要推出Java Server Pages的原因。



1-4 JavaBeans技術



什麼是JavaBeans?JavaBeans就是Java的可重用組件技術。ASP通過COM來擴充複雜的功能,如文件上載、發送email以及將業務處理或複雜計算分離出來成爲獨立可重複利用的模塊。JSP通過JavaBeans實現了同樣的功能擴充。JSP對於在Web應用中集成JavaBeans組件提供了完善的支持。這種支持不僅能縮短開發時間(可以直接利用經測試和可信任的已有組件,避免了重複開發),也爲JSP應用帶來了更多的可伸縮性。JavaBeans組件可以用來執行復雜的計算任務,或負責和數據庫的交互以及數據提取等。在實際的JSP開發過程中,讀者將會發現,和傳統的ASP或PHP頁面相比,JSP頁面將會是非常簡潔的,由於JavaBeans開發起來簡單,又可以利用Java語言的強大功能,許多動態頁面處理過程實際上被封裝到了JavaBeans中。

第二章JSP技術簡介

2-1 在Windows平臺下配置JSP運行環境

爲了使系統能夠正常運行JSP和相關程序,必須先配置好能夠使用JSP的WEB服務器。各種能使用Servlet技術的WEB服務器中,運用得最多的是Tomcat服務器,假如僅是爲了用於測試程序,Tomcat的配置則顯得太複雜了,本文推薦使用Resin服務器,Resin據稱是最快的Servlet運行平臺,不過限於單站點,對傳統的一些網關支持不是很好,因此對於商業網站而言,不是最好的選擇,不過假如僅是爲了測試Servlet,這個Resin的安裝可謂有點傻瓜化。

Resin比較新的版本是3.x,但目前實際用的2.x版本的比較多,Resin可到官方站點下載摘要:http摘要://www.caucho.com/download/本文使用的是2.1.13版本,文件位置摘要:http摘要://www.caucho.com/download/resin-2.1.13.zip

假如你的電腦上已裝好JDK,直接把下載的resin包解壓到D摘要:盤根目錄解壓後即D摘要:/resin-2.1.13爲服務器的目錄,把本文的源程序jspweb文件夾也放在D摘要:盤根目錄,即是D摘要:/jspweb爲網站根目錄,打開D摘要:/resin-2.1.13/conf/ resin.conf(是一份XML形式的配置文件),找到doc這裏改爲D摘要:/jspweb,然後運行D摘要:/resin-2.1.13/bin/httpd.exe,在瀏覽器輸入http摘要://localhost摘要:8080/j1.jsp,看到了“我是JSP!”的字樣了吧,你的Servlet服務器就這樣配置成功了,爲了能編譯Servlet類,還需要做的事情是摘要:把D摘要:/resin-2.1.13/lib加入到windows的CLASSPATH的環境變量中。

2-2 JSP、ASP和PHP技術之比較

JSP和ASP、PHP技術都是目前網上最流行的在服務器端運行的腳本技術,JSP能用JavaBeans技術封裝,達到商業邏輯的目的,ASP對應之的是COM組件,因此兩者都能用於開發商業邏輯,PHP則更像於一個純腳本,僅適合於普通的網站開發,而不能用作商業邏輯而被冠以“Person Home Page”的名稱,這是最貼切不過的了。

JSP和ASP相比,JSP具有跨平臺、平安、強大的可伸縮性的特徵,而果硬要挑一些毛病,JSP相對別的腳本更加難把握,因爲精通JSP必須精通Java語言,對於中小型項目,我們要考慮開發人員、開發速度、開發成本等新問題,在這方面ASP和PHP會比JSP更輕易勝出。

值得一提的是,ASP的最新版本ASP.NET和原來的ASP性質完全是不同的,它和JSP一樣,都是一種編譯性的腳本,本身完全和強大的Net框架結合,完美的支持Xml的各種應用,和昔日的ASP不可同日而語,但是無論是ASP還是ASP.NET,它都擺脫不了Windows平臺本身,這是ASP一個致命的缺點。

2-3 JSP語法基礎

2-3-1嵌入了JAVA語言的HTML文件

把下面網頁保存爲摘要:j1.jsp

這就成了一個最簡單的JSP頁面了,其中是聲明輸出的文件類型爲text/html,字符編碼是gb2312,在JSP中裏的內容表示的是JSP編譯時的一些選項或向客戶端發送的頭信息的JSP指令,裏的內容就是Java語言,假如有必要,更改適當設定,還可以使用javascript作爲腳本,不過實際應用中很少有人這樣做。

2-3-2 request、out %26amp; response--和訪問者的交互

接收客戶端的請求和向客戶端返回信息是動態網頁最常做的事情,在JSP中,主要通過request、response、out 三大對象實現這些功能。

request 對象的功能是接收用戶通過URL或通過表單向發服務器發送請求信息和和用戶計算機相關的一些信息。

response 對象用於網頁傳回用戶端的迴應。

out 用於傳送回應的輸出,即向客戶端返回信息。

把上面的例子稍作修改摘要:

保存爲j2.jsp在瀏覽器上輸入摘要:“http摘要://localhost摘要:8080/j1.jps?msg=我是JSP”看一下效果,這和j1.jsp的結果一樣吧?但它輸出的是客戶端返回的信息,這在意義上完全不同於前者。

2-3-3 session--保持訪問者的會話狀態

會話狀態維持是 Web 應用開發者必須面對的新問題。有多種方法可以用來解決這個新問題,如使用 Cookies 、隱藏的表單輸入域,或直接將狀態信息附加到 URL 中。Java Servlet 提供了一個在多個請求之間持續有效的會話對象,該對象答應用戶存儲和提取會話狀態信息,JSP也內置了這個對象。

Session最基本的用法是摘要:

創建一個會話 session.putValue("名稱","值");

獲得一個會話的值session.getValue("名稱");

2-3-4 JSP其它基本內置對象

   JSP有九大內置對象,除了上述四種以外,還包括摘要:

   pageContext 網頁的屬性是在這裏管理

application Servlet正在執行的內容

config Servlet的構架部件

page JSP網頁本身

exception 針對錯誤網頁,未捕捉的例外

這些基本的內置對象是構成JSP頁面的重要因子。

2-4 用JSP開發Web應用的幾種主要方式

本文是收費論文,字數大於8000,含源碼,價格爲摘要:300元,請聯繫 QQ摘要:2500875 索取全文 。

總結

本文講述了Java/JSP在WEB應用的一些基本知識,並通過網上書店的程序對JSP的運用進行了深化,從本文中可看出JSP和JavaBeans結合的模式,在電子商務上應用十分靈活,不過要真正把握好它們卻並不是一件輕易的事情,在實際應用的WEB開發中,還有很多有關平安方面的新問題需要考慮,此外電子商務網站中使用網上支付平臺的接口一般是用xml server形式通信,本文則尚未涉略這些方面。

參考資料摘要:

(1)JSP編程技巧/清宏計算機工作室編著. 北京摘要:機械工業出版社,2001.1

(2)精通JBuilder 3環境下的JAVA編程/銳思創作室編著. 北京摘要:人民郵電出版社., 2001.1

(3)深入JAVA Servlet 網絡編程. 清華大學出版社

發佈了1 篇原創文章 · 獲贊 3 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章