Java web 開發(fā)教程學(xué)習(xí)心得
Javaweb開發(fā)教程學(xué)習(xí)心得
Javaweb課程結(jié)束了,在完成了eclipse三份實(shí)驗(yàn)報(bào)告之后我開始總結(jié)這門課程自己究竟學(xué)到了什么。
從C語言到Java,再到j(luò)sp,最后到j(luò)avaweb,一直都在與編程都打交道,學(xué)好它一是專業(yè)的需要,二是自己覺得它今后對(duì)自己會(huì)有很大的用途。C語言是一個(gè)面向過程的語言,而Java是一個(gè)面向?qū)ο蟮恼Z言。在C語言里,行為稱為函數(shù);在Java里,行為稱為方法。在C語言里,只有變量和函數(shù);在Java里,一切邏輯由類封裝,即“萬物皆對(duì)象”。C語言的struct和Java的類相似,但struct里只能有屬性,而類里可以有屬性和方法。所以,C語言的分工不清晰,主控程序幾乎承擔(dān)了全部的職責(zé);而Java可以把方法放在類里,對(duì)象的職能很多,可以單獨(dú)完成某個(gè)類的全部方法。
首先我想回顧一下javaweb這本書上的主要內(nèi)容:
第一章是對(duì)Web應(yīng)用程序的概述。從中我了解到Web應(yīng)用程序的三層體系結(jié)構(gòu):表示層、業(yè)務(wù)層、數(shù)據(jù)存取層。它們同是敘述在編寫代碼時(shí)應(yīng)做的規(guī)劃和應(yīng)遵循的規(guī)則,這種規(guī)劃在以后的學(xué)習(xí)中時(shí)有出現(xiàn),說明編程并不是一味地進(jìn)行循環(huán)判斷、死記硬背,而需要在技術(shù)上有所加強(qiáng)、在效率上有所提高。接下來學(xué)的是JSP知識(shí)。要學(xué)JSP,就必須會(huì)HTML,如果HTML學(xué)不通,這對(duì)以后的學(xué)習(xí)都是一個(gè)瓶頸。這點(diǎn)我有所體會(huì)。因?yàn)槲覍?duì)HTML掌握得比較好,在這方面沒有遇到什么困難。但如果沒掌握好這些知識(shí),加上要學(xué)新知識(shí),就會(huì)在舊難題的基礎(chǔ)上增加新難題,兩頭招架,實(shí)有些吃不消。所以,基礎(chǔ)是很重要的,基礎(chǔ)一定要打扎實(shí),吃透,否則上層建筑的建起就不會(huì)很順利甚至沒法起步。然后是JavaBean。JavaBean里有set()和get()方法,用這些方法能很容易地傳值,邏輯上更標(biāo)準(zhǔn),代碼看起來也更規(guī)范。但set()和get()方法只是用來對(duì)屬性進(jìn)行操作的,所以如果是進(jìn)行復(fù)雜的邏輯或?qū)?shù)據(jù)庫進(jìn)行操作等,那么就不要寫成set()和get()方法,只用一個(gè)有返回值的方法就足以。這樣直觀方便,且符合規(guī)范。
接著是Servlet。它給我的第一感覺是很專業(yè)、很難懂。書上介紹了一大堆接口、類、和重寫的方法,一時(shí)覺得暈頭轉(zhuǎn)向。后來用得多、看得多了,Servlet的基本格式也記得差不多,其實(shí)也沒什么難的。只要記住Servlet是一個(gè)用Java編寫的應(yīng)用程序,在服務(wù)器上運(yùn)行,用來處理請(qǐng)求和響應(yīng),也可以單獨(dú)做為一個(gè)Web頁面。
在JDBC技術(shù)這章,我感到學(xué)習(xí)的壓力。JDBC的工作原理、JDBC的分類、它的主要接口、以及它連接數(shù)據(jù)庫的基本過程和運(yùn)行效果等事先后我沒有聽懂。后來在圖書館借到了一本資料書電子工業(yè)出版社出版的《JavaWeb從初學(xué)到精通》適合Java開發(fā)Web應(yīng)用和J2EE方面的初學(xué)者加上編程實(shí)戰(zhàn)演習(xí),總算弄懂了點(diǎn)眉目。
最后一章主要是一些技術(shù)專題。例如訪問路徑問題、結(jié)果集處理、復(fù)雜查詢等。在前面幾章的的能力功底基礎(chǔ)上這章顯得要簡(jiǎn)單輕松地多。大致類似于對(duì)前面知識(shí)的系統(tǒng)總結(jié)。
以上就是對(duì)這個(gè)階段學(xué)習(xí)的一段回顧。接下來我想總結(jié)一下自己的學(xué)習(xí)心得:首先學(xué)習(xí)這門課程,就必須先要了解什么是web應(yīng)用。通過瀏覽器可以訪問新浪網(wǎng)、中華網(wǎng)、淘寶網(wǎng)、網(wǎng)易、搜狐網(wǎng)、微軟的網(wǎng)站及sun公司的網(wǎng)站等,這些就是Web應(yīng)用。對(duì)于web應(yīng)用,我們需要使用瀏覽器,通過網(wǎng)絡(luò)訪問在遠(yuǎn)程的服務(wù)器運(yùn)行的程序。Web應(yīng)用指的就是這些網(wǎng)站中的程序。
其次,是編程。學(xué)習(xí)編程最重要的就是勤記憶,勤練習(xí),勤思考。需要記憶很多,有些東西必須要死記,沒有偷懶的辦法,在記憶的時(shí)候可以找一些規(guī)律,比如把類似的東西歸在一起記憶。平時(shí)在做練習(xí)的時(shí)候書上的例題和習(xí)題很重要,只要把書上的例子吃透,課后的習(xí)題都會(huì)做,這樣就能達(dá)到掌握知識(shí)的目的,最后在期末復(fù)習(xí)的過程中要不時(shí)地復(fù)習(xí)前面的知識(shí),這樣才能熟練掌握所學(xué)的知識(shí)。在勤思考方面,就是在平時(shí)的編程演練中遇到困難的時(shí)候不要立刻急著去問身邊的同學(xué)或是老師,自己應(yīng)當(dāng)對(duì)照課本或是相關(guān)的學(xué)習(xí)資料慢慢進(jìn)行修改,只有在自己確實(shí)已經(jīng)盡力但仍然不知如何操作的情況下才可以去詢問別人,只有這樣才可以加深自己的影響。
還記得自己當(dāng)初最開始時(shí)學(xué)習(xí)java的情景。那時(shí)自己除了知道什么是繼承,封裝,多態(tài),抽象類,接口這些外,其他的就什么都部知道了。后來自己在慢慢摸索的過程中才逐漸積累了對(duì)這門學(xué)科的敏感度開始接觸Java覺Servlet是一個(gè)非常深?yuàn)W的技術(shù)。我曾經(jīng)想學(xué)習(xí)網(wǎng)頁設(shè)計(jì),看到HTML哪些松散的標(biāo)記,我放棄了,最終也沒有學(xué)會(huì)做網(wǎng)頁。只知道網(wǎng)頁編輯工作有Drameware或FrontPage。當(dāng)接觸Serlvet后,發(fā)現(xiàn)做網(wǎng)頁竟然也可以像寫Java程序一樣進(jìn)行編寫。完成第一個(gè)用Servlet寫的WEB版的HelloWorld程序,足足花費(fèi)了我半天時(shí)間。主要是花費(fèi)在環(huán)境搭配上面。一個(gè)小小的HELLOWorld,用Drameware可能也就一分鐘就能搞定的事。對(duì)于一個(gè)完全不懂HTML的人來說,要想用Servlet來開發(fā)動(dòng)態(tài)WEB應(yīng)用還是太難了。接下來很快就接觸到了JSP。JSP并不需要我在Java程序里寫HTML代碼,而是變成了在HTML中寫Java程序。初學(xué)時(shí),所有的數(shù)據(jù)庫連接,數(shù)據(jù)庫訪問,數(shù)據(jù)顯示,業(yè)務(wù)代碼和HTML標(biāo)記等都寫在JSP代碼中,感覺JSP真是無所不能。在做一些小應(yīng)用時(shí),開發(fā)速度也非常的快。而當(dāng)遇到了比較復(fù)雜的業(yè)務(wù)邏輯后,JSP開發(fā)就像是一個(gè)惡夢(mèng),每天大量的工作就是調(diào)試頁面,當(dāng)其它頁面需要類似的功能時(shí),進(jìn)行代碼拷貝來進(jìn)行代碼的復(fù)用,后來才知道這就是典型的Model1模型。當(dāng)把JSP與Servlet相結(jié)合后,一切都發(fā)生了改變。JSP僅用于數(shù)據(jù)展示,而Servlet用于進(jìn)行業(yè)務(wù)調(diào)用和頁面流程控制,這就是所謂的Model2模型。原來JSP并不是Servlet的替代品,JSP更需要與Servlet進(jìn)行合作。再明白了Servlet與的重要后,才回過頭開始去學(xué)習(xí)Servlet,包括Servlet的生命周期,Servlet的重要接口及方法,自定義標(biāo)簽等。通過這樣反復(fù)的聯(lián)系我終于在面對(duì)java和jsp時(shí)不再像以前那樣那么沒有自信了。
所以花費(fèi)些力氣去學(xué)習(xí)Java基礎(chǔ),學(xué)習(xí)Jsp,Servlet,甚于學(xué)HTML,Javascript對(duì)進(jìn)行Web開發(fā)都是十分必要的。
最后我想總結(jié)一下學(xué)習(xí)方向的建議,JAVA基礎(chǔ)知識(shí)是學(xué)習(xí)任何JAVA擴(kuò)展體系知識(shí)的前提,所以在學(xué)習(xí)javaweb的過程中,一定得抽時(shí)間學(xué)習(xí)JAVA基礎(chǔ),窩在圖書館找到了基本相關(guān)的讀物《Java核心技術(shù)》《Java編程思想》和JDK的API文檔。另外由于編程有一些專用的英語術(shù)語,因此學(xué)好一些必要與之相關(guān)的英語對(duì)我們今后更好地學(xué)習(xí)這門學(xué)科是很有幫助的。
擴(kuò)展閱讀:Web開發(fā)技術(shù)實(shí)用教程總結(jié)
Web開發(fā)技術(shù)實(shí)用教程課程總結(jié)
學(xué)院:信息工程學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):姓名:學(xué)號(hào):
一、Javaweb課程結(jié)束了,在完成了eclipse三份實(shí)驗(yàn)報(bào)告之后我開始總結(jié)這門課程自己究竟學(xué)到了什么。
二、從C語言到Java,再到j(luò)sp,最后到j(luò)avaweb,一直都在與編程都打交道,學(xué)好它一是專業(yè)的需要,二是自己覺得它今后對(duì)自己會(huì)有很大的用途。C語言是一個(gè)面向過程的語言,而Java是一個(gè)面向?qū)ο蟮恼Z言。在C語言里,行為稱為函數(shù);在Java里,行為稱為方法。在C語言里,只有變量和函數(shù);在Java里,一切邏輯由類封裝,即“萬物皆對(duì)象”。C語言的struct和Java的類相似,但struct里只能有屬性,而類里可以有屬性和方法。所以,C語言的分工不清晰,主控程序幾乎承擔(dān)了全部的職責(zé);而Java可以把方法放在類里,對(duì)象的職能很多,可以單獨(dú)完成某個(gè)類的全部方法。在這期間我們或多或少的都學(xué)到了一點(diǎn)關(guān)于這門課的知識(shí),下面我來做一下我自己對(duì)于這門課的總結(jié)。三、重要的章節(jié)
1、第二章HTML和XHTML
在本章中,我們首先要了解HTML和XHTML的意義和重要性。HTML是超文
本標(biāo)記語言,XHTML是擴(kuò)張超文本標(biāo)記語。
1.1對(duì)于Html我們要了解html文件的基本結(jié)構(gòu),html文檔有許多元素,構(gòu)成html
文檔基本結(jié)構(gòu)的主要三個(gè)元素是:html元素、head元素和body元素。
1.2掌握HTML的基本標(biāo)簽;html、head、title、dody、div等等。例:
段落標(biāo)簽的示例
p標(biāo)簽定義的一段文字
p標(biāo)簽定義的另一段文字
沒有p標(biāo)簽定義的一段文字
沒有p標(biāo)簽定義的另一段文字
運(yùn)行結(jié)果如下:
1.3對(duì)于XHTML,我們要掌握XHTML文檔類型定義(XHTMLDTD)例如:
等。
通過對(duì)本章內(nèi)容的了解,我們對(duì)網(wǎng)絡(luò)有了基礎(chǔ)的認(rèn)識(shí),東得了HTML和XHTML等。
2、第三章CSS技術(shù)
2.1掌握CSS基本語法
CSS的基本格式:內(nèi)聯(lián)樣式
如:
在頁面文件中定義內(nèi)部樣式表。如:選擇符1,選擇符2,...{樣式屬性名1:屬性值1;樣式屬性名2:屬性值2;...}...-->
在頁面文件中嵌入外部樣式表。如:
2.2CSS基本屬性:CSS背景屬性、CSS文本屬性等。
CSS背景屬性:
(1)background-color(2)Background-image(3)Background-repeat(4)Background-attachment(5)Background-positionCSS文本屬性:(1)text-indent(2)Text-align(3)Vertical-align(4)Line-height(5)Letter-spacing
通過對(duì)該章內(nèi)容的了解,我們系統(tǒng)的認(rèn)識(shí)了CSS技術(shù)以及它的相關(guān)知識(shí)。
3、第八章JSP簡(jiǎn)介
3.1JSP工作原理:在一個(gè)JSP文件第一次被請(qǐng)求時(shí),JSP引擎把該JSP文件轉(zhuǎn)
換成為一個(gè)servlet。而這個(gè)引擎本身也是一個(gè)servlet,在JSWDK或WEBLOGIC
中,它就是JspServlet。JSP引擎先把該JSP文件轉(zhuǎn)換成一個(gè)Java源文件,在轉(zhuǎn)
換時(shí)如果發(fā)現(xiàn)jsp文件有任何語法錯(cuò)誤,轉(zhuǎn)換過程將中斷,并向服務(wù)端和客戶端
輸出出錯(cuò)信息;如果轉(zhuǎn)換成功,JSP引擎用javac把該Java源文件編譯成相應(yīng)的class文件。然后創(chuàng)建一個(gè)該SERVLET的實(shí)例,該SERVLET的jspInit()方法
被執(zhí)行,jspInit()方法在servlet的生命周期中只被執(zhí)行一次。然后jspService()方
法被調(diào)用來處理客戶端的請(qǐng)求。對(duì)每一個(gè)請(qǐng)求,JSP引擎創(chuàng)建一個(gè)新的線程來處
理該請(qǐng)求。如果有多個(gè)客戶端同時(shí)請(qǐng)求該JSP文件,則JSP引擎會(huì)創(chuàng)建多個(gè)線程。
每個(gè)客戶端請(qǐng)求對(duì)應(yīng)一個(gè)線程。以多線程方式執(zhí)行可大大降低對(duì)系統(tǒng)的資源需求,
提高系統(tǒng)的并發(fā)量及響應(yīng)時(shí)間.但應(yīng)該注意多線程的編程限制,由于該servlet始
終駐于內(nèi)存,所以響應(yīng)是非?斓。如果.jsp文件被修改了,服務(wù)器將根據(jù)設(shè)置
決定是否對(duì)該文件重新編譯,如果需要重新編譯,則將編譯結(jié)果取代內(nèi)存中的
servlet,并繼續(xù)上述處理過程。雖然JSP效率很高,但在第一次調(diào)用時(shí)由于需要
轉(zhuǎn)換和編譯而有一些輕微的延遲。此外,如果在任何時(shí)候如果由于系統(tǒng)資源不足
的原因,JSP引擎將以某種不確定的方式將servlet從內(nèi)存中移去。當(dāng)這種情況發(fā)
生時(shí)jspDestroy()方法首先被調(diào)用,然后servlet實(shí)例便被標(biāo)記加入"垃圾收集"處
理。jspInit()及jspDestory()格式如下:可在jspInit()中進(jìn)行一些初始化工作,如建
立與數(shù)據(jù)庫的連接,或建立網(wǎng)絡(luò)連接,從配置文件中取一些參數(shù)等,在jspDestory()
中釋放相應(yīng)的資源
3.2JSP的特點(diǎn):
(1)將內(nèi)容的生成和顯示分離。(2)生成可重用組件。
(3)采用標(biāo)識(shí)簡(jiǎn)化頁面開法。
3.3Tomcat服務(wù)器的安裝和配置在安裝Tomcat服務(wù)器環(huán)境前,應(yīng)先在系統(tǒng)中安裝Java運(yùn)行環(huán)境JDK。配置好JDK環(huán)境后,接下來安裝Tomcat。按照課本步驟進(jìn)行安裝Tomcat6.0。
安裝完成后進(jìn)行Tomcat服務(wù)器的配置和測(cè)試:按照“開始”|“程序”|“ApacheTomcat6.0”“|ConfigueTomcat”,在彈出的對(duì)話框中單擊Start按鈕啟動(dòng)Tomcat。
3.4JSP的基本語法基本的JSP頁面可以由HTML標(biāo)記和JSP元素共同組成,其中JSP代碼被標(biāo)記在“”之間?梢允褂萌魏挝谋揪庉嬈鱽砭帉慗SP代碼,文件編寫好后以擴(kuò)張名.JSP保存。
例:
一個(gè)簡(jiǎn)單的JSP程序
Voidprintln()4.2config
config對(duì)象的概述:是JSP的內(nèi)置對(duì)象
config對(duì)象對(duì)應(yīng)于javax.servlet.ServletConfig類,此類位于servlet-api.jar包中。Web
容器在初始化時(shí)使用一個(gè)ServletConfig(即config)對(duì)象向JSP頁面?zhèn)鬟f信息,此配置信息包
括初始化參數(shù),以及表示Servlet或JSP頁面所屬Web應(yīng)用的ServletContext對(duì)象。Config
對(duì)象的幾個(gè)方法:(1)publicStringgetParameter(Stringname);返回制定的名稱
name初始化參數(shù)的值,如果參數(shù)不存在則返回null。(2)public
java.util.EnumerationgetinitParameterNames();得到所有初始化參數(shù)名稱的
枚舉。(3)publicServletContextgetServletContext();返回Servlet或
JSP頁面所屬的ServletContext的一個(gè)引用。(4)publicString
getServletName();返回Servlet實(shí)例或JSP頁面的名稱,此名稱可以在Web
應(yīng)用部署描述文件中指定,對(duì)于一個(gè)未注冊(cè),Servlet實(shí)例或JSP頁面,將返回該
Servlet類的類名。JSP的其他內(nèi)置對(duì)象:request、response、session、
application、out、exception、pageContext。3。config.execonfig-config.exe
-進(jìn)程信息進(jìn)程文件:ConfigurationUtility描述:config.exe是
WindowsAccess(WAC)服務(wù)相關(guān)程序。CONFIG.SYS是包含在DOS(磁盤
操作系統(tǒng),DiskOperatingSystem)中的一個(gè)文本文件命令,它告訴操作系統(tǒng)計(jì)
算機(jī)如何初始化。多數(shù)情況下,CONFIG.SYS命令制定內(nèi)存設(shè)備驅(qū)動(dòng)和程序,以
控制硬件設(shè)備;開啟或進(jìn)制系統(tǒng)特征;以及限制系統(tǒng)資源。CONFIG.SYS在
autoexec.bat(自動(dòng)批處理程序)文件執(zhí)行前載入。由于CONFIG.SYS是一個(gè)文
本文件,因此它可以使用文本編輯程序編輯。4。X
(c.d.e.f....):\\WINDOWS\\system32\\configwindowsXP或者Vista下,開始運(yùn)行輸入“config”,出現(xiàn)C:\\WINDOWS\\system32\\config。例:web.xml:....
demo
/chapter9/jsp-11.jsp
name
ChenYi
name
XXXX@yahoo.com
demo
/demo.
...
運(yùn)行結(jié)果如下:
通過對(duì)本章內(nèi)容的了解和掌握,我們清楚的認(rèn)識(shí)了config的相關(guān)內(nèi)容,以及對(duì)
JSP的進(jìn)一步了解和掌握。
5JSP文件的操作
5.1File類
File類的創(chuàng)建:(1)File通過將給定路徑名字符串轉(zhuǎn)換成抽象路徑名來創(chuàng)建一個(gè)
新File實(shí)例。
File根據(jù)parent路徑名字符串和child路徑名字符串創(chuàng)建一個(gè)新File實(shí)例。
File根據(jù)parent抽象路徑名和child路徑名字符串創(chuàng)建一個(gè)新File實(shí)例。
5.2文件的操作
讀取文件:實(shí)際在JSP中使用的是Reader的子類java。io.FileReader,同時(shí)為
了提高輸入效率,可以使用帶緩沖的輸入流方式來讀取文件資源。
在寫入文件中,同樣可以使用字節(jié)流和字符流兩種方式,使用字符輸出流Writer
的子類java.io.FileWriter,也可以使用緩沖的方法來提高輸出效率。5.3文件上傳
jspSmartUpload包含有5個(gè)類。File:上傳文件的抽象表示類
File:包含多個(gè)上傳文件的File實(shí)例。
Rrquest:等價(jià)于Servlet的ServletRequest類。SmartUpload:實(shí)現(xiàn)上傳的類。
SmartUploadException:上傳拋出的異常類。File的常用方法:voidsavAs(String)voidsaveAs(String,int)StringgetFileExt()StringgetFileName()StringgetFilePathName()intgetSize()
booleanisMissing()
6第十一章JSP訪問Web數(shù)據(jù)庫
6.1JDBC對(duì)數(shù)據(jù)庫的一次操作步驟:裝載JDBC驅(qū)動(dòng)程序。定義鏈接字符串。和數(shù)據(jù)庫建立連接。創(chuàng)建表達(dá)式對(duì)象。執(zhí)行數(shù)據(jù)庫操作。處理返回結(jié)果。關(guān)閉數(shù)據(jù)庫連接。
6.2數(shù)據(jù)庫的連接方式:JDBC-ODBC橋
部分java,部分?jǐn)?shù)據(jù)庫專用API中間件訪問
純java驅(qū)動(dòng)訪問6.3數(shù)據(jù)庫的訪問
將在MySQL數(shù)據(jù)庫上進(jìn)行簡(jiǎn)單的數(shù)據(jù)表的操作來說明JSP中如何實(shí)現(xiàn)數(shù)據(jù)的插入、查詢、更新和刪除等操作。例:
刪除employee中記錄
運(yùn)行結(jié)構(gòu)如下:
心得:JAVA基礎(chǔ)知識(shí)是學(xué)習(xí)任何JAVA擴(kuò)展體系知識(shí)的前提,所以在學(xué)習(xí)java
web的過程中,一定得抽時(shí)間學(xué)習(xí)JAVA基礎(chǔ),窩在圖書館找到了基本相關(guān)的
讀物《Java核心技術(shù)》《Java編程思想》和JDK的API文檔。另外由于編程
有一些專用的英語術(shù)語,因此學(xué)好一些必要與之相關(guān)的英語對(duì)我們今后更好地學(xué)
習(xí)這門學(xué)科是很有幫助的。
友情提示:本文中關(guān)于《Java web 開發(fā)教程學(xué)習(xí)心得》給出的范例僅供您參考拓展思維使用,Java web 開發(fā)教程學(xué)習(xí)心得:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。