畢業(yè)論文-大型的WEB應(yīng)用程序開發(fā)
更新時(shí)間:2007年03月21日 00:00:00 作者:
【摘要】
JAVA語(yǔ)言是目前Internet上大型的WEB應(yīng)用程序開發(fā)時(shí)使用得最熱門的編程語(yǔ)言,本文描述了JAVA和JSP技術(shù)的特點(diǎn)以及在互聯(lián)網(wǎng)上的使用情況,介紹這兩種技術(shù)的重要編程方法和兩者之關(guān)的聯(lián)系,并完成一個(gè)基于這種技術(shù)的網(wǎng)上書店系統(tǒng)。
【關(guān)鍵字】JAVA, JavaBeans, Servlet, JSP, 網(wǎng)絡(luò)編程, 電子商務(wù), 網(wǎng)上書店
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的網(wǎng)絡(luò)功能與編程
1-1 JAVA語(yǔ)言簡(jiǎn)介
1-2 JAVA語(yǔ)言在網(wǎng)絡(luò)上的應(yīng)用
1-3 JSP的基礎(chǔ)——Servlet 技術(shù)
1-4 JavaBeans技術(shù)
2、JSP技術(shù)簡(jiǎn)介
2-1在Windows平臺(tái)下配置JSP運(yùn)行環(huán)境
2-2 JSP、ASP和PHP技術(shù)之比較
2-3 JSP語(yǔ)法基礎(chǔ)
2-3-1嵌入了JAVA語(yǔ)言的HTML文件
2-3-2 request、out & response——與訪問者的交互
2-3-3 session——保持訪問者的會(huì)話狀態(tài)
2-3-4 JSP其它基本內(nèi)置對(duì)象
2-4 用JSP開發(fā)Web應(yīng)用的幾種主要方式
2-4-1 直接使用JSP
2-4-2 JSP + JavaBeans
2-4-3 JSP + JavaBeans + Servlet
2-5 JSP + JavaBeans實(shí)現(xiàn)的高級(jí)功能
2-5-1 用JSP訪問數(shù)據(jù)庫(kù)
2-5-2 用JSP + JavaBeans 實(shí)現(xiàn)文件上傳
2-6 JSP的MVC開發(fā)模型
3、網(wǎng)上書店系統(tǒng)設(shè)計(jì)項(xiàng)目需求分析
3-1 網(wǎng)上書店系統(tǒng)的模型
3-2 網(wǎng)上書店系統(tǒng)數(shù)據(jù)庫(kù)的建立
4、網(wǎng)上書店系統(tǒng)的開發(fā)
4-1 后臺(tái)管理
4-1-1 管理員登錄
4-1-2 圖書類別管理
4-1-3 圖書產(chǎn)品管理
4-1-4 注冊(cè)會(huì)員管理
4-1-5 圖書訂購(gòu)管理
4-2 網(wǎng)上書店界面
4-2-1 圖書搜索
4-2-2 查看圖書詳細(xì)
4-3 網(wǎng)上購(gòu)物程序
4-3-1 用戶注冊(cè)
4-3-2 購(gòu)物籃的實(shí)現(xiàn)
5、總結(jié)
第一章 JAVA的網(wǎng)絡(luò)功能與編程
1-1 JAVA語(yǔ)言簡(jiǎn)介
Java是一種簡(jiǎn)單易用、完全面向?qū)ο蟆⒕哂衅脚_(tái)無關(guān)性且安全可靠的主要面向Internet的開發(fā)工具。自從1995年正式問世以來,Java的快速發(fā)展已經(jīng)讓整個(gè)Web世界發(fā)生了翻天覆地的變化。在早期,Java比較多的用在瀏覽器上,插入到網(wǎng)頁(yè)中(即是Java Applet程序),成為最靈活、最強(qiáng)大的網(wǎng)頁(yè)多媒體的載體,但由于Java虛擬機(jī)相對(duì)于個(gè)人電腦而言,有占用資源大,安全性相對(duì)較差等缺點(diǎn),Applet逐漸的被后起之秀Flash所替代,但隨著Java Servlet的推出,Java在電子商務(wù)方面開始嶄露頭角,最新的JSP(Java Server Page)技術(shù)的推出,更是讓Java成為基于Web的應(yīng)用程序的首選開發(fā)工具,目前的Java技術(shù)已成為所有大型電子商務(wù)項(xiàng)目的必然選擇。
1-2 JAVA語(yǔ)言在網(wǎng)絡(luò)上的應(yīng)用
Java程序可以獲取網(wǎng)絡(luò)上結(jié)點(diǎn)的圖象、聲音、HTML文檔及文本等資源,并可以對(duì)獲得的資源進(jìn)行處理。例如Java程序可以每隔一定時(shí)間讀取某結(jié)點(diǎn)提供的最新數(shù)據(jù),并以圖表的形式顯示出來。在編程處理上,一般先生成一個(gè)URL類型的對(duì)象,然后用 Java中相應(yīng)的方法(method)獲取該對(duì)象所代表的資源。下面列舉一個(gè)Java從網(wǎng)絡(luò)上獲取圖象的的方法以說明。
Java Applet可以直接從網(wǎng)絡(luò)上結(jié)點(diǎn)獲取圖象并顯示出來,Java提供了如下方法可以創(chuàng)建對(duì)應(yīng)于其他結(jié)點(diǎn)的圖象:
getImage(new URL(字符串))
其使用格式可有兩種:
String url = “結(jié)點(diǎn)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(“結(jié)點(diǎn)URL “);
}
catch (MalformedURLException e) {
System.out.println(“Can't open the URL “);
}
image=getImage(imgur);
前一種格式用“new URL(url)”生成 URL 對(duì)象, 并直接作為getImage的參數(shù),后一種格式先用“new URL(url)”生成一個(gè) URL對(duì)象,再傳給getImage,兩種格式本質(zhì)上是一樣的,下面是一個(gè)完整的實(shí)例(img.java):
import java.applet.*;
import java.net.*;
import java.awt.*;
public class img extends Applet{
Image image;
public void init() {
String url = “http://images.sohu.com/logo1.gif”;
try {
image = getImage(new URL(url));
}catch(Exception e){}
}
public void paint(Graphics g) {
g.drawImage(image, 0, 0,this);
}
}
將上程序以img.java存盤, 執(zhí)行javac img.java,將得到編譯后生成的img.class,最后創(chuàng)建調(diào)用這兩個(gè)Java Applet的HTML文檔,并放在與img.class相同的目錄,對(duì)應(yīng)的HTML文檔可如下(img.html):
以上僅是Java在客戶端應(yīng)用的一些方面,目前,Java更廣泛的應(yīng)用是在服務(wù)器端,這是本文研究的主要話題,下文提及的Servlet、JSP等技術(shù)都是Java在服務(wù)器端應(yīng)用的具體形式。
1-3 JSP的基礎(chǔ)——Servlet 技術(shù)
Java Servlet是JSP技術(shù)的基礎(chǔ),JSP本身就是預(yù)先被編譯成Servlet,然后再運(yùn)行的,而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成,Servlet這個(gè)名稱大概源于Applet,現(xiàn)在國(guó)內(nèi)的翻譯方式很多,本文為了避免誤會(huì),本文直接采用Servlet這個(gè)名稱而不做任何翻譯,讀者如果愿意,可以稱之為“小服務(wù)程序”。Servlet其實(shí)和傳統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開發(fā)工具的作用是相同的,在使用Java Servlet以后,用戶不必再使用效率低下的CGI方式,也不必使用只能在某個(gè)固定Web服務(wù)器平臺(tái)運(yùn)行的API方式來動(dòng)態(tài)生成Web頁(yè)面。許多Web服務(wù)器都支持Servlet,即使不直接支持Servlet的Web服務(wù)器也可以通過附加的應(yīng)用服務(wù)器和模塊來支持Servlet。得益于Java的跨平臺(tái)的特性,Servlet也是平臺(tái)無關(guān)的,實(shí)際上,只要符合Java Servlet規(guī)范,Servlet是完全平臺(tái)無關(guān)且是Web服務(wù)器無關(guān)的。由于Java Servlet內(nèi)部是以線程方式提供服務(wù),不必對(duì)于每個(gè)請(qǐng)求都啟動(dòng)一個(gè)進(jìn)程,并且利用多線程機(jī)制可以同時(shí)為多個(gè)請(qǐng)求服務(wù),因此Java Servlet效率非常高。但Java Servlet也不是沒有缺點(diǎn),和傳統(tǒng)的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用輸出HTML語(yǔ)句來實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的,如果用Java Servlet來開發(fā)整個(gè)網(wǎng)站,動(dòng)態(tài)部分和靜態(tài)頁(yè)面的整合過程簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。這就是為什么SUN還要推出Java Server Pages的原因。
1-4 JavaBeans技術(shù)
什么是JavaBeans?JavaBeans就是Java的可重用組件技術(shù)。ASP通過COM來擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送email以及將業(yè)務(wù)處理或復(fù)雜計(jì)算分離出來成為獨(dú)立可重復(fù)利用的模塊。JSP通過JavaBeans實(shí)現(xiàn)了同樣的功能擴(kuò)充。JSP對(duì)于在Web應(yīng)用中集成JavaBeans組件提供了完善的支持。這種支持不僅能縮短開發(fā)時(shí)間(可以直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開發(fā)),也為JSP應(yīng)用帶來了更多的可伸縮性。JavaBeans組件可以用來執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互以及數(shù)據(jù)提取等。在實(shí)際的JSP開發(fā)過程中,讀者將會(huì)發(fā)現(xiàn),和傳統(tǒng)的ASP或PHP頁(yè)面相比,JSP頁(yè)面將會(huì)是非常簡(jiǎn)潔的,由于JavaBeans開發(fā)起來簡(jiǎn)單,又可以利用Java語(yǔ)言的強(qiáng)大功能,許多動(dòng)態(tài)頁(yè)面處理過程實(shí)際上被封裝到了JavaBeans中。
第二章JSP技術(shù)簡(jiǎn)介
2-1 在Windows平臺(tái)下配置JSP運(yùn)行環(huán)境
為了使系統(tǒng)能夠正常運(yùn)行JSP和相關(guān)程序,必須先配置好能夠使用JSP的WEB服務(wù)器。各種能使用Servlet技術(shù)的WEB服務(wù)器中,運(yùn)用得最多的是Tomcat服務(wù)器,如果僅是為了用于測(cè)試程序,Tomcat的配置則顯得太復(fù)雜了,本文推薦使用Resin服務(wù)器,Resin據(jù)稱是最快的Servlet運(yùn)行平臺(tái),不過限于單站點(diǎn),對(duì)傳統(tǒng)的一些網(wǎng)關(guān)支持不是很好,因此對(duì)于商業(yè)網(wǎng)站而言,不是最好的選擇,不過如果僅是為了測(cè)試Servlet,這個(gè)Resin的安裝可謂有點(diǎn)傻瓜化。
Resin比較新的版本是3.x,但目前實(shí)際用的2.x版本的比較多,Resin可到官方站點(diǎn)下載: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為服務(wù)器的目錄,把本文的源程序jspweb文件夾也放在D:盤根目錄,即是D:\jspweb為網(wǎng)站根目錄,打開D:\resin-2.1.13\conf\ resin.conf(是一份XML形式的配置文件),找到doc這里改為D:\jspweb,然后運(yùn)行D:\resin-2.1.13\bin\httpd.exe,在瀏覽器輸入http://localhost:8080/j1.jsp,看到了“我是JSP!”的字樣了吧,你的Servlet服務(wù)器就這樣配置成功了,為了能編譯Servlet類,還需要做的事情是:把D:\resin-2.1.13\lib加入到windows的CLASSPATH的環(huán)境變量中。
2-2 JSP、ASP和PHP技術(shù)之比較
JSP與ASP、PHP技術(shù)都是目前網(wǎng)上最流行的在服務(wù)器端運(yùn)行的腳本技術(shù),JSP能用JavaBeans技術(shù)封裝,達(dá)到商業(yè)邏輯的目的,ASP對(duì)應(yīng)之的是COM組件,因此兩者都能用于開發(fā)商業(yè)邏輯,PHP則更像于一個(gè)純腳本,僅適合于普通的網(wǎng)站開發(fā),而不能用作商業(yè)邏輯而被冠以“Person Home Page”的名稱,這是最貼切不過的了。
JSP與ASP相比,JSP具有跨平臺(tái)、安全、強(qiáng)大的可伸縮性的特點(diǎn),而果硬要挑一些毛病,JSP相對(duì)別的腳本更加難掌握,因?yàn)榫↗SP必須精通Java語(yǔ)言,對(duì)于中小型項(xiàng)目,我們要考慮開發(fā)人員、開發(fā)速度、開發(fā)成本等問題,在這方面ASP和PHP會(huì)比JSP更容易勝出。
值得一提的是,ASP的最新版本ASP.NET與原來的ASP性質(zhì)完全是不同的,它和JSP一樣,都是一種編譯性的腳本,本身完全與強(qiáng)大的Net框架結(jié)合,完美的支持Xml的各種應(yīng)用,與昔日的ASP不可同日而語(yǔ),但是無論是ASP還是ASP.NET,它都擺脫不了Windows平臺(tái)本身,這是ASP一個(gè)致命的缺點(diǎn)。
2-3 JSP語(yǔ)法基礎(chǔ)
2-3-1嵌入了JAVA語(yǔ)言的HTML文件
把下面網(wǎng)頁(yè)保存為:j1.jsp
這就成了一個(gè)最簡(jiǎn)單的JSP頁(yè)面了,其中
是聲明輸出的文件類型為text/html,字符編碼是gb2312,在JSP中里的內(nèi)容表示的是JSP編譯時(shí)的一些選項(xiàng)或向客戶端發(fā)送的頭信息的JSP指令,里的內(nèi)容就是Java語(yǔ)言,如果有必要,更改適當(dāng)設(shè)定,還可以使用JavaScript作為腳本,不過實(shí)際應(yīng)用中很少有人這樣做。
2-3-2 request、out & response--與訪問者的交互
接收客戶端的請(qǐng)求和向客戶端返回信息是動(dòng)態(tài)網(wǎng)頁(yè)最常做的事情,在JSP中,主要通過request、response、out 三大對(duì)象實(shí)現(xiàn)這些功能。
request 對(duì)象的作用是接收用戶通過URL或通過表單向發(fā)服務(wù)器發(fā)送請(qǐng)求信息和與用戶計(jì)算機(jī)相關(guān)的一些信息。
response 對(duì)象用于網(wǎng)頁(yè)傳回用戶端的回應(yīng)。
out 用于傳送回應(yīng)的輸出,即向客戶端返回信息。
把上面的例子稍作修改:
保存為j2.jsp在瀏覽器上輸入:“http://localhost:8080/j1.jps?msg=我是JSP”看一下效果,這和j1.jsp的結(jié)果一樣吧?但它輸出的是客戶端返回的信息,這在意義上完全不同于前者。
2-3-3 session--保持訪問者的會(huì)話狀態(tài)
會(huì)話狀態(tài)維持是 Web 應(yīng)用開發(fā)者必須面對(duì)的問題。有多種方法可以用來解決這個(gè)問題,如使用 Cookies 、隱藏的表單輸入域,或直接將狀態(tài)信息附加到 URL 中。Java Servlet 提供了一個(gè)在多個(gè)請(qǐng)求之間持續(xù)有效的會(huì)話對(duì)象,該對(duì)象允許用戶存儲(chǔ)和提取會(huì)話狀態(tài)信息,JSP也內(nèi)置了這個(gè)對(duì)象。
Session最基本的用法是:
創(chuàng)建一個(gè)會(huì)話 session.putValue("名稱","值");
獲得一個(gè)會(huì)話的值session.getValue("名稱");
2-3-4 JSP其它基本內(nèi)置對(duì)象
JSP有九大內(nèi)置對(duì)象,除了上述四種以外,還包括:
pageContext 網(wǎng)頁(yè)的屬性是在這里管理
application Servlet正在執(zhí)行的內(nèi)容
config Servlet的構(gòu)架部件
page JSP網(wǎng)頁(yè)本身
exception 針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外
這些基本的內(nèi)置對(duì)象是構(gòu)成JSP頁(yè)面的重要因子。
2-4 用JSP開發(fā)Web應(yīng)用的幾種主要方式
本文是收費(fèi)論文,字?jǐn)?shù)大于8000,含源碼,價(jià)格為:300元,請(qǐng)聯(lián)系 QQ:2500875 索取全文 。
總結(jié)
本文講述了Java/JSP在WEB應(yīng)用的一些基本知識(shí),并通過網(wǎng)上書店的程序?qū)SP的運(yùn)用進(jìn)行了深化,從本文中可看出JSP與JavaBeans結(jié)合的模式,在電子商務(wù)上應(yīng)用十分靈活,不過要真正掌握好它們卻并不是一件容易的事情,在實(shí)際應(yīng)用的WEB開發(fā)中,還有很多關(guān)于安全方面的問題需要考慮,此外電子商務(wù)網(wǎng)站中使用網(wǎng)上支付平臺(tái)的接口一般是用xml server形式通信,本文則尚未涉略這些方面。
附件:jspweb.zip,包含了本文中提及的所有源程序以及網(wǎng)上書店系統(tǒng)。
參考資料:
(1)JSP編程技巧/清宏計(jì)算機(jī)工作室編著. 北京:機(jī)械工業(yè)出版社,2001.1
(2)精通JBuilder 3環(huán)境下的JAVA編程/銳思創(chuàng)作室編著. 北京:人民郵電出版社., 2001.1
(3)深入JAVA Servlet 網(wǎng)絡(luò)編程. 清華大學(xué)出版社
JAVA語(yǔ)言是目前Internet上大型的WEB應(yīng)用程序開發(fā)時(shí)使用得最熱門的編程語(yǔ)言,本文描述了JAVA和JSP技術(shù)的特點(diǎn)以及在互聯(lián)網(wǎng)上的使用情況,介紹這兩種技術(shù)的重要編程方法和兩者之關(guān)的聯(lián)系,并完成一個(gè)基于這種技術(shù)的網(wǎng)上書店系統(tǒng)。
【關(guān)鍵字】JAVA, JavaBeans, Servlet, JSP, 網(wǎng)絡(luò)編程, 電子商務(wù), 網(wǎng)上書店
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的網(wǎng)絡(luò)功能與編程
1-1 JAVA語(yǔ)言簡(jiǎn)介
1-2 JAVA語(yǔ)言在網(wǎng)絡(luò)上的應(yīng)用
1-3 JSP的基礎(chǔ)——Servlet 技術(shù)
1-4 JavaBeans技術(shù)
2、JSP技術(shù)簡(jiǎn)介
2-1在Windows平臺(tái)下配置JSP運(yùn)行環(huán)境
2-2 JSP、ASP和PHP技術(shù)之比較
2-3 JSP語(yǔ)法基礎(chǔ)
2-3-1嵌入了JAVA語(yǔ)言的HTML文件
2-3-2 request、out & response——與訪問者的交互
2-3-3 session——保持訪問者的會(huì)話狀態(tài)
2-3-4 JSP其它基本內(nèi)置對(duì)象
2-4 用JSP開發(fā)Web應(yīng)用的幾種主要方式
2-4-1 直接使用JSP
2-4-2 JSP + JavaBeans
2-4-3 JSP + JavaBeans + Servlet
2-5 JSP + JavaBeans實(shí)現(xiàn)的高級(jí)功能
2-5-1 用JSP訪問數(shù)據(jù)庫(kù)
2-5-2 用JSP + JavaBeans 實(shí)現(xiàn)文件上傳
2-6 JSP的MVC開發(fā)模型
3、網(wǎng)上書店系統(tǒng)設(shè)計(jì)項(xiàng)目需求分析
3-1 網(wǎng)上書店系統(tǒng)的模型
3-2 網(wǎng)上書店系統(tǒng)數(shù)據(jù)庫(kù)的建立
4、網(wǎng)上書店系統(tǒng)的開發(fā)
4-1 后臺(tái)管理
4-1-1 管理員登錄
4-1-2 圖書類別管理
4-1-3 圖書產(chǎn)品管理
4-1-4 注冊(cè)會(huì)員管理
4-1-5 圖書訂購(gòu)管理
4-2 網(wǎng)上書店界面
4-2-1 圖書搜索
4-2-2 查看圖書詳細(xì)
4-3 網(wǎng)上購(gòu)物程序
4-3-1 用戶注冊(cè)
4-3-2 購(gòu)物籃的實(shí)現(xiàn)
5、總結(jié)
第一章 JAVA的網(wǎng)絡(luò)功能與編程
1-1 JAVA語(yǔ)言簡(jiǎn)介
Java是一種簡(jiǎn)單易用、完全面向?qū)ο蟆⒕哂衅脚_(tái)無關(guān)性且安全可靠的主要面向Internet的開發(fā)工具。自從1995年正式問世以來,Java的快速發(fā)展已經(jīng)讓整個(gè)Web世界發(fā)生了翻天覆地的變化。在早期,Java比較多的用在瀏覽器上,插入到網(wǎng)頁(yè)中(即是Java Applet程序),成為最靈活、最強(qiáng)大的網(wǎng)頁(yè)多媒體的載體,但由于Java虛擬機(jī)相對(duì)于個(gè)人電腦而言,有占用資源大,安全性相對(duì)較差等缺點(diǎn),Applet逐漸的被后起之秀Flash所替代,但隨著Java Servlet的推出,Java在電子商務(wù)方面開始嶄露頭角,最新的JSP(Java Server Page)技術(shù)的推出,更是讓Java成為基于Web的應(yīng)用程序的首選開發(fā)工具,目前的Java技術(shù)已成為所有大型電子商務(wù)項(xiàng)目的必然選擇。
1-2 JAVA語(yǔ)言在網(wǎng)絡(luò)上的應(yīng)用
Java程序可以獲取網(wǎng)絡(luò)上結(jié)點(diǎn)的圖象、聲音、HTML文檔及文本等資源,并可以對(duì)獲得的資源進(jìn)行處理。例如Java程序可以每隔一定時(shí)間讀取某結(jié)點(diǎn)提供的最新數(shù)據(jù),并以圖表的形式顯示出來。在編程處理上,一般先生成一個(gè)URL類型的對(duì)象,然后用 Java中相應(yīng)的方法(method)獲取該對(duì)象所代表的資源。下面列舉一個(gè)Java從網(wǎng)絡(luò)上獲取圖象的的方法以說明。
Java Applet可以直接從網(wǎng)絡(luò)上結(jié)點(diǎn)獲取圖象并顯示出來,Java提供了如下方法可以創(chuàng)建對(duì)應(yīng)于其他結(jié)點(diǎn)的圖象:
getImage(new URL(字符串))
其使用格式可有兩種:
String url = “結(jié)點(diǎn)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(“結(jié)點(diǎn)URL “);
}
catch (MalformedURLException e) {
System.out.println(“Can't open the URL “);
}
image=getImage(imgur);
前一種格式用“new URL(url)”生成 URL 對(duì)象, 并直接作為getImage的參數(shù),后一種格式先用“new URL(url)”生成一個(gè) URL對(duì)象,再傳給getImage,兩種格式本質(zhì)上是一樣的,下面是一個(gè)完整的實(shí)例(img.java):
import java.applet.*;
import java.net.*;
import java.awt.*;
public class img extends Applet{
Image image;
public void init() {
String url = “http://images.sohu.com/logo1.gif”;
try {
image = getImage(new URL(url));
}catch(Exception e){}
}
public void paint(Graphics g) {
g.drawImage(image, 0, 0,this);
}
}
將上程序以img.java存盤, 執(zhí)行javac img.java,將得到編譯后生成的img.class,最后創(chuàng)建調(diào)用這兩個(gè)Java Applet的HTML文檔,并放在與img.class相同的目錄,對(duì)應(yīng)的HTML文檔可如下(img.html):
以上僅是Java在客戶端應(yīng)用的一些方面,目前,Java更廣泛的應(yīng)用是在服務(wù)器端,這是本文研究的主要話題,下文提及的Servlet、JSP等技術(shù)都是Java在服務(wù)器端應(yīng)用的具體形式。
1-3 JSP的基礎(chǔ)——Servlet 技術(shù)
Java Servlet是JSP技術(shù)的基礎(chǔ),JSP本身就是預(yù)先被編譯成Servlet,然后再運(yùn)行的,而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成,Servlet這個(gè)名稱大概源于Applet,現(xiàn)在國(guó)內(nèi)的翻譯方式很多,本文為了避免誤會(huì),本文直接采用Servlet這個(gè)名稱而不做任何翻譯,讀者如果愿意,可以稱之為“小服務(wù)程序”。Servlet其實(shí)和傳統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開發(fā)工具的作用是相同的,在使用Java Servlet以后,用戶不必再使用效率低下的CGI方式,也不必使用只能在某個(gè)固定Web服務(wù)器平臺(tái)運(yùn)行的API方式來動(dòng)態(tài)生成Web頁(yè)面。許多Web服務(wù)器都支持Servlet,即使不直接支持Servlet的Web服務(wù)器也可以通過附加的應(yīng)用服務(wù)器和模塊來支持Servlet。得益于Java的跨平臺(tái)的特性,Servlet也是平臺(tái)無關(guān)的,實(shí)際上,只要符合Java Servlet規(guī)范,Servlet是完全平臺(tái)無關(guān)且是Web服務(wù)器無關(guān)的。由于Java Servlet內(nèi)部是以線程方式提供服務(wù),不必對(duì)于每個(gè)請(qǐng)求都啟動(dòng)一個(gè)進(jìn)程,并且利用多線程機(jī)制可以同時(shí)為多個(gè)請(qǐng)求服務(wù),因此Java Servlet效率非常高。但Java Servlet也不是沒有缺點(diǎn),和傳統(tǒng)的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用輸出HTML語(yǔ)句來實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的,如果用Java Servlet來開發(fā)整個(gè)網(wǎng)站,動(dòng)態(tài)部分和靜態(tài)頁(yè)面的整合過程簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。這就是為什么SUN還要推出Java Server Pages的原因。
1-4 JavaBeans技術(shù)
什么是JavaBeans?JavaBeans就是Java的可重用組件技術(shù)。ASP通過COM來擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送email以及將業(yè)務(wù)處理或復(fù)雜計(jì)算分離出來成為獨(dú)立可重復(fù)利用的模塊。JSP通過JavaBeans實(shí)現(xiàn)了同樣的功能擴(kuò)充。JSP對(duì)于在Web應(yīng)用中集成JavaBeans組件提供了完善的支持。這種支持不僅能縮短開發(fā)時(shí)間(可以直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開發(fā)),也為JSP應(yīng)用帶來了更多的可伸縮性。JavaBeans組件可以用來執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互以及數(shù)據(jù)提取等。在實(shí)際的JSP開發(fā)過程中,讀者將會(huì)發(fā)現(xiàn),和傳統(tǒng)的ASP或PHP頁(yè)面相比,JSP頁(yè)面將會(huì)是非常簡(jiǎn)潔的,由于JavaBeans開發(fā)起來簡(jiǎn)單,又可以利用Java語(yǔ)言的強(qiáng)大功能,許多動(dòng)態(tài)頁(yè)面處理過程實(shí)際上被封裝到了JavaBeans中。
第二章JSP技術(shù)簡(jiǎn)介
2-1 在Windows平臺(tái)下配置JSP運(yùn)行環(huán)境
為了使系統(tǒng)能夠正常運(yùn)行JSP和相關(guān)程序,必須先配置好能夠使用JSP的WEB服務(wù)器。各種能使用Servlet技術(shù)的WEB服務(wù)器中,運(yùn)用得最多的是Tomcat服務(wù)器,如果僅是為了用于測(cè)試程序,Tomcat的配置則顯得太復(fù)雜了,本文推薦使用Resin服務(wù)器,Resin據(jù)稱是最快的Servlet運(yùn)行平臺(tái),不過限于單站點(diǎn),對(duì)傳統(tǒng)的一些網(wǎng)關(guān)支持不是很好,因此對(duì)于商業(yè)網(wǎng)站而言,不是最好的選擇,不過如果僅是為了測(cè)試Servlet,這個(gè)Resin的安裝可謂有點(diǎn)傻瓜化。
Resin比較新的版本是3.x,但目前實(shí)際用的2.x版本的比較多,Resin可到官方站點(diǎn)下載: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為服務(wù)器的目錄,把本文的源程序jspweb文件夾也放在D:盤根目錄,即是D:\jspweb為網(wǎng)站根目錄,打開D:\resin-2.1.13\conf\ resin.conf(是一份XML形式的配置文件),找到doc這里改為D:\jspweb,然后運(yùn)行D:\resin-2.1.13\bin\httpd.exe,在瀏覽器輸入http://localhost:8080/j1.jsp,看到了“我是JSP!”的字樣了吧,你的Servlet服務(wù)器就這樣配置成功了,為了能編譯Servlet類,還需要做的事情是:把D:\resin-2.1.13\lib加入到windows的CLASSPATH的環(huán)境變量中。
2-2 JSP、ASP和PHP技術(shù)之比較
JSP與ASP、PHP技術(shù)都是目前網(wǎng)上最流行的在服務(wù)器端運(yùn)行的腳本技術(shù),JSP能用JavaBeans技術(shù)封裝,達(dá)到商業(yè)邏輯的目的,ASP對(duì)應(yīng)之的是COM組件,因此兩者都能用于開發(fā)商業(yè)邏輯,PHP則更像于一個(gè)純腳本,僅適合于普通的網(wǎng)站開發(fā),而不能用作商業(yè)邏輯而被冠以“Person Home Page”的名稱,這是最貼切不過的了。
JSP與ASP相比,JSP具有跨平臺(tái)、安全、強(qiáng)大的可伸縮性的特點(diǎn),而果硬要挑一些毛病,JSP相對(duì)別的腳本更加難掌握,因?yàn)榫↗SP必須精通Java語(yǔ)言,對(duì)于中小型項(xiàng)目,我們要考慮開發(fā)人員、開發(fā)速度、開發(fā)成本等問題,在這方面ASP和PHP會(huì)比JSP更容易勝出。
值得一提的是,ASP的最新版本ASP.NET與原來的ASP性質(zhì)完全是不同的,它和JSP一樣,都是一種編譯性的腳本,本身完全與強(qiáng)大的Net框架結(jié)合,完美的支持Xml的各種應(yīng)用,與昔日的ASP不可同日而語(yǔ),但是無論是ASP還是ASP.NET,它都擺脫不了Windows平臺(tái)本身,這是ASP一個(gè)致命的缺點(diǎn)。
2-3 JSP語(yǔ)法基礎(chǔ)
2-3-1嵌入了JAVA語(yǔ)言的HTML文件
把下面網(wǎng)頁(yè)保存為:j1.jsp
這就成了一個(gè)最簡(jiǎn)單的JSP頁(yè)面了,其中
是聲明輸出的文件類型為text/html,字符編碼是gb2312,在JSP中里的內(nèi)容表示的是JSP編譯時(shí)的一些選項(xiàng)或向客戶端發(fā)送的頭信息的JSP指令,里的內(nèi)容就是Java語(yǔ)言,如果有必要,更改適當(dāng)設(shè)定,還可以使用JavaScript作為腳本,不過實(shí)際應(yīng)用中很少有人這樣做。
2-3-2 request、out & response--與訪問者的交互
接收客戶端的請(qǐng)求和向客戶端返回信息是動(dòng)態(tài)網(wǎng)頁(yè)最常做的事情,在JSP中,主要通過request、response、out 三大對(duì)象實(shí)現(xiàn)這些功能。
request 對(duì)象的作用是接收用戶通過URL或通過表單向發(fā)服務(wù)器發(fā)送請(qǐng)求信息和與用戶計(jì)算機(jī)相關(guān)的一些信息。
response 對(duì)象用于網(wǎng)頁(yè)傳回用戶端的回應(yīng)。
out 用于傳送回應(yīng)的輸出,即向客戶端返回信息。
把上面的例子稍作修改:
保存為j2.jsp在瀏覽器上輸入:“http://localhost:8080/j1.jps?msg=我是JSP”看一下效果,這和j1.jsp的結(jié)果一樣吧?但它輸出的是客戶端返回的信息,這在意義上完全不同于前者。
2-3-3 session--保持訪問者的會(huì)話狀態(tài)
會(huì)話狀態(tài)維持是 Web 應(yīng)用開發(fā)者必須面對(duì)的問題。有多種方法可以用來解決這個(gè)問題,如使用 Cookies 、隱藏的表單輸入域,或直接將狀態(tài)信息附加到 URL 中。Java Servlet 提供了一個(gè)在多個(gè)請(qǐng)求之間持續(xù)有效的會(huì)話對(duì)象,該對(duì)象允許用戶存儲(chǔ)和提取會(huì)話狀態(tài)信息,JSP也內(nèi)置了這個(gè)對(duì)象。
Session最基本的用法是:
創(chuàng)建一個(gè)會(huì)話 session.putValue("名稱","值");
獲得一個(gè)會(huì)話的值session.getValue("名稱");
2-3-4 JSP其它基本內(nèi)置對(duì)象
JSP有九大內(nèi)置對(duì)象,除了上述四種以外,還包括:
pageContext 網(wǎng)頁(yè)的屬性是在這里管理
application Servlet正在執(zhí)行的內(nèi)容
config Servlet的構(gòu)架部件
page JSP網(wǎng)頁(yè)本身
exception 針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外
這些基本的內(nèi)置對(duì)象是構(gòu)成JSP頁(yè)面的重要因子。
2-4 用JSP開發(fā)Web應(yīng)用的幾種主要方式
本文是收費(fèi)論文,字?jǐn)?shù)大于8000,含源碼,價(jià)格為:300元,請(qǐng)聯(lián)系 QQ:2500875 索取全文 。
總結(jié)
本文講述了Java/JSP在WEB應(yīng)用的一些基本知識(shí),并通過網(wǎng)上書店的程序?qū)SP的運(yùn)用進(jìn)行了深化,從本文中可看出JSP與JavaBeans結(jié)合的模式,在電子商務(wù)上應(yīng)用十分靈活,不過要真正掌握好它們卻并不是一件容易的事情,在實(shí)際應(yīng)用的WEB開發(fā)中,還有很多關(guān)于安全方面的問題需要考慮,此外電子商務(wù)網(wǎng)站中使用網(wǎng)上支付平臺(tái)的接口一般是用xml server形式通信,本文則尚未涉略這些方面。
附件:jspweb.zip,包含了本文中提及的所有源程序以及網(wǎng)上書店系統(tǒng)。
參考資料:
(1)JSP編程技巧/清宏計(jì)算機(jī)工作室編著. 北京:機(jī)械工業(yè)出版社,2001.1
(2)精通JBuilder 3環(huán)境下的JAVA編程/銳思創(chuàng)作室編著. 北京:人民郵電出版社., 2001.1
(3)深入JAVA Servlet 網(wǎng)絡(luò)編程. 清華大學(xué)出版社
相關(guān)文章
畢業(yè)論文-客戶關(guān)系管理與數(shù)據(jù)挖掘技術(shù)綜述
畢業(yè)論文-客戶關(guān)系管理與數(shù)據(jù)挖掘技術(shù)綜述...2007-03-03畢業(yè)論文-計(jì)算機(jī)論文注意事項(xiàng)
畢業(yè)論文-計(jì)算機(jī)論文注意事項(xiàng)...2007-03-03畢業(yè)論文-計(jì)算機(jī)軟件知識(shí)產(chǎn)權(quán)保護(hù)所面臨的挑戰(zhàn)及對(duì)策
畢業(yè)論文-計(jì)算機(jī)軟件知識(shí)產(chǎn)權(quán)保護(hù)所面臨的挑戰(zhàn)及對(duì)策...2007-03-03基于MEF打造的插件系統(tǒng)的實(shí)現(xiàn)詳解
最好自己動(dòng)手實(shí)踐下MEF,不過講的都是MEF的基礎(chǔ),希望對(duì)你有所幫助2013-05-05畢業(yè)論文-大型的WEB應(yīng)用程序開發(fā)
畢業(yè)論文-大型的WEB應(yīng)用程序開發(fā)...2007-03-03畢業(yè)論文-電子商務(wù)罪在何處?--淺談?dòng)嘘P(guān)電子商務(wù)認(rèn)識(shí)的幾個(gè)誤區(qū)
畢業(yè)論文-電子商務(wù)罪在何處?--淺談?dòng)嘘P(guān)電子商務(wù)認(rèn)識(shí)的幾個(gè)誤區(qū)...2007-03-03