版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java EE應(yīng)用開發(fā)應(yīng)用開發(fā)第一章第一章 概述概述Java EE應(yīng)用與開發(fā)環(huán)境應(yīng)用與開發(fā)環(huán)境應(yīng)用服務(wù)器應(yīng)用服務(wù)器n應(yīng)用服務(wù)器是應(yīng)用服務(wù)器是用于創(chuàng)建、部署、運(yùn)行和管理分布式企業(yè)級(jí)應(yīng)用用于創(chuàng)建、部署、運(yùn)行和管理分布式企業(yè)級(jí)應(yīng)用的軟件服務(wù)器。它管理用戶請求,為業(yè)務(wù)邏輯提供宿主環(huán)境、的軟件服務(wù)器。它管理用戶請求,為業(yè)務(wù)邏輯提供宿主環(huán)境、數(shù)據(jù)連接、事務(wù)處理、目錄服務(wù)等后端計(jì)算資源。數(shù)據(jù)連接、事務(wù)處理、目錄服務(wù)等后端計(jì)算資源。n包含包含web服務(wù)器功能的應(yīng)用服務(wù)器叫做服務(wù)器功能的應(yīng)用服務(wù)器叫做web應(yīng)用服務(wù)器。應(yīng)用服務(wù)器。nJava EE應(yīng)用服務(wù)器應(yīng)用服務(wù)器=Web服務(wù)器服務(wù)器+EJB容器。容器。nJa
2、va EE服務(wù)器提供了企業(yè)應(yīng)用中包含的所有網(wǎng)絡(luò)服務(wù)和商業(yè)服務(wù)器提供了企業(yè)應(yīng)用中包含的所有網(wǎng)絡(luò)服務(wù)和商業(yè)邏輯服務(wù)邏輯服務(wù)nJ2EE server(J2EE服務(wù)器)是J2EE產(chǎn)品的運(yùn)行時(shí)服務(wù)部分。一個(gè)J2EE服務(wù)器提供EJB容器(EJB Container)和Web容器(Web Container)。應(yīng)用服務(wù)器的作用應(yīng)用服務(wù)器的作用n安全服務(wù)安全服務(wù)(Security Services):為了獲得資源訪問權(quán),客戶必為了獲得資源訪問權(quán),客戶必須通過服務(wù)器的認(rèn)證,因此服務(wù)器必須要有驗(yàn)證用戶的安全設(shè)須通過服務(wù)器的認(rèn)證,因此服務(wù)器必須要有驗(yàn)證用戶的安全設(shè)施。安全驗(yàn)證的手段主要包括:施。安全驗(yàn)證的手段主要包
3、括:n增加用戶增加用戶/用戶組用戶組n增加對(duì)組件的訪問控制增加對(duì)組件的訪問控制n提供對(duì)安全服務(wù)的驗(yàn)證提供對(duì)安全服務(wù)的驗(yàn)證(如操作系統(tǒng),如操作系統(tǒng),LDAP等等)n通過用戶主機(jī)上數(shù)字認(rèn)證的使用來實(shí)現(xiàn)安全驗(yàn)證通過用戶主機(jī)上數(shù)字認(rèn)證的使用來實(shí)現(xiàn)安全驗(yàn)證n狀態(tài)和會(huì)話管理狀態(tài)和會(huì)話管理(State and Session Management):服務(wù)器服務(wù)器必須在同一用戶會(huì)話過程的多次請求之間維護(hù)有關(guān)的狀態(tài)數(shù)據(jù)必須在同一用戶會(huì)話過程的多次請求之間維護(hù)有關(guān)的狀態(tài)數(shù)據(jù)應(yīng)用服務(wù)器的作用應(yīng)用服務(wù)器的作用n負(fù)載平衡和失敗恢復(fù)負(fù)載平衡和失敗恢復(fù)(Load Balancing and Fail-Over):n所有的應(yīng)
4、用程序服務(wù)器都提供某種類型的負(fù)載平衡和失敗所有的應(yīng)用程序服務(wù)器都提供某種類型的負(fù)載平衡和失敗恢復(fù)機(jī)制?;謴?fù)機(jī)制。n負(fù)載平衡意味著一組服務(wù)器可以被集中成為一個(gè)服務(wù)器集負(fù)載平衡意味著一組服務(wù)器可以被集中成為一個(gè)服務(wù)器集群群(cluster/farm)。n發(fā)往服務(wù)器的請求被一個(gè)分配器(發(fā)往服務(wù)器的請求被一個(gè)分配器(dispatcher)處理以處理以便將請求發(fā)給最空閑的服務(wù)器,此后客戶將直接與那臺(tái)便將請求發(fā)給最空閑的服務(wù)器,此后客戶將直接與那臺(tái)服務(wù)器通信。負(fù)載平衡機(jī)制為系統(tǒng)提供了很好的擴(kuò)展性,服務(wù)器通信。負(fù)載平衡機(jī)制為系統(tǒng)提供了很好的擴(kuò)展性,隨著用戶負(fù)載的增加,更多的服務(wù)器主機(jī)可以被加入到隨著用戶負(fù)載
5、的增加,更多的服務(wù)器主機(jī)可以被加入到服務(wù)器集群中服務(wù)器集群中n失敗恢復(fù)機(jī)制提供容錯(cuò)性。失敗恢復(fù)機(jī)制提供容錯(cuò)性。n如果集群內(nèi)某臺(tái)主機(jī)失效停機(jī),新的請求將被重新路由如果集群內(nèi)某臺(tái)主機(jī)失效停機(jī),新的請求將被重新路由給其他某臺(tái)服務(wù)器,狀態(tài)和會(huì)話數(shù)據(jù)將被復(fù)制給集群內(nèi)給其他某臺(tái)服務(wù)器,狀態(tài)和會(huì)話數(shù)據(jù)將被復(fù)制給集群內(nèi)其他服務(wù)器或是被存儲(chǔ)在永久性媒介其他服務(wù)器或是被存儲(chǔ)在永久性媒介(如數(shù)據(jù)庫如數(shù)據(jù)庫)中,使中,使用戶數(shù)據(jù)對(duì)每個(gè)服務(wù)器總是保持可用用戶數(shù)據(jù)對(duì)每個(gè)服務(wù)器總是保持可用應(yīng)用服務(wù)器的作用應(yīng)用服務(wù)器的作用n業(yè)務(wù)和處理邏輯(業(yè)務(wù)和處理邏輯(Business and Processing Logic):n在應(yīng)用
6、程序服務(wù)器的核心部分集中容納了業(yè)務(wù)邏輯(即訪在應(yīng)用程序服務(wù)器的核心部分集中容納了業(yè)務(wù)邏輯(即訪問,生成數(shù)據(jù)和執(zhí)行處理的代碼)。一旦組件被創(chuàng)建,就問,生成數(shù)據(jù)和執(zhí)行處理的代碼)。一旦組件被創(chuàng)建,就可以被載入到應(yīng)用程序服務(wù)器中,分配適當(dāng)?shù)陌踩O(shè)定,可以被載入到應(yīng)用程序服務(wù)器中,分配適當(dāng)?shù)陌踩O(shè)定,然后就可以運(yùn)行然后就可以運(yùn)行n胖客戶訪問服務(wù)器組件(胖客戶訪問服務(wù)器組件(Rich-Client Access to Server Components):n胖客戶可以直接訪問服務(wù)器端組件。例如胖客戶可以直接訪問服務(wù)器端組件。例如Java applet可以可以請求服務(wù)器實(shí)例化一個(gè)組件,然后就可以調(diào)用其方法
7、請求服務(wù)器實(shí)例化一個(gè)組件,然后就可以調(diào)用其方法應(yīng)用服務(wù)器的作用應(yīng)用服務(wù)器的作用nHTML生成生成:n純的瘦客戶程序不能直接與服務(wù)器端組件通信,這意味著服務(wù)器端需純的瘦客戶程序不能直接與服務(wù)器端組件通信,這意味著服務(wù)器端需要另一個(gè)組件來生成和處理要另一個(gè)組件來生成和處理HTML。應(yīng)用服務(wù)器必須解碼(應(yīng)用服務(wù)器必須解碼(decode)一個(gè)一個(gè)URL,來決定執(zhí)行哪一個(gè)組件。該組件訪問數(shù)據(jù)庫或其他組件,來決定執(zhí)行哪一個(gè)組件。該組件訪問數(shù)據(jù)庫或其他組件,獲得結(jié)果集,將結(jié)果集包裝為獲得結(jié)果集,將結(jié)果集包裝為HTML(或或XML),),再返回給瀏覽器。再返回給瀏覽器。服務(wù)器從服務(wù)器從HTTP請求中獲取數(shù)據(jù),
8、使其為服務(wù)器端被調(diào)用的組件使用請求中獲取數(shù)據(jù),使其為服務(wù)器端被調(diào)用的組件使用n數(shù)據(jù)訪問數(shù)據(jù)訪問:n應(yīng)用服務(wù)器提供應(yīng)用服務(wù)器提供JDBC機(jī)制,用于增加和管理與關(guān)系型數(shù)據(jù)庫(如機(jī)制,用于增加和管理與關(guān)系型數(shù)據(jù)庫(如Oracle,DB2)的連接的連接n事務(wù)管理(事務(wù)管理(Transaction Management):n在應(yīng)用服務(wù)器環(huán)境中,事務(wù)是由服務(wù)器唯一管理的。開發(fā)人員編寫發(fā)在應(yīng)用服務(wù)器環(huán)境中,事務(wù)是由服務(wù)器唯一管理的。開發(fā)人員編寫發(fā)布布SQL請求的代碼和通知服務(wù)器該邏輯是否成功的代碼。如果該調(diào)用請求的代碼和通知服務(wù)器該邏輯是否成功的代碼。如果該調(diào)用序列中任何組件執(zhí)行失敗序列中任何組件執(zhí)行失敗,
9、服務(wù)器將執(zhí)行回滾服務(wù)器將執(zhí)行回滾;否則服務(wù)器執(zhí)行確認(rèn)。服否則服務(wù)器執(zhí)行確認(rèn)。服務(wù)器提供不同級(jí)別的事務(wù)控制務(wù)器提供不同級(jí)別的事務(wù)控制應(yīng)用服務(wù)器的作用應(yīng)用服務(wù)器的作用n連接池(連接池(Connection Pooling):n應(yīng)用服務(wù)器不為每一個(gè)用戶保持對(duì)數(shù)據(jù)源的單獨(dú)連接。實(shí)應(yīng)用服務(wù)器不為每一個(gè)用戶保持對(duì)數(shù)據(jù)源的單獨(dú)連接。實(shí)際上,它維護(hù)了一個(gè)連接池,供所有服務(wù)器端組件共享。際上,它維護(hù)了一個(gè)連接池,供所有服務(wù)器端組件共享。如果用戶需要更新數(shù)據(jù),相應(yīng)組件就會(huì)請求服務(wù)器從連接如果用戶需要更新數(shù)據(jù),相應(yīng)組件就會(huì)請求服務(wù)器從連接池中分配一個(gè)可用連接,當(dāng)所有的更新被完成后,組件負(fù)池中分配一個(gè)可用連接,當(dāng)所有
10、的更新被完成后,組件負(fù)責(zé)通知服務(wù)器是否所有操作都成功。當(dāng)一個(gè)事務(wù)結(jié)束后,責(zé)通知服務(wù)器是否所有操作都成功。當(dāng)一個(gè)事務(wù)結(jié)束后,連接被立刻釋放連接被立刻釋放n線程池和實(shí)例池(線程池和實(shí)例池(Thread Pooling and Instance Pooling):n高端的應(yīng)用程序服務(wù)器還提供線程池和實(shí)例池。因?yàn)閷?duì)于高端的應(yīng)用程序服務(wù)器還提供線程池和實(shí)例池。因?yàn)閷?duì)于線程或者組件實(shí)例而言,開銷最大的操作來自創(chuàng)建和實(shí)例線程或者組件實(shí)例而言,開銷最大的操作來自創(chuàng)建和實(shí)例化過程。線程池和實(shí)例池可以提供更好的性能化過程。線程池和實(shí)例池可以提供更好的性能Java EE 平臺(tái)產(chǎn)品平臺(tái)產(chǎn)品n目前市場上已經(jīng)有許多成熟的
11、實(shí)現(xiàn)目前市場上已經(jīng)有許多成熟的實(shí)現(xiàn)Java EE規(guī)范的產(chǎn)品,其中規(guī)范的產(chǎn)品,其中有的是商業(yè)公司的產(chǎn)品,而有的是開放源代碼的免費(fèi)產(chǎn)品。有的是商業(yè)公司的產(chǎn)品,而有的是開放源代碼的免費(fèi)產(chǎn)品。Java EE 商業(yè)平臺(tái)商業(yè)平臺(tái)n主要有主要有BEA WebLogic、IBM WebSphere、Oracle Application Server、Borland Enterprise Server、SUN iPlanet Application Server等。這些產(chǎn)品一般都包括一組完整的產(chǎn)品線,用來支持等。這些產(chǎn)品一般都包括一組完整的產(chǎn)品線,用來支持Java EE應(yīng)應(yīng)用從開發(fā)、組裝、發(fā)布及管理的整個(gè)過程。
12、用從開發(fā)、組裝、發(fā)布及管理的整個(gè)過程。 n(1)應(yīng)用服務(wù)器)應(yīng)用服務(wù)器n商業(yè)公司產(chǎn)品中的應(yīng)用服務(wù)器一般都完全支持商業(yè)公司產(chǎn)品中的應(yīng)用服務(wù)器一般都完全支持Java EE規(guī)范的應(yīng)用服務(wù)規(guī)范的應(yīng)用服務(wù)器,除包括器,除包括Servlet容器、容器、EJB容器外,還提供容器外,還提供WEB Services、CORBA等服務(wù)。等服務(wù)。n(2)應(yīng)用集成化開發(fā)環(huán)境)應(yīng)用集成化開發(fā)環(huán)境n商業(yè)公司的產(chǎn)品提供支持開發(fā)商業(yè)公司的產(chǎn)品提供支持開發(fā)JavaEE應(yīng)用的集成開發(fā)環(huán)境,可以大大應(yīng)用的集成開發(fā)環(huán)境,可以大大提高應(yīng)用開發(fā)、調(diào)試的效率。提高應(yīng)用開發(fā)、調(diào)試的效率。n(3)Java EE規(guī)范之外的工具規(guī)范之外的工具n除
13、了在除了在JavaEE規(guī)范中規(guī)定的部分外,商業(yè)公司的產(chǎn)品一般還包括提供規(guī)范中規(guī)定的部分外,商業(yè)公司的產(chǎn)品一般還包括提供服務(wù)器負(fù)載均衡、安全控制、開發(fā)企業(yè)門戶等功能在內(nèi)的工具。服務(wù)器負(fù)載均衡、安全控制、開發(fā)企業(yè)門戶等功能在內(nèi)的工具。常見的常見的Web服務(wù)器服務(wù)器n(1)Apache Tomcat n Apache Tomcat 是一個(gè)是一個(gè)Servlet容器,它支持容器,它支持Servlet/JSP規(guī)范。有規(guī)范。有些商業(yè)公司的些商業(yè)公司的JavaEE平臺(tái)產(chǎn)品中使用它作為自己應(yīng)用服務(wù)器的平臺(tái)產(chǎn)品中使用它作為自己應(yīng)用服務(wù)器的Servlet容器,或者在容器,或者在JavaEE應(yīng)用集成開發(fā)環(huán)境中作為調(diào)試
14、應(yīng)用程序應(yīng)用集成開發(fā)環(huán)境中作為調(diào)試應(yīng)用程序的服務(wù)器。的服務(wù)器。n注意:注意:Tomcat目前只是目前只是Web容器,它不能運(yùn)行容器,它不能運(yùn)行EJB應(yīng)用。應(yīng)用。n(2)JettynJetty是一個(gè)開源、基于標(biāo)準(zhǔn)、全功能實(shí)現(xiàn)的是一個(gè)開源、基于標(biāo)準(zhǔn)、全功能實(shí)現(xiàn)的JAVA服務(wù)器。它在服務(wù)器。它在Apache2.0協(xié)議下發(fā)布,因此可以自由的用于商業(yè)用途和發(fā)行。首創(chuàng)協(xié)議下發(fā)布,因此可以自由的用于商業(yè)用途和發(fā)行。首創(chuàng)于于1995年,年,Jetty受益于一個(gè)廣大的用戶社區(qū),有一個(gè)穩(wěn)定的核心開受益于一個(gè)廣大的用戶社區(qū),有一個(gè)穩(wěn)定的核心開發(fā)者來持續(xù)專著的開發(fā)。發(fā)者來持續(xù)專著的開發(fā)。 nJetty是一個(gè)是一個(gè)10
15、0%由由Java實(shí)現(xiàn)的、開源的實(shí)現(xiàn)的、開源的HTTP服務(wù)器和服務(wù)器和javax.servlet容器,它不僅僅作為一個(gè)獨(dú)立服務(wù)軟件容器,它不僅僅作為一個(gè)獨(dú)立服務(wù)軟件(如如Tomcat)被被使用,而且其優(yōu)良的組件設(shè)計(jì)、高內(nèi)聚低耦合、高擴(kuò)展性等特性使得使用,而且其優(yōu)良的組件設(shè)計(jì)、高內(nèi)聚低耦合、高擴(kuò)展性等特性使得Jetty非常易于作為嵌入式工具使用,在這一領(lǐng)域已經(jīng)成功應(yīng)用于多個(gè)非常易于作為嵌入式工具使用,在這一領(lǐng)域已經(jīng)成功應(yīng)用于多個(gè)產(chǎn)品當(dāng)中。產(chǎn)品當(dāng)中。n(3)Resin:nResin提供了最快的提供了最快的jsp/servlets運(yùn)行平臺(tái),支持運(yùn)行平臺(tái),支持EJB。n個(gè)人學(xué)習(xí)免費(fèi),但商業(yè)需要收費(fèi)。個(gè)人
16、學(xué)習(xí)免費(fèi),但商業(yè)需要收費(fèi)。支持支持EJB3.0的商業(yè)應(yīng)用服務(wù)器的商業(yè)應(yīng)用服務(wù)器nWeblogic(10以上版本)以上版本)n是商業(yè)市場占有率第一的商業(yè)是商業(yè)市場占有率第一的商業(yè)JavaEE應(yīng)用服務(wù)器,它具有應(yīng)用服務(wù)器,它具有出色的穩(wěn)定性,并提供了人性化的管理界面,還有企業(yè)需出色的穩(wěn)定性,并提供了人性化的管理界面,還有企業(yè)需要使用到的眾多功能。但在要使用到的眾多功能。但在ejb3.0領(lǐng)域,一般認(rèn)為它做的領(lǐng)域,一般認(rèn)為它做的比比jboss差些,差些,bug比較多。比較多。nSun Application Server(9.0以上版本)以上版本)n商業(yè)商業(yè)JavaEE應(yīng)用服務(wù)器,如果你打算選用商業(yè)應(yīng)
17、用服務(wù)器應(yīng)用服務(wù)器,如果你打算選用商業(yè)應(yīng)用服務(wù)器運(yùn)行運(yùn)行ejb3,這個(gè)是不錯(cuò)的選擇。這個(gè)是不錯(cuò)的選擇。nOracle Application Server(10g以上版本)以上版本)n商業(yè)商業(yè)JavaEE應(yīng)用服務(wù)器,如果你的數(shù)據(jù)庫是應(yīng)用服務(wù)器,如果你的數(shù)據(jù)庫是oracle,要想要想兼容性更好,這個(gè)是不錯(cuò)的選擇。兼容性更好,這個(gè)是不錯(cuò)的選擇。napusic應(yīng)用服務(wù)器應(yīng)用服務(wù)器n這是國內(nèi)的商業(yè)這是國內(nèi)的商業(yè)JavaEE應(yīng)用服務(wù)器,主要在政府中占有一應(yīng)用服務(wù)器,主要在政府中占有一定的市場份額。但面向開發(fā)人員提供的文檔實(shí)在太少。定的市場份額。但面向開發(fā)人員提供的文檔實(shí)在太少。開源產(chǎn)品開源產(chǎn)品n開放源代
18、碼的產(chǎn)品中有如開放源代碼的產(chǎn)品中有如Apache Tomcat及及JBOSS等產(chǎn)品。等產(chǎn)品。這些產(chǎn)品不僅是免費(fèi)的,而且能夠提供很好的功能和性能,因這些產(chǎn)品不僅是免費(fèi)的,而且能夠提供很好的功能和性能,因此也有很廣泛的應(yīng)用。此也有很廣泛的應(yīng)用。n(1)Apache Tomcat n(2)Jetty開源產(chǎn)品開源產(chǎn)品n(3)JBOSS(4.2.x以上版本支持以上版本支持EJB 3.0)n是一個(gè)成熟的開源的準(zhǔn)是一個(gè)成熟的開源的準(zhǔn)JavaEE應(yīng)用服務(wù)器,在開源應(yīng)用服務(wù)器,在開源JavaEE應(yīng)用服務(wù)器中所占市場份額第一。如果你打算選用應(yīng)用服務(wù)器中所占市場份額第一。如果你打算選用開源的開源的JavaEE應(yīng)用服
19、務(wù)器,那么應(yīng)用服務(wù)器,那么jboss是最值得選擇的。是最值得選擇的。nJBOSS 是一個(gè)是一個(gè)EJB容器,但是因?yàn)樗腔谌萜鳎且驗(yàn)樗腔贘MX微內(nèi)核結(jié)微內(nèi)核結(jié)構(gòu)開發(fā)的,所以很容易與其它產(chǎn)品集成在一起使用,如可構(gòu)開發(fā)的,所以很容易與其它產(chǎn)品集成在一起使用,如可以很方便地將以很方便地將JBOSS和和Tomcat集成在一起使用。另外,集成在一起使用。另外,JBOSS還有配置簡單、應(yīng)用熱發(fā)布(不用停止服務(wù)器及應(yīng)還有配置簡單、應(yīng)用熱發(fā)布(不用停止服務(wù)器及應(yīng)用的情況下發(fā)布或升級(jí)應(yīng)用)等優(yōu)點(diǎn)。用的情況下發(fā)布或升級(jí)應(yīng)用)等優(yōu)點(diǎn)。n(4)Glassfishn是一個(gè)開源的是一個(gè)開源的JavaEE應(yīng)用服務(wù)器
20、,對(duì)應(yīng)用服務(wù)器,對(duì)JavaEE規(guī)范的支持規(guī)范的支持非常好,其運(yùn)行性能比較高。因?yàn)榘l(fā)展時(shí)間相對(duì)較短,市非常好,其運(yùn)行性能比較高。因?yàn)榘l(fā)展時(shí)間相對(duì)較短,市場占有率比較低。另外,它能否提供穩(wěn)定的運(yùn)行性能,還場占有率比較低。另外,它能否提供穩(wěn)定的運(yùn)行性能,還有待時(shí)間的考驗(yàn)。有待時(shí)間的考驗(yàn)。實(shí)驗(yàn)開發(fā)環(huán)境實(shí)驗(yàn)開發(fā)環(huán)境實(shí)驗(yàn)開發(fā)環(huán)境實(shí)驗(yàn)開發(fā)環(huán)境nJDK 1.6njdk-6u22-windows-i586-p.exe nTomcat7.0.6nApache-ant-1.8.1nMySql5.1或更高版本或更高版本n安裝時(shí)選擇安裝時(shí)選擇GBK編碼方式編碼方式n同時(shí)下載同時(shí)下載connector/jnmysql-c
21、onnector-java-5.1.17-bin.jarnEclipse 3.6 for Java EE Developerneclipse-jee-helios-SR1-win32.zipnCVSnWinCvs2_0_2-4.zip(包含服務(wù)器端包含服務(wù)器端cvsnt和客戶端和客戶端wincvs)n可選安裝可選安裝: Python2.7.2或或TCLJDK1.6的安裝與配置的安裝與配置n(1)安裝安裝n(2)設(shè)置路徑設(shè)置路徑n添加添加JAVA_HOME環(huán)境變量,其中環(huán)境變量,其中JAVA_HOME代表代表JDK(不是不是JRE)的安裝路徑,如:的安裝路徑,如:nC:Program Files
22、Javajdk1.6.0_27n安裝完成后,手工添加安裝完成后,手工添加CLASSPATH環(huán)境變量,新建該環(huán)境變量的值環(huán)境變量,新建該環(huán)境變量的值:n.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jarn或命令行添加:或命令行添加:nSet CLASSPATH=%CLASSPATH%;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jarn如果為了可以編譯和運(yùn)行如果為了可以編譯和運(yùn)行Java程序,還應(yīng)該在程序,還應(yīng)該在PATH環(huán)境變量中增加環(huán)境變量中增加%JAVA_HOME%/bin。nSet PATH=
23、%PATH%;%JAVA_HOME%/binJDK1.6的安裝與配置的安裝與配置n類似操作界面:類似操作界面:Tomcat安裝與配置安裝與配置nTomcat安裝版本安裝版本n使用使用Tomcat 7.0.x以上,才支持以上,才支持Servlet 3.0規(guī)范,相配套的規(guī)范,相配套的JDK建議建議使用使用JDK1.6以上。以上。nJDK須先安裝,并配置好須先安裝,并配置好JAVA_HOME。nTomcat安裝:安裝:n從從apache-tomcat-7.0.6-windows-x86.zip解壓到一個(gè)目錄下即可解壓到一個(gè)目錄下即可nTomcat文件結(jié)構(gòu)文件結(jié)構(gòu)nbin,conf,lib,logs,
24、temp,webapps,work目錄目錄,LICENSE等文件等文件n測試測試tomcat是否正確安裝:是否正確安裝:n執(zhí)行執(zhí)行/bin/startup.bat,啟動(dòng)服務(wù)器啟動(dòng)服務(wù)器n建議可對(duì)建議可對(duì)startup.bat,shutdown.bat等文件建快捷方式到桌面,等文件建快捷方式到桌面,方便使用方便使用n測試測試:nhttp:/localhost:8080Tomcat安裝與配置安裝與配置n配置配置Web服務(wù)端口服務(wù)端口n在在conf/server.xml下修改:下修改:n n8080改為其他端口,如:改為其他端口,如:8888(1024以上以避免端口沖突)以上以避免端口沖突)nTip
25、s:可使用可使用EditPlus或或UltraEdit編輯器,方便操作編輯器,方便操作n啟動(dòng)多個(gè)啟動(dòng)多個(gè)web服務(wù)器運(yùn)行實(shí)例(多個(gè)服務(wù)器運(yùn)行實(shí)例(多個(gè)Web服務(wù))服務(wù))n復(fù)制復(fù)制元素,并修改其元素內(nèi)部配置元素,并修改其元素內(nèi)部配置n須運(yùn)行于不同端口須運(yùn)行于不同端口Tomcat安裝與配置安裝與配置n配置內(nèi)容列表特性配置內(nèi)容列表特性n出于安全,出于安全,Web服務(wù)器默認(rèn)不開放文件內(nèi)容列表特性服務(wù)器默認(rèn)不開放文件內(nèi)容列表特性n開發(fā)期間,為便于調(diào)試,可打開文件內(nèi)容列表特性開發(fā)期間,為便于調(diào)試,可打開文件內(nèi)容列表特性n修改文件修改文件conf/web.xml:nn listingsn falsennfa
26、lsetrueTomcat安裝與配置安裝與配置n安全(用戶授權(quán))配置安全(用戶授權(quán))配置n為了保證為了保證WEB應(yīng)用的安全性,通常需要對(duì)客戶端進(jìn)行認(rèn)證,應(yīng)用的安全性,通常需要對(duì)客戶端進(jìn)行認(rèn)證,常用的常用的Web安全驗(yàn)證方式有:安全驗(yàn)證方式有: BASIC(基本認(rèn)證基本認(rèn)證), FORM(基于表單的認(rèn)證基于表單的認(rèn)證), DIGEST(消息摘要認(rèn)證),消息摘要認(rèn)證), CLIENT-CERT(數(shù)字證書認(rèn)證)等幾種方法。數(shù)字證書認(rèn)證)等幾種方法。 n其中其中BASIC認(rèn)證是一種基于角色用戶的簡單的實(shí)現(xiàn)身份認(rèn)證是一種基于角色用戶的簡單的實(shí)現(xiàn)身份驗(yàn)證的方式,當(dāng)用戶訪問受限的資源時(shí),使用基本認(rèn)證驗(yàn)證的方
27、式,當(dāng)用戶訪問受限的資源時(shí),使用基本認(rèn)證的服務(wù)器會(huì)要求瀏覽器彈出一個(gè)對(duì)話框,并且要求用戶的服務(wù)器會(huì)要求瀏覽器彈出一個(gè)對(duì)話框,并且要求用戶輸入用戶名和密碼。只有用戶輸入了正確的認(rèn)證信息,輸入用戶名和密碼。只有用戶輸入了正確的認(rèn)證信息,用戶才能訪問到這些資源,否則在嘗試三次失敗之后,用戶才能訪問到這些資源,否則在嘗試三次失敗之后,將顯示一個(gè)認(rèn)證錯(cuò)誤頁面。將顯示一個(gè)認(rèn)證錯(cuò)誤頁面。 這種認(rèn)證方式的缺點(diǎn)在于用這種認(rèn)證方式的缺點(diǎn)在于用戶名和密碼使用戶名和密碼使用Base64編碼進(jìn)行傳輸,并不是非常安編碼進(jìn)行傳輸,并不是非常安全。全。 Tomcat安裝與配置安裝與配置n(1)Tomcat的三個(gè)控制臺(tái):的三個(gè)
28、控制臺(tái):nServer status,Manager App,Host Managern(2)使用)使用gui界面管理界面管理tomcat時(shí)需要用戶名和密碼才可登錄時(shí)需要用戶名和密碼才可登錄n通過通過JAAS控制用戶認(rèn)證與授權(quán)(這里采用控制用戶認(rèn)證與授權(quán)(這里采用BASIC)n觀察觀察Manager應(yīng)用的安全配置:應(yīng)用的安全配置:webapps/manager/WEB-INF/web.xml(P11)n針對(duì)不同的資源,指定了不同的用戶角色針對(duì)不同的資源,指定了不同的用戶角色n要使用要使用server status,需要訪問需要訪問/text/*、/status/*資源,因此資源,因此需要分配需
29、要分配manager-gui角色角色n(3)為)為manager-gui角色指定用戶:角色指定用戶:n修改修改conf/tomcat-users.xmln增加關(guān)聯(lián)增加關(guān)聯(lián)manager-gui角色的用戶名與密碼角色的用戶名與密碼nnnTomcat安裝與配置安裝與配置n部署部署Web應(yīng)用應(yīng)用n部署方式:部署方式:n(1)tomcat自動(dòng)部署自動(dòng)部署n拷貝拷貝Web應(yīng)用到應(yīng)用到webapps目錄下,實(shí)現(xiàn)自動(dòng)部署目錄下,實(shí)現(xiàn)自動(dòng)部署n(2)利用控制臺(tái)手工部署利用控制臺(tái)手工部署n進(jìn)入進(jìn)入server status控制臺(tái),如圖控制臺(tái),如圖p1.4,1.5n(1)Context Path(option):
30、 中輸入中輸入/webDemon(2)XML Configration file URL 中要指定一個(gè)中要指定一個(gè).xml文件,比如我文件,比如我們在們在F:/下建立一個(gè)下建立一個(gè)webDemo.xml文件,內(nèi)容如下:文件,內(nèi)容如下: 。docBase 不用寫了,因不用寫了,因?yàn)橐谙乱粋€(gè)文本框中填入?;蛘吒唵吸c(diǎn),這個(gè)文本框什么都不為要在下一個(gè)文本框中填入?;蛘吒唵吸c(diǎn),這個(gè)文本框什么都不填。填。 n(3-1)WAR or Directory URL: 中鍵入中鍵入F:/webDemo或者或者F:/webDemo.war都可以,然后點(diǎn)擊都可以,然后點(diǎn)擊Deploy按鈕,看看上面是不按鈕,看看
31、上面是不是已經(jīng)看到了你是已經(jīng)看到了你web應(yīng)用程序,名字就是你應(yīng)用程序,名字就是你Context Path(option):中的名字。中的名字。 n(3-2)如果你部署如果你部署.war文件還有更加簡單的方式,下面還有個(gè)文件還有更加簡單的方式,下面還有個(gè)Select WAR file upload 點(diǎn)擊瀏覽選擇點(diǎn)擊瀏覽選擇.war文件,然后點(diǎn)擊文件,然后點(diǎn)擊Deploy也可以。也可以。 Tomcat安裝與配置安裝與配置n(3)修改)修改server.xml文件部署文件部署Web應(yīng)用應(yīng)用nServer.xml是全局文件,不建議修改(盡量避免修改)是全局文件,不建議修改(盡量避免修改)n這種方式可
32、以不必將這種方式可以不必將webDemo目錄拷貝到目錄拷貝到webapps下,直接在下,直接在F:/部署。方法如下,更改部署。方法如下,更改$CATALINA_HOME/conf/server.xml文件,文件,找到以下內(nèi)容找到以下內(nèi)容(Xml代碼代碼):n npath:是訪問時(shí)的根地址,表示訪問的路徑;如上述例子中,訪問:是訪問時(shí)的根地址,表示訪問的路徑;如上述例子中,訪問該應(yīng)用程序地址如下:該應(yīng)用程序地址如下:http:/localhost:8080/webDemo/ nreloadable:表示可以在運(yùn)行時(shí)在:表示可以在運(yùn)行時(shí)在classes與與lib文件夾下自動(dòng)加載文件夾下自動(dòng)加載類包
33、。其中類包。其中reloadable=“false”表示當(dāng)應(yīng)用程序表示當(dāng)應(yīng)用程序 中的內(nèi)容發(fā)生更中的內(nèi)容發(fā)生更改之后服務(wù)器不會(huì)自動(dòng)加載,這個(gè)屬性在開發(fā)階段通常都設(shè)為改之后服務(wù)器不會(huì)自動(dòng)加載,這個(gè)屬性在開發(fā)階段通常都設(shè)為true,方便開發(fā),在發(fā)布階段應(yīng)該設(shè)置為方便開發(fā),在發(fā)布階段應(yīng)該設(shè)置為false,提高應(yīng)用程序的訪問速,提高應(yīng)用程序的訪問速度。度。 ndocbase:表示應(yīng)用程序的路徑,注意斜杠的方向:表示應(yīng)用程序的路徑,注意斜杠的方向“/”。 docBase可以使用絕對(duì)路徑,也可以使用相對(duì)路徑,相對(duì)路徑相對(duì)可以使用絕對(duì)路徑,也可以使用相對(duì)路徑,相對(duì)路徑相對(duì)于于webapps。 nworkdi
34、r:表示緩存文件的放置地址:表示緩存文件的放置地址 Tomcat安裝與配置安裝與配置n(4)自定義)自定義Web部署文件部署文件(推薦使用,不需要重啟推薦使用,不需要重啟Tomcat ) n在在conf/Catalina/localhost下創(chuàng)建部署配置文件,如下創(chuàng)建部署配置文件,如dd.xml,可自動(dòng)部署可自動(dòng)部署nnn注意此文件名注意此文件名dd將作為將作為Context中的中的path屬性值屬性值,不管不管文件里的文件里的path屬性值如何設(shè)置也是無效的屬性值如何設(shè)置也是無效的 n訪問:訪問:http:/localhost:8080/ddTomcat安裝與配置安裝與配置n(5) Web應(yīng)
35、用以應(yīng)用以.war文件的形式部署文件的形式部署 n可以將可以將JSP程序打包成一個(gè)程序打包成一個(gè)war包放在目錄下,服務(wù)器會(huì)自動(dòng)解開這個(gè)包放在目錄下,服務(wù)器會(huì)自動(dòng)解開這個(gè)war包,并在這個(gè)目錄下生成一個(gè)同名的文件夾。一個(gè)包,并在這個(gè)目錄下生成一個(gè)同名的文件夾。一個(gè)war包就是有特包就是有特定格式的定格式的jar包,它是將一個(gè)包,它是將一個(gè)Web程序的所有內(nèi)容進(jìn)行壓縮得到。程序的所有內(nèi)容進(jìn)行壓縮得到。 n打包打包warn進(jìn)入項(xiàng)目文件夾進(jìn)入項(xiàng)目文件夾F:/demoWeb后,鍵入如下命令:后,鍵入如下命令:jar cvf demoWeb.war */ . (注意最后有個(gè)(注意最后有個(gè)“. ”)。這樣
36、在)。這樣在F:/demoWeb下應(yīng)該有下應(yīng)該有demoWeb.war文件。文件。 (也可以打包到指(也可以打包到指定的地方,命令如下:定的地方,命令如下:jar cvf d:/demoWeb.war */ . ) n部署部署demoWeb.war文件非常簡單,將剛才文件非常簡單,將剛才xml文件中的文件中的docBase =“F:/demoWeb” 更改為更改為docBase =“F:/demoWeb.war” 或者或者直接將其拷貝到直接將其拷貝到webapps目錄下就可以。然后重新啟動(dòng)服務(wù)器就目錄下就可以。然后重新啟動(dòng)服務(wù)器就可以將可以將demoWeb.war部署為一個(gè)部署為一個(gè)Web應(yīng)用
37、程序了。應(yīng)用程序了。 n服務(wù)器將服務(wù)器將demoWeb.war文件解開,并且在文件解開,并且在webapps下面又生成下面又生成了一個(gè)了一個(gè)demoWeb文件夾,然后把文件夾,然后把demoWeb.war的內(nèi)容拷貝到里的內(nèi)容拷貝到里面去了。我們可以通過以下方式取消自動(dòng)解壓縮,將面去了。我們可以通過以下方式取消自動(dòng)解壓縮,將xml配置文件配置文件中的中的unpackWAR 屬性設(shè)置為屬性設(shè)置為false 即可。即可。Tomcat安裝與配置安裝與配置n配置配置tomcat數(shù)據(jù)源數(shù)據(jù)源n從從tomcat5.5開始,開始,tomcat內(nèi)置了內(nèi)置了DBCP的數(shù)據(jù)源實(shí)現(xiàn)的數(shù)據(jù)源實(shí)現(xiàn)nDBCP是一個(gè)依賴是一
38、個(gè)依賴Jakarta commons-pool對(duì)象池機(jī)制對(duì)象池機(jī)制的數(shù)據(jù)庫連接池的數(shù)據(jù)庫連接池.DBCP可以直接的在應(yīng)用程序用使用。可以直接的在應(yīng)用程序用使用。n 提供數(shù)據(jù)源的方式:提供數(shù)據(jù)源的方式:n全局?jǐn)?shù)據(jù)源(所有全局?jǐn)?shù)據(jù)源(所有Web應(yīng)用都可以訪問)應(yīng)用都可以訪問)n局部數(shù)據(jù)源(單個(gè)局部數(shù)據(jù)源(單個(gè)Web應(yīng)用可訪問)應(yīng)用可訪問)n(1)下載)下載Mysql的的JDBC驅(qū)動(dòng):驅(qū)動(dòng):nmysql-connector-java-5.1.17-bin.jarn拷貝到拷貝到tomcat的的lib目錄下目錄下n(2)修改)修改conf/Catalina/localhost/dd.xml,增加增加定義
39、定義Tomcat安裝與配置安裝與配置nDd.xmlnnTomcat安裝與配置安裝與配置nnTomcat安裝與配置安裝與配置n測試數(shù)據(jù)源測試數(shù)據(jù)源tomcatTest.jspn%n/初始化初始化Context,使用使用InitialContext初始化初始化ContextnContext ctx=new InitialContext(); n/*通過通過JNDI查找數(shù)據(jù)源,該查找數(shù)據(jù)源,該JNDI為為java:comp/env/jdbc/dstest,分成兩分成兩個(gè)部分個(gè)部分java:comp/env是是Tomcat固定的,固定的,Tomcat提供的提供的JNDI綁定都必須綁定都必須加該前綴加該
40、前綴jdbc/dstest是定義數(shù)據(jù)源時(shí)的數(shù)據(jù)源名是定義數(shù)據(jù)源時(shí)的數(shù)據(jù)源名*/nDataSource ds=(DataSource)ctx.lookup(java:comp/env/jdbc/dstest);n/獲取數(shù)據(jù)庫連接獲取數(shù)據(jù)庫連接nConnection conn=ds.getConnection();n/獲取獲取StatementnStatement stmt=conn.createStatement();n/執(zhí)行查詢,返回執(zhí)行查詢,返回ResulteSet對(duì)象對(duì)象nResultSet rs=stmt.executeQuery(select * from news_inf);nwhi
41、le(rs.next()nnout.println(rs.getString(1) n+ t + rs.getString(2) + );n%MySQL安裝與配置安裝與配置nMySQL安裝與配置安裝與配置nMySql5.1或更高版本或更高版本n選擇選擇custom方式安裝方式安裝n選擇選擇detailed方式配置,配置時(shí)選擇方式配置,配置時(shí)選擇GBK編碼方式編碼方式n也可以修改:也可以修改:/my.ini:ndefault-character-set=gbkn用戶名:用戶名:root,密碼:密碼:123456MySQL數(shù)據(jù)庫文件介紹數(shù)據(jù)庫文件介紹 nMySQL的每個(gè)數(shù)據(jù)庫都對(duì)應(yīng)存放在一個(gè)與數(shù)據(jù)
42、庫同名的文件的每個(gè)數(shù)據(jù)庫都對(duì)應(yīng)存放在一個(gè)與數(shù)據(jù)庫同名的文件夾中,夾中,MySQL數(shù)據(jù)庫文件包括數(shù)據(jù)庫文件包括MySQL所建數(shù)據(jù)庫文件和所建數(shù)據(jù)庫文件和MySQL所用存儲(chǔ)引擎創(chuàng)建的數(shù)據(jù)庫文件。所用存儲(chǔ)引擎創(chuàng)建的數(shù)據(jù)庫文件。 n1、MySQL創(chuàng)建并管理的數(shù)據(jù)庫文件:創(chuàng)建并管理的數(shù)據(jù)庫文件:n.frm文件:存儲(chǔ)數(shù)據(jù)表的框架結(jié)構(gòu),文件:存儲(chǔ)數(shù)據(jù)表的框架結(jié)構(gòu),MySQL數(shù)據(jù)庫文件名數(shù)據(jù)庫文件名與表名相同,每個(gè)表對(duì)應(yīng)一個(gè)同名與表名相同,每個(gè)表對(duì)應(yīng)一個(gè)同名frm文件,與操作系統(tǒng)文件,與操作系統(tǒng)和存儲(chǔ)引擎無關(guān),即不管和存儲(chǔ)引擎無關(guān),即不管MySQL運(yùn)行在何種操作系統(tǒng)上,運(yùn)行在何種操作系統(tǒng)上,使用何種存儲(chǔ)引擎,
43、都有這個(gè)文件。使用何種存儲(chǔ)引擎,都有這個(gè)文件。n除了必有的除了必有的.frm文件,根據(jù)文件,根據(jù)MySQL所使用的存儲(chǔ)引擎的不所使用的存儲(chǔ)引擎的不同(同(MySQL常用的兩個(gè)存儲(chǔ)引擎是常用的兩個(gè)存儲(chǔ)引擎是MyISAM和和InnoDB),),存儲(chǔ)引擎會(huì)創(chuàng)建各自不同的數(shù)據(jù)庫文件。存儲(chǔ)引擎會(huì)創(chuàng)建各自不同的數(shù)據(jù)庫文件。MySQL數(shù)據(jù)庫文件介紹數(shù)據(jù)庫文件介紹n2、MyISAM數(shù)據(jù)庫表文件:數(shù)據(jù)庫表文件:n.MYD文件:即文件:即MY Data,表數(shù)據(jù)文件,表數(shù)據(jù)文件n.MYI文件:即文件:即MY Index,索引文件,索引文件n.log文件:日志文件文件:日志文件n3、InnoDB采用表空間(采用表空間
44、(tablespace)來管理數(shù)據(jù),存儲(chǔ)表)來管理數(shù)據(jù),存儲(chǔ)表數(shù)據(jù)和索引,數(shù)據(jù)和索引,nInnoDB數(shù)據(jù)庫文件(即數(shù)據(jù)庫文件(即InnoDB文件集,文件集,ib-file set):):nibdata1、ibdata2等:系統(tǒng)表空間等:系統(tǒng)表空間MySQL數(shù)據(jù)庫文件,數(shù)據(jù)庫文件,存儲(chǔ)存儲(chǔ)InnoDB系統(tǒng)信息和用戶數(shù)據(jù)庫表數(shù)據(jù)和索引,所有系統(tǒng)信息和用戶數(shù)據(jù)庫表數(shù)據(jù)和索引,所有表共用表共用n.ibd文件:單表表空間文件,每個(gè)表使用一個(gè)表空間文件文件:單表表空間文件,每個(gè)表使用一個(gè)表空間文件(file per table),存放用戶數(shù)據(jù)庫表數(shù)據(jù)和索引),存放用戶數(shù)據(jù)庫表數(shù)據(jù)和索引n日志文件:日志文件
45、: ib_logfile1、ib_logfile2MySQL數(shù)據(jù)庫存放位置數(shù)據(jù)庫存放位置 n1、MySQL如果使用如果使用MyISAM存儲(chǔ)引擎,數(shù)據(jù)庫文件類型就存儲(chǔ)引擎,數(shù)據(jù)庫文件類型就包括包括.frm、.MYD、.MYI,默認(rèn)存放位置是,默認(rèn)存放位置是nXp等:等:C:Documents and SettingsAll UsersApplication DataMySQLMySQL Server 5.1datanWin7: C:ProgramDataMySQLMySQL Server 5.1datan2、MySQL如果使用如果使用InnoDB存儲(chǔ)引擎,存儲(chǔ)引擎,MySQL數(shù)據(jù)庫文件數(shù)據(jù)庫文件
46、類型就包括類型就包括.frm、ibdata1、.ibd,存放位置有兩個(gè),存放位置有兩個(gè):n.frm文件默認(rèn)存放位置是文件默認(rèn)存放位置是C:Documents and SettingsAll UsersApplication DataMySQLMySQL Server 5.1data, nibdata1、.ibd文件默認(rèn)存放位置是文件默認(rèn)存放位置是MySQL安裝目錄下的安裝目錄下的data文件夾文件夾更改數(shù)據(jù)庫路徑與引擎更改數(shù)據(jù)庫路徑與引擎nMysql.ini:nbasedir=C:/Program Files/MySQL/MySQL Server 5.1/n#Path to the datab
47、ase rootndatadir=C:/ProgramData/MySQL/MySQL Server 5.1/Data/n# The default character set that will be used when a new schema or table isn# created and no character set is definedncharacter-set-server=gbkn# The default storage engine that will be used when create new tables whenndefault-storage-engin
48、e=INNODBMySQL安裝與配置安裝與配置n數(shù)據(jù)庫操作:創(chuàng)建數(shù)據(jù)庫和表數(shù)據(jù)庫操作:創(chuàng)建數(shù)據(jù)庫和表n進(jìn)入進(jìn)入/bin/mysql.bat或或nSet PATH=%PATH%; /binn在任意路徑打在任意路徑打mysql,即可進(jìn)入即可進(jìn)入mysql字符界面字符界面n登錄登錄: c:mysql uroot p123456n命令:命令:nmysql select version(), current_date;mysql select version(), current_date; nmysqlquitmysqlquitMySQL安裝與配置安裝與配置n創(chuàng)建并選擇數(shù)據(jù)庫創(chuàng)建并選擇數(shù)據(jù)庫: :nm
49、ysql CREATE DATABASE javaee;mysql CREATE DATABASE javaee;nmysql USE javaee;mysql USE javaee;nDatabase changedDatabase changedn創(chuàng)建表創(chuàng)建表: :nmysql SHOW TABLES;mysql SHOW TABLES;nEmpty set (0.00 sec)Empty set (0.00 sec)nmysqlcreate table news_infmysqlcreate table news_infn-( news_id int primary key auto_i
50、ncrement,-( news_id int primary key auto_increment,n- news_title varchar(255);- news_title varchar(255);n插入數(shù)據(jù):插入數(shù)據(jù):nmysqlinsert into news_inf valuesmysqlinsert into news_inf valuesn-(null , -(null , 瘋狂瘋狂JavaJava聯(lián)盟聯(lián)盟),),n-(-(null , );null , );MySQL安裝與配置安裝與配置n成批成批sql處理:處理:nmysqls
51、ource c:/test.sql;n其它,可采用圖形界面的其它,可采用圖形界面的Mysql管理器:管理器:nNavicat MySQLNavicat MySQL是一個(gè)強(qiáng)大的是一個(gè)強(qiáng)大的MySQLMySQL數(shù)據(jù)庫服務(wù)器管理和數(shù)據(jù)庫服務(wù)器管理和開發(fā)工具。它可以與任何開發(fā)工具。它可以與任何3.213.21或以上版本的或以上版本的MySQLMySQL一起工一起工作,并支持大部分的作,并支持大部分的MySQLMySQL最新功能,包括觸發(fā)器、存儲(chǔ)最新功能,包括觸發(fā)器、存儲(chǔ)過程、函數(shù)、事件、視圖、管理用戶,等等。過程、函數(shù)、事件、視圖、管理用戶,等等。 Navicat for Navicat for My
52、SQLMySQL有企業(yè)版和個(gè)人免費(fèi)版有企業(yè)版和個(gè)人免費(fèi)版 。nMySQL-FrontMySQL-FrontnphpMyAdmin,網(wǎng)頁式的,網(wǎng)頁式的,需要需要phpphp環(huán)境環(huán)境Eclipse的安裝與使用的安裝與使用n下載并安裝下載并安裝Eclipse IDE for Java EE Developer:neclipse-jee-helios-SR2-win32.zipn直接將壓縮文件里的直接將壓縮文件里的eclipse解壓到某個(gè)目錄即可解壓到某個(gè)目錄即可n安裝安裝Eclipse插件方式插件方式n在線安裝在線安裝nHelp-Install new softwaren使用本地壓縮包安裝使用本地壓
53、縮包安裝n選擇選擇Archiven手動(dòng)安裝手動(dòng)安裝n直接安裝直接安裝n將插件中的將插件中的plugins和和features分別復(fù)制到分別復(fù)制到Eclipse的的plugins和和features目錄,并重啟目錄,并重啟EclipseEclipse的安裝與使用的安裝與使用n擴(kuò)展安裝擴(kuò)展安裝n新建新建links目錄目錄nLinks目錄下,創(chuàng)建文件目錄下,創(chuàng)建文件jBMP.link,內(nèi)容只有一行:內(nèi)容只有一行:npath=n如如:d:pluginsjBPMn(d:pluginsjBPM)下建下建eclipseplugins和和eclipsefeaturesn將插件中的將插件中的plugins和和f
54、eatures分別復(fù)制到分別復(fù)制到d:pluginsjBPMeclipseplugins和和d:pluginsjBPMeclipsefeatures目錄,并重啟目錄,并重啟EclipseEclipse的安裝與使用的安裝與使用n在在Eclipse中配置中配置Tomcat服務(wù)器服務(wù)器n新建新建Web項(xiàng)目項(xiàng)目n導(dǎo)入導(dǎo)入Eclipse項(xiàng)目項(xiàng)目n導(dǎo)入非導(dǎo)入非Eclipse項(xiàng)目項(xiàng)目Ant的安裝與使用的安裝與使用nAnt簡介簡介n生成工具在軟件開發(fā)中用來將源代碼和其他輸入文件轉(zhuǎn)換為可執(zhí)行文件的形式生成工具在軟件開發(fā)中用來將源代碼和其他輸入文件轉(zhuǎn)換為可執(zhí)行文件的形式(也有可能轉(zhuǎn)換為可安裝的產(chǎn)品映像形式)。隨著
55、應(yīng)用程序的生成過程變得更(也有可能轉(zhuǎn)換為可安裝的產(chǎn)品映像形式)。隨著應(yīng)用程序的生成過程變得更加復(fù)雜,確保在每次生成期間都使用精確相同的生成步驟,同時(shí)實(shí)現(xiàn)盡可能多加復(fù)雜,確保在每次生成期間都使用精確相同的生成步驟,同時(shí)實(shí)現(xiàn)盡可能多的自動(dòng)化,以便及時(shí)產(chǎn)生一致的生成版本,這就變得更加重要了。的自動(dòng)化,以便及時(shí)產(chǎn)生一致的生成版本,這就變得更加重要了。 C 或或 C+ 中的傳統(tǒng)項(xiàng)目經(jīng)常使用中的傳統(tǒng)項(xiàng)目經(jīng)常使用 make 工具來做這件事情,工具來做這件事情, 其中生成任務(wù)是通過調(diào)用其中生成任務(wù)是通過調(diào)用 shell 命令來執(zhí)行的,而依賴關(guān)系定義在每個(gè)生成文件之間,以便它們總是以命令來執(zhí)行的,而依賴關(guān)系定義
56、在每個(gè)生成文件之間,以便它們總是以必需的順序執(zhí)行。必需的順序執(zhí)行。 n簡單的說,簡單的說,Ant是一個(gè)基于是一個(gè)基于Java,并且主要用于并且主要用于Java工程的構(gòu)建工具。工程的構(gòu)建工具。Ant本本意是意是Another Neat Tool,也就是另一種整潔的工具,取首字符就是也就是另一種整潔的工具,取首字符就是Ant。 n它有些類似于它有些類似于C中的中的make,但比但比make優(yōu)越。現(xiàn)在存在的大多數(shù)優(yōu)越?,F(xiàn)在存在的大多數(shù)Build工具,工具,如如make、gnumake、nmake、jam等都存在這樣或那樣的不足,比如依賴等都存在這樣或那樣的不足,比如依賴于特定的平臺(tái)、配置文件過于復(fù)雜
57、或者對(duì)格式無法檢查而容易出錯(cuò)等。與這些于特定的平臺(tái)、配置文件過于復(fù)雜或者對(duì)格式無法檢查而容易出錯(cuò)等。與這些工具相比較,工具相比較,Ant的兩個(gè)特性決定了它是一款優(yōu)秀的的兩個(gè)特性決定了它是一款優(yōu)秀的Build工具:工具: n(1)基于)基于Java的實(shí)現(xiàn)。具有良好的跨平臺(tái)性,同時(shí)可以通過增加新的的實(shí)現(xiàn)。具有良好的跨平臺(tái)性,同時(shí)可以通過增加新的Java類來擴(kuò)展類來擴(kuò)展Ant的功能,而無需去了解不同平臺(tái)上不同的腳本語言。的功能,而無需去了解不同平臺(tái)上不同的腳本語言。 n(2)基于)基于XML的配置文件。的配置文件。Ant以以XML樹來描述樹來描述Target/Task的關(guān)系,的關(guān)系,文件結(jié)構(gòu)清晰、易
58、讀易寫,并且利用文件結(jié)構(gòu)清晰、易讀易寫,并且利用XML對(duì)格式的控制來避免由于配置文對(duì)格式的控制來避免由于配置文件的錯(cuò)誤造成的件的錯(cuò)誤造成的Build操作失敗。操作失敗。Ant的安裝與使用的安裝與使用nAnt的下載與安裝的下載與安裝n下載下載apache-ant-1.8.1-bin.zipn將其中的將其中的ant目錄解壓到磁盤的某個(gè)路徑下即可目錄解壓到磁盤的某個(gè)路徑下即可nAnt配置配置n配置環(huán)境變量:配置環(huán)境變量:nSET ANT_HOME=D:Ant181 n/注意是注意是Ant的安裝目錄,不是的安裝目錄,不是bin子目錄子目錄nSET PATH=%PATH%;%ANT_HOME%bin;n
59、在配置環(huán)境變量之前,請確認(rèn)已經(jīng)正確設(shè)置了在配置環(huán)境變量之前,請確認(rèn)已經(jīng)正確設(shè)置了JAVA_HOME系統(tǒng)變量系統(tǒng)變量n測試:測試:n打入打入ant命令,看到如下輸出說明已成功安裝了命令,看到如下輸出說明已成功安裝了Ant工具:工具: nBuildfile: build.xml does not exist!nBuild failedAnt的安裝與使用的安裝與使用n Ant的一些核心概念:的一些核心概念: nXML:構(gòu)建文件是以構(gòu)建文件是以XML文件來描述的,采用文件來描述的,采用 XML 格式有格式有很多好處,這里就不一一列舉。很多好處,這里就不一一列舉。 n陳述式語法:構(gòu)建文件短小精悍,且易于
60、理解。陳述式語法:構(gòu)建文件短小精悍,且易于理解。 n每個(gè)構(gòu)建文件包含一個(gè)工程每個(gè)構(gòu)建文件包含一個(gè)工程(project)。 n每個(gè)工程包含若干個(gè)目標(biāo)每個(gè)工程包含若干個(gè)目標(biāo)(target)。 n目標(biāo)可以依賴于其他的目標(biāo)目標(biāo)可以依賴于其他的目標(biāo)(depends)。 n目標(biāo)包含任務(wù)目標(biāo)包含任務(wù)(task)。 n易于使用易于使用 Java語言增加新的任務(wù)語言增加新的任務(wù)-易于擴(kuò)展(自定義)。易于擴(kuò)展(自定義)。 Build.xmln項(xiàng)目層次結(jié)構(gòu)項(xiàng)目層次結(jié)構(gòu)n:nSrc,classes,lib,dist,build.xmlnAnt生成文件默認(rèn)名字是生成文件默認(rèn)名字是build.xml,也可以是其他名字也可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人二手車轉(zhuǎn)讓及二手車交易風(fēng)險(xiǎn)防范合同4篇
- 二零二五版多房產(chǎn)離婚協(xié)議書-2025年度家庭財(cái)產(chǎn)分割實(shí)施標(biāo)準(zhǔn)3篇
- 二零二五年度城市綜合體項(xiàng)目投資典當(dāng)協(xié)議4篇
- 光伏區(qū)圍欄施工方案
- 建筑工程石材采購合同(2篇)
- 家具家居出海:機(jī)遇、挑戰(zhàn)與應(yīng)對(duì)策略 頭豹詞條報(bào)告系列
- 二零二五年度民宿布草租賃與民宿客棧服務(wù)質(zhì)量保障合同4篇
- 2024年咨詢工程師(經(jīng)濟(jì)政策)考試題庫帶答案(考試直接用)
- 2025年度個(gè)人商鋪買賣合同規(guī)范范本3篇
- 2025年度宅基地使用權(quán)流轉(zhuǎn)登記代理服務(wù)合同4篇
- 道路瀝青工程施工方案
- 《田口方法的導(dǎo)入》課件
- 內(nèi)陸?zhàn)B殖與水產(chǎn)品市場營銷策略考核試卷
- 票據(jù)業(yè)務(wù)居間合同模板
- 承包鋼板水泥庫合同范本(2篇)
- DLT 572-2021 電力變壓器運(yùn)行規(guī)程
- 公司沒繳社保勞動(dòng)仲裁申請書
- 損傷力學(xué)與斷裂分析
- 2024年縣鄉(xiāng)教師選調(diào)進(jìn)城考試《教育學(xué)》題庫及完整答案(考點(diǎn)梳理)
- 車借給別人免責(zé)協(xié)議書
- 應(yīng)急預(yù)案評(píng)分標(biāo)準(zhǔn)表
評(píng)論
0/150
提交評(píng)論