計(jì)算機(jī)軟件及應(yīng)用第1章 JSP概述_第1頁
計(jì)算機(jī)軟件及應(yīng)用第1章 JSP概述_第2頁
計(jì)算機(jī)軟件及應(yīng)用第1章 JSP概述_第3頁
計(jì)算機(jī)軟件及應(yīng)用第1章 JSP概述_第4頁
計(jì)算機(jī)軟件及應(yīng)用第1章 JSP概述_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1主講:馬建紅郵箱:JSP應(yīng)用與開發(fā)技術(shù)2課程的地位、先修課程本課程是一門專業(yè)必修課程,它主要講授如何使用JSP程序設(shè)計(jì)的原理、方法和技術(shù)開發(fā)基于B/S架構(gòu)的動態(tài)網(wǎng)站。先修課程:要求學(xué)習(xí)者具備一定的Java程序設(shè)計(jì)根底,因此必須先修?Java程序設(shè)計(jì)?;該課程需要操作數(shù)據(jù)庫,因此必須先修?數(shù)據(jù)庫原理?;另外由于牽涉網(wǎng)頁的設(shè)計(jì)所以先修課還需要?網(wǎng)頁設(shè)計(jì)?。3課程在專業(yè)課程體系中的地位JSP工程實(shí)訓(xùn)Java程序設(shè)計(jì)數(shù)據(jù)庫原理網(wǎng)頁設(shè)計(jì)J2EE程序設(shè)計(jì)Ajax程序設(shè)計(jì)SSH框架手機(jī)開發(fā)4本章學(xué)習(xí)目標(biāo):了解軟件編程體系了解企業(yè)應(yīng)用開發(fā)架構(gòu)掌握J(rèn)SP根本概念掌握J(rèn)SP的知識體系了解JSP的學(xué)習(xí)之路5關(guān)于教材JSP(JavaServerPages)是目前動態(tài)網(wǎng)站開發(fā)技術(shù)中最典型的一種。JSP繼承了Java語言的優(yōu)勢,是一種與平臺無關(guān)的開發(fā)技術(shù),而Java技術(shù)也賦予了JSP為用戶提供強(qiáng)大功能的技術(shù)支持。JSP實(shí)現(xiàn)了動態(tài)頁面與靜態(tài)頁面的別離,脫離了硬件平臺的束縛,提高了執(zhí)行效率而逐漸成為因特網(wǎng)上的主流開發(fā)技術(shù),已經(jīng)越來越受到編程者的關(guān)注和喜愛。JSP語言雖然綜合性地包括了Java和HTML這兩類語法,但不能通過簡單地使用JSP,讓它集顯示、業(yè)務(wù)邏輯和流程控制于一身,因?yàn)橛眠@種方式開發(fā)出來的Web應(yīng)用程序是非常難以維護(hù)的。所以對JSP使用觀念的建立,以及JavaBean、數(shù)據(jù)庫、Servlet等技術(shù)的了解運(yùn)用是利用JSP開發(fā)復(fù)雜的商業(yè)級網(wǎng)站的重點(diǎn)。為了讓讀者在學(xué)習(xí)的過程中能夠徹底掌握相關(guān)概念,同時(shí)掌握所需的知識,除了根本語法介紹外,本書也同時(shí)將重點(diǎn)集中在面向?qū)ο蟮挠^點(diǎn)和JSP程序架構(gòu)方面。本書結(jié)合JSP和Servlet的最新標(biāo)準(zhǔn),從根本的語法和標(biāo)準(zhǔn)入手,以經(jīng)驗(yàn)為后盾,以實(shí)用為目標(biāo),以實(shí)例為導(dǎo)向,以實(shí)踐為指導(dǎo),深入淺出地講解了JSP開發(fā)中的種種問題。以精簡的內(nèi)容介紹了JSP的語法、Servlet技術(shù)、JDBC技術(shù)、標(biāo)簽庫技術(shù)、MVC等技術(shù);本書每一章節(jié)的例子讀者都可以直接使用。實(shí)例講解過程條理清晰、循序漸進(jìn),符合程序設(shè)計(jì)的自然思路,讀者讀完一個(gè)章節(jié),也就相應(yīng)地掌握了相關(guān)的JSP技術(shù)開發(fā)的思想和技術(shù)。并且采用幾個(gè)較完整的綜合實(shí)例,讓讀者對JSP+Servlet+JavaBean+JDBC這樣的Web架構(gòu)有個(gè)整體認(rèn)識。67教材的組織結(jié)構(gòu)本書共16章,可以分成七個(gè)局部。第一局部JSP編程根底與環(huán)境配置,包括三章:第1章JSP概述;第2章JSP動態(tài)網(wǎng)頁設(shè)計(jì)根底;第3章JSP環(huán)境配置,介紹JSP應(yīng)用技術(shù)的前導(dǎo)知識和開發(fā)環(huán)境的搭建。第二局部JSP應(yīng)用開發(fā)根底,包括三章:第4章JSP根本語法;第5章JSP內(nèi)置對象;第6章使用Cookie記錄信息,詳細(xì)講解了JSP技術(shù)的根本語法。第三局部JSP應(yīng)用開發(fā)進(jìn)階,包括兩章:第7章JavaBean和表單處理;第8章JSP中文件的操作。這局部主要介紹了JavaBean別離表示與實(shí)現(xiàn)、使用JSP處理HTML表單、使用Java類庫里的I/O類,開發(fā)具備文件存取功能的網(wǎng)頁程序。第四局部JSP數(shù)據(jù)庫編程根底包括三章:第9章數(shù)據(jù)庫操作根底;第10章應(yīng)用JDBC進(jìn)行數(shù)據(jù)庫開發(fā);第11章JSP+JavaBean+DB的實(shí)例,以MySql數(shù)據(jù)庫為例詳細(xì)講解了JSP中使用數(shù)據(jù)庫的操作包括JDBC、連接池、分頁處理等技術(shù)。8第五局部Servlet技術(shù)包括兩章章:第12章Servlet根底;第13章使用Servlet過濾器和監(jiān)聽器;通過實(shí)例講述了Servlet的開發(fā)和部署。第六局部標(biāo)簽庫包括兩章:第14章標(biāo)準(zhǔn)標(biāo)簽庫〔JSTL〕;第15章創(chuàng)立自定義標(biāo)簽庫。這局部是使用JSP進(jìn)行程序開發(fā)的擴(kuò)展知識。第七局部第16章通過一個(gè)網(wǎng)上書店的實(shí)例講解了Web開發(fā)的應(yīng)用。910課程的任務(wù)

掌握J(rèn)SP編程技術(shù):掌握J(rèn)SP的語法;掌握J(rèn)SP對文件的操作;掌握J(rèn)SP對數(shù)據(jù)庫的操作;掌握J(rèn)SP中采用的JavaBean;掌握J(rèn)SP中采用的Servlet技術(shù);掌握MVC編程模式。11重點(diǎn)和難點(diǎn)課程的重點(diǎn):JSP開發(fā)Web應(yīng)用程序,如動態(tài)網(wǎng)站的開發(fā);課程的難點(diǎn):JavaBean和Servlet技術(shù),通過系統(tǒng)的學(xué)習(xí),學(xué)生能夠利用JSP技術(shù)進(jìn)行網(wǎng)站的簡單設(shè)計(jì)和開發(fā)。12第1章

JSP概述

1.1軟件編程體系簡介1.2企業(yè)應(yīng)用開發(fā)架構(gòu) 1.3JSP概述1.4JSP知識體系及學(xué)習(xí)之路131.1軟件編程體系簡介14客戶機(jī)/效勞器(Client/Server,C/S)模式即客戶機(jī)和效勞器結(jié)構(gòu)。這種體系結(jié)構(gòu)模式是以數(shù)據(jù)庫效勞器為中心、以客戶機(jī)為網(wǎng)絡(luò)根底、在信息系統(tǒng)軟件支持下的兩層結(jié)構(gòu)模型。這種體系結(jié)構(gòu)中,用戶操作模塊布置在客戶機(jī)上,數(shù)據(jù)存儲在效勞器上的數(shù)據(jù)庫中??蛻魴C(jī)依靠效勞器獲得所需要的網(wǎng)絡(luò)資源,而效勞器為客戶機(jī)提供網(wǎng)絡(luò)必須的資源。目前大多數(shù)信息系統(tǒng)是采用Client/Server結(jié)構(gòu)。效勞器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b專用的客戶端軟件。這種模式我們也通常成為胖客戶端模式。典型的系統(tǒng):QQ、MSNC/S結(jié)構(gòu)編程體系15瀏覽器/效勞器(Browser/Server,B/S)模式即瀏覽器效勞器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面通過瀏覽器來實(shí)現(xiàn),極少局部事務(wù)邏輯在前端〔Browser〕實(shí)現(xiàn),主要事務(wù)邏輯在效勞器端〔Server〕實(shí)現(xiàn),形成所謂三層結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的本錢和工作量,降低了用戶的總體本錢??蛻魴C(jī)上只要安裝一個(gè)瀏覽器〔Browser〕,如NetscapeNavigator或InternetExplorer,效勞器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫。瀏覽器通過WebServer同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。

這種模式,我們通常將其成為瘦客戶端模式。典型的系統(tǒng):網(wǎng)上銀行、網(wǎng)上書店、Blog等等B/S結(jié)構(gòu)編程體系161.2企業(yè)應(yīng)用開發(fā)架構(gòu)

在構(gòu)建企業(yè)級應(yīng)用的時(shí)候,通常需要大量的代碼,而且這些代碼一般分布在不同的計(jì)算機(jī)上,劃分代碼運(yùn)行在不同計(jì)算機(jī)上的理論就是多層設(shè)計(jì)理論。企業(yè)級應(yīng)用系統(tǒng)通常分成兩層三層N層架構(gòu)。兩層架構(gòu)傳統(tǒng)的兩層應(yīng)用包括用戶接口和后臺程序,后臺程序通常是一個(gè)數(shù)據(jù)庫,用戶接口直接同數(shù)據(jù)庫進(jìn)行對話。實(shí)現(xiàn)上,通常使用JSP、ASP或者VB等技術(shù)編寫這類軟件,結(jié)構(gòu)如圖兩層應(yīng)用架構(gòu)顯示邏輯層一般由HTML、JSP、ASP實(shí)現(xiàn),通過JSP和ASP直接和數(shù)據(jù)庫相連三層架構(gòu)在兩層應(yīng)用中,應(yīng)用程序直接同數(shù)據(jù)庫進(jìn)行對話。三層結(jié)構(gòu)在用戶接口代碼和數(shù)據(jù)庫中間參加了一個(gè)附加的邏輯層,通常這個(gè)層叫做“商務(wù)邏輯層〞,如圖N層架構(gòu)如果某個(gè)應(yīng)用超過三個(gè)獨(dú)立的代碼層,那么這個(gè)應(yīng)用叫做N應(yīng)用,就不再叫四層或者五層等名稱,而是統(tǒng)稱為N層。如圖開發(fā)架構(gòu)比較兩層架構(gòu)的優(yōu)點(diǎn)是開發(fā)過程比較簡單,利用效勞器端的程序直接訪問數(shù)據(jù)庫,部署起來比較方便。缺點(diǎn)是程序代碼維護(hù)起來比較困難,程序執(zhí)行的效率比較低,用戶容量比較少。三層架構(gòu)根本解決了兩層架構(gòu)的缺點(diǎn),將顯示局部和邏輯流程控制分開,利用效勞器應(yīng)用程序?qū)崿F(xiàn)顯示局部,利用商務(wù)邏輯層實(shí)現(xiàn)程序的流程控制,分層使維護(hù)變的方便一些,而且執(zhí)行效率也會有所提高,但是相對部署起來就比較困難一些。根據(jù)實(shí)際的需要,會進(jìn)一步細(xì)化每一層,或者添加一些層,就形成了N層架構(gòu),和三層架構(gòu)一樣,組件化的設(shè)計(jì)使維護(hù)相對容易,但是部署相對困難。221.3JSP概述

JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP的1.0標(biāo)準(zhǔn)的最后版本是1999年9月推出的,12月又推出了1.1標(biāo)準(zhǔn)。此后JSP又經(jīng)歷了幾個(gè)版本,最新版本是2003年發(fā)布的JSP2.0。本書介紹的技術(shù)都是基于JSP2.0標(biāo)準(zhǔn)的。23什么是JSP

以下是helloWorld.jsp的源代碼<%@pagelanguage="java"contentType="text/html;charset=gbk"%><html><head> <title>HelloWorld!</title></head><bodybgcolor="#FFFFFF"><h3><% out.println("JSPHelloWorld!");%></h3>

</body></html>用“<%%>〞嵌入動態(tài)局部HTML語句24JSP是一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)??梢詫⒕W(wǎng)頁中的動態(tài)局部和靜態(tài)的HTML相別離。您可以使用平常得心應(yīng)手的工具并按照平常的方式來書寫HTML語句。然后,將動態(tài)局部用特殊的標(biāo)記嵌入即可,這些標(biāo)記常常以“<%〞開始并以“%>〞結(jié)束在Eclipse+tomcat環(huán)境下的運(yùn)行效果如以下圖所示:2526JSP文件的主要結(jié)構(gòu):<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.util.*"%>...<HTML><BODY>其他HTML語言<%

符合JAVA語法的JAVA語句%>

其他HTML語言

</BODY></HTML>27JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于效勞端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示別離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web效勞器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與JavaServlet一樣,是在效勞器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。28JSP的特點(diǎn):內(nèi)嵌在HTML中:以較為簡單直接的方式將程序代碼內(nèi)嵌在HTML中,降低了程序設(shè)計(jì)的難度。豐富的內(nèi)建對象:JSP的規(guī)格中包含相關(guān)的對象、卷標(biāo)與指令,提供了設(shè)計(jì)主從式網(wǎng)絡(luò)程序的功能,簡化了編寫servlet程序的過程。整合Java平臺:JSP程序中可運(yùn)用Java所提供的各類包,以這些包為根底,擴(kuò)充了JSP程序的本身的處理范圍與能力。29JSP技術(shù)原理從本質(zhì)上說,JSP是ServletAPI的一個(gè)擴(kuò)展。事實(shí)上,JSP在處理請求之前都要編譯成Servlet,所以它具有Servlet的所有優(yōu)勢,包括訪問JavaAPI。簡單的說,一個(gè)JSP頁面就是包含了能夠生成動態(tài)內(nèi)容的可執(zhí)行應(yīng)用代碼的HTML網(wǎng)頁。3031JSP運(yùn)行原理32當(dāng)效勞器第一次接收到對某個(gè)頁面的請求時(shí),JSP引擎就開始進(jìn)行上述的處理過程,將被請求的JSP文件編譯成Class文件。在后續(xù)對該頁面再次進(jìn)行請求時(shí),假設(shè)頁面沒有進(jìn)行任何改動,效勞器只需直接調(diào)用Class文件執(zhí)行即可。所以當(dāng)某個(gè)JSP頁面第一次被請求時(shí),會有一些延遲,而再次訪問時(shí)會感覺快了很多。如果被請求的頁面經(jīng)過修改,效勞器將會重新編譯這個(gè)文件,然后執(zhí)行。33Servlet概念Servlet概念Servlet是運(yùn)行在效勞器上的Java程序,是一個(gè)中間層,主要用來處理客戶端請求,并對客戶端請求進(jìn)行響應(yīng),還可以連接應(yīng)用效勞。Servlet是在效勞器端實(shí)現(xiàn)動態(tài)網(wǎng)頁的一種技術(shù)requestresponseServletEJBWeb容器Web瀏覽器34JSP生成的Servlet的生命周期加載Servlet

類調(diào)用

Init方法進(jìn)行初始化設(shè)置創(chuàng)建Servlet

實(shí)例調(diào)用service

方法處理客戶端請求調(diào)用destroy

方法銷毀Servlet實(shí)例并釋放占用資源垃圾回收ServletConfig35Servlet的生命周期:1.客戶端向效勞器發(fā)出請求,效勞器根據(jù)客戶端的請求,找到相應(yīng)的Servlet類2.判斷該Servlet是否在內(nèi)存中加載?假設(shè)未加載,創(chuàng)立該Servlet實(shí)例,調(diào)用init()方法完成初始化操作。假設(shè)已經(jīng)加載,轉(zhuǎn)33.調(diào)用service()方法對客戶端進(jìn)行相應(yīng)。等待下一次請求。在Servlet生命周期中,service()方法是其中的核心。每當(dāng)客戶端向Servlet發(fā)出一個(gè)請求時(shí),該方法就會被調(diào)用,對用戶的請求進(jìn)行處理,并返回響應(yīng)。4.結(jié)束,調(diào)用destroy()方法。當(dāng)效勞器端不再需要該Servlet的時(shí)候,效勞器調(diào)用destroy()方法卸載該Servlet,釋放Servlet運(yùn)行時(shí)占用的資源。36Servlet是一種獨(dú)立于平臺和協(xié)議的效勞器端的Java應(yīng)用程序,可以生成動態(tài)的Web頁面。它擔(dān)當(dāng)Web瀏覽器或其他HTTP客戶程序發(fā)出請求,與HTTP效勞器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層。Servlet是位于Web效勞器內(nèi)部的效勞器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web效勞器進(jìn)行加載,該Web效勞器必須包含支持Servlet的Java虛擬機(jī)。37隨著Internet和電子商務(wù)等應(yīng)用的開展,動態(tài)網(wǎng)頁技術(shù)誕生了。動態(tài)網(wǎng)頁和網(wǎng)頁上的動畫根本不是一回事,它有以下幾個(gè)特點(diǎn):交互性:即網(wǎng)頁會根據(jù)用戶的要求和選擇而動態(tài)改變和響應(yīng)。自動更新:即無需手動更新HTML文檔,自動生成新的頁面,這可大大節(jié)省工作量。因時(shí)因人而變:即當(dāng)不同的時(shí)間、不同的用戶訪問同一網(wǎng)址時(shí)會產(chǎn)生不同的頁面,這就是所謂的個(gè)性化技術(shù)動態(tài)網(wǎng)頁技術(shù):CGIASPPHPJSPCGI:CommonGatewayInterfaceASP:ActiveServerPagePHP:HypertextPreprocessorJSP:JavaServerPage 在早期,動態(tài)網(wǎng)頁只有采用CGI技術(shù),但由于編程困難、效率低下、修改復(fù)雜等缺陷,所以逐漸被ASP、PHP、JSP技術(shù)取代。JSP和其它動態(tài)網(wǎng)站開發(fā)技術(shù)38JavaServerPages;動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn);動態(tài)頁面與靜態(tài)頁面別離,跨平臺性;JSP(*.jsp)=HTML文件〔*.htm,*.html〕+Java程序片斷+JSP標(biāo)記;以Servlet技術(shù)為根底,提供強(qiáng)大的組件〔JavaBean〕支持功能;是一種開發(fā)Web應(yīng)用的理想構(gòu)架。JSP技術(shù)39JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。效勞器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)根底,而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且平安可靠,主要面向因特網(wǎng)的所有特點(diǎn)。40JSP技術(shù)JSP的優(yōu)勢程序可以跨臺平執(zhí)行。JSP可以讓開發(fā)人員在任意環(huán)境中進(jìn)行開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展應(yīng)用程序。多樣化和功能強(qiáng)大的開發(fā)工具支持。Java有許多非常優(yōu)秀的開發(fā)工具,而且有許多可以免費(fèi)得到,并且其中的許多已經(jīng)可以順利地運(yùn)行于多種平臺之下。強(qiáng)大的可伸縮性。從只有一個(gè)小的jar文件就可以運(yùn)行servlet/jsp到由多臺效勞器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,一臺效勞器到無數(shù)臺效勞器,Java顯示了巨大的生命力。41JSP技術(shù)JSP的弱勢例如,跨平臺的功能和極度的伸縮能力極大地增加了產(chǎn)品的復(fù)雜性。也就是說,它在擴(kuò)展時(shí)需要分成多少塊,那么java系統(tǒng)中就有多少種產(chǎn)品,所以用戶可能會看到j(luò)re,jdk,jsdk,jswdk等,而實(shí)際上它們是密不可分的。只要將它們有效地搭配在一起,就可以產(chǎn)生強(qiáng)大的效能。當(dāng)然,這同時(shí)也使應(yīng)用程序變得非常復(fù)雜。JSP運(yùn)行是用class常駐內(nèi)存來完成的,雖然提高了響應(yīng)速度,但要占用相當(dāng)內(nèi)存。Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比〞了。從另一方面,它還需要硬盤空間來儲存一系列的.java文件和.class文件,以及對應(yīng)的版本文件。另外,JSP程序調(diào)試也不是很不方便的。JSP頁面首先被轉(zhuǎn)化為一個(gè).java文件(Servlet),然后再被編譯。這樣,出錯信息實(shí)際上指向的是經(jīng)過轉(zhuǎn)化的那個(gè).java文件而不是jsp本身。42ASPASP〔全稱ActiveServerPages〕微軟系統(tǒng)的腳本語言,利用它可以執(zhí)行動態(tài)的Web效勞應(yīng)用程序。執(zhí)行的時(shí)候,是由IIS調(diào)用程序引擎,解釋執(zhí)行嵌在HTML中的ASP代碼,最終將結(jié)果和原來的HTML一同送往客戶端。JSP與ASP/ASP.NET的比較43ASP的語法非常類似VisualBASIC,學(xué)過VB的人可以很快上手,ASP也是這幾種腳本語言中最簡單易學(xué)的開發(fā)語言。因?yàn)锳SP腳本語言非常簡單,因此其代碼也簡單易懂,結(jié)合HTML代碼,可快速地完成網(wǎng)站的應(yīng)用程序。但是ASP也有很大的缺點(diǎn),由于是運(yùn)行在WINDOWS平臺上,不能跨平臺運(yùn)行,自身存在著許多缺陷,最重要的就是平安性。在大型工程開發(fā)和維護(hù)上非常困難。

但在國內(nèi)異常流行,因?yàn)閲鴥?nèi)大多使用的是盜版的Windows和盜版的SQLServer。44相同點(diǎn):ASP和JSP都是面向Web效勞器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。區(qū)別:ASP的編程語言是VBScript之類的腳本語言,JSP用的是Java;兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼;JSP實(shí)現(xiàn)處理邏輯和頁面表示別離,而ASP處理邏輯和頁面表示混雜在一起,對于很多大型應(yīng)用難以接受。JSP的平臺無關(guān)性。45ASP.NET

ASP最新的版本ASP.NET并不完全與ASP早期的版本后向兼容,因?yàn)樵撥浖M(jìn)行了完全重寫。ASP.NET的優(yōu)勢很明顯在于它簡潔的設(shè)計(jì)和實(shí)施。語言靈活,可以使用腳本語言〔如VBscript、Jscript、Perlscript和Python〕以及編譯語言〔如VB、C#、C、Cobol、Smalltalk和Lisp〕;并支持復(fù)雜的面向?qū)ο筇匦?。而且有良好的開發(fā)環(huán)境支持。

高效性,ASP.NET是編譯性的編程框架,運(yùn)行是效勞器上的編譯好的公共語言運(yùn)行時(shí)庫代碼,可以利用早期綁定,實(shí)施編譯來提高效率。

簡單性,.NET可視化編程,提供基于組件、事件驅(qū)動的可編程網(wǎng)絡(luò)表單,大大簡化了編程。一些很平常的任務(wù)如表單的提交客戶端的身份驗(yàn)證、分布系統(tǒng)和網(wǎng)站配置變得非常簡單。如ASP.net頁面構(gòu)架允許你建立你自己的用戶分界面。

看起來是非常有前途的,可能JSP可以一拼!46PHP一個(gè)嵌套的縮寫名稱,是英文超級文本預(yù)處理語言〔PHP:HypertextPreprocessor〕的縮寫。PHP是一種HTML內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在效勞器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用。PHP是一種能快速學(xué)習(xí)、跨平臺、有良好數(shù)據(jù)庫交互能力的開發(fā)語言。PHP與Apache可以以靜態(tài)編譯的方式結(jié)合起來,而與其他的擴(kuò)展庫也可以用這種方式結(jié)合。這種方式的最大好處就是充分利用了CPU和內(nèi)存,同時(shí)極為有效地利用了Apache高性能的吞吐能力。由于與數(shù)據(jù)庫的接口也使用了這樣的方式,所以使用的是本地化的調(diào)用,這也讓數(shù)據(jù)庫發(fā)揮了最正確效能。JSP與PHP的比較47另外,PHP具有良好的平安性,由于PHP本身的代碼開放,所以它的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論