posts - 5,  comments - 0,  trackbacks - 0
            2009年3月31日
               摘要:   復(fù)習(xí)提綱 一 Servlet及web服務(wù)器相關(guān)概念(了解) tomcat配置(能熟練操作) 二 Servlet基礎(chǔ)(重點(diǎn),必須熟記于心) a.Servlet的調(diào)用過程 b.Servlet接口 c.servlet的生命周期 d.MVC框架   e.Servlet的控制流轉(zhuǎn)   f.Servlet的url-pattern 三 Session(會(huì)...  閱讀全文
          posted @ 2009-03-31 19:42 faye 閱讀(573) | 評(píng)論 (0)編輯 收藏
               摘要:   一.JDBC原理概述 1,JDBC是一套協(xié)議,是JAVA開發(fā)人員和數(shù)據(jù)庫廠商達(dá)成的協(xié)議,也就是由Sun定義一組接口,由數(shù)據(jù)庫廠商來實(shí)現(xiàn),并規(guī)定了JAVA開發(fā)人員訪問數(shù)據(jù)庫所使用的方法的調(diào)用規(guī)范。       2,JDBC的實(shí)現(xiàn)是由數(shù)據(jù)庫廠商提供,以驅(qū)動(dòng)程序形式提供。      ...  閱讀全文
          posted @ 2009-03-31 19:41 faye 閱讀(711) | 評(píng)論 (0)編輯 收藏
          IO

           

          Input / Output:指跨越出JVM的邊界,與外界數(shù)據(jù)的源頭或者目標(biāo)數(shù)據(jù)源進(jìn)行數(shù)據(jù)交換.

           

                              輸出  Output

                ------------------------------->

          JVM                                           數(shù)據(jù)源

                <-------------------------------

                              輸入   Input

          注意:輸入/輸出是針對(duì)JVM 而言。

          File

          可表示一個(gè)文件,也有可能是一個(gè)目錄(JAVA中文件和目錄都屬于這個(gè)類中,而且區(qū)分不是非常的明顯,可以調(diào)用isDirectory()isFile()來判斷)

          常用的方法:

                exists()       用來判斷 文件或目錄是否存在。

                isDirectory()      判斷是否是目錄

                isFile()              判斷是否是文件

                mkdir()             創(chuàng)建目錄

                mkdirs()           創(chuàng)建目錄包括它下面的子目錄。

                getAbsolutePath()      得到文件絕對(duì)路徑

                getParentFile() 得到父目錄的File對(duì)象

                list()                 得到文件名的String數(shù)組 (得到當(dāng)前目錄下的文件名,目錄名)

                listFiles()           返回File類型數(shù)組,(目錄,文件的File對(duì)象)可用getName()得到文件名。

                delete()      刪除文件

                getName()         得到文件名

                getPath()           得到文件相對(duì)路徑

                separtor()          得到文件分隔符 //這個(gè)方法有更好的通用性,平臺(tái)不同結(jié)果不同

                deleteOnExit()    在進(jìn)程退出的時(shí)候刪除文件,常用在臨時(shí)文件的刪除。

          1、流的概念:

                       輸出流

                程序----------->文件、網(wǎng)絡(luò)

                程序<-----------數(shù)據(jù)來源  

                     輸入流

          2、流的分類:

                按處理方式來分:

                     字節(jié)流:按8位傳輸 InputStream OutputStream

                     字符流:按16位傳輸 Reader  Writer

                按功能來分:

                     節(jié)點(diǎn)流:與文件、網(wǎng)絡(luò)打交道的流,操作數(shù)據(jù)的來源

                     處理流(包裝流):操作節(jié)點(diǎn)流

                如何區(qū)分:       

                     輸入流:以InputStreamReader結(jié)尾的流

                                FileInputStream   BufferedReader

                     輸出流:以OutputStreamWriter結(jié)尾的流

                                FileOutputStream PrintWriter

                     字節(jié)流:以InputStreamOutputStream結(jié)尾的流

                     字符流:以ReaderWriter結(jié)尾的流

                     節(jié)點(diǎn)流:看構(gòu)造器,參數(shù)為數(shù)據(jù)來源,參數(shù)是StringFile之類的

                                new FileInputStream("d:\\abc.txt");

                                new FileOutputStream(new File("d:\\abc.txt"))

                     處理流:構(gòu)造器的參數(shù)為其它流

                                new BufferedReader(new InputStreamReader(new FileInputStream("d:\\abc.txt")));

                選擇流時(shí):

                     首先確定是輸入還是輸出。

                     其次確定是字節(jié)流還是字符流。

                     然后確定是節(jié)點(diǎn)流還是處理流。

                根據(jù)數(shù)據(jù)類型選擇輸入/輸出流:

                     ①bytebyte[]   InputStream / OutputStream

                     ②intbytechardouble     DataInputStream / DataOutputStream

                     ③charString    Reader / Writer

                     ④Object           ObjectInputStream / ObjectOutputStream

                     若考慮性能會(huì)在前試著加Buffered

          3、常用流:

                DataInputStream&DataOutputStream 用于讀寫基本類型數(shù)據(jù),如intfloatlongdoubleboolean等。

                此外,DataInputStreamreadUTF()方法還能讀取采用UTF-8字符編碼的字符串。

               

                BufferedInputStream&BufferedOutputStream

                因?yàn)槔昧司彌_區(qū),所以常用于提高讀寫數(shù)據(jù)的效率。

                BufferedInputStream先把一批數(shù)據(jù)讀入到緩沖區(qū),接下來read方法只需要從緩沖區(qū)內(nèi)獲得數(shù)據(jù),減少了物理性讀取數(shù)據(jù)的次數(shù)。

                可以使用BufferedInputStream(InputStream in, int size) 中的size來指定緩沖區(qū)的大小

           

                ObjectOutputStream&ObjectInputStream

                對(duì)象的序列化是指把對(duì)象寫到一個(gè)輸出流中,

                對(duì)象的反序列化是指從一個(gè)輸入流中讀取一個(gè)對(duì)象。

                Java語言要求只有實(shí)現(xiàn)了java.io.Serializable接口的類的對(duì)象才能序列化和反序列化

           

                Reader/Writer

                當(dāng)需要程序讀寫文本文件,而且文本文件采用特定的字符編碼集時(shí),應(yīng)采用Reader/Writer

                InputStreamReader & OutputStreamWriter 橋梁流

                把字節(jié)流轉(zhuǎn)換成字符流

                在橋轉(zhuǎn)換的時(shí)候可以指定編解碼方式

               

                BufferedReader

                readLine()方法可以一次讀入一行字符,以字符串形式返回。

                BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("file"),"UTF-8"));

                BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("file"),"UTF-8"));

                PrintWriter 輸出格式化的數(shù)據(jù),所有的寫數(shù)據(jù)的方法以print開頭。

                print (int i)

                print (long l)

                print (float f)

                print (String s)

               

                每個(gè)print() 方法都有一個(gè)println()方法對(duì)應(yīng)

               

                a.

                printWriter.println("Hello");

                b.

                printWriter.print("Hello");

                printWriter.println();

                c.

                printWriter.print("Hello\n");

                以上三段代碼是等價(jià)的

          4JAVA編碼問題:UTF-8,GBKGB2312是可以顯示中文的。

                ASCII                一個(gè)字符-----1B     任何一種編碼均兼容   A<-->65

                ISO8859-1 (西歐)     一個(gè)字符-----1B

                GB2312 / GBK   一個(gè)字符-----2B

                Unicode       一個(gè)字符-----2B     會(huì)增加網(wǎng)絡(luò)負(fù)擔(dān)  Java中的charUnicode

                UTF-8        變長字節(jié)(變長的Unicode方式)

                           英文-----1B

                           中文-----3B

                提供編碼幫助的類:java.nio.charset.Charset

                GBK---中、日、韓,gb2312GBK的子集

           

                會(huì)出現(xiàn)中文編碼問題的情況:

                     1、用流操作文件時(shí)

                     2、網(wǎng)頁(動(dòng)態(tài)、靜態(tài))

                     3、網(wǎng)絡(luò)傳遞信息時(shí)

                String--->亂碼(再次轉(zhuǎn)碼)

                String temp=p.getProperty("name");

                temp=new String(temp.getBytes("ISO8859-1"),"GBK");這兩處的編碼有時(shí)需要互換位置

          對(duì)象序列化

                1:定義:把對(duì)象作為一個(gè)整體,在I/O流中傳播

                2:語法:

                ()實(shí)現(xiàn)了Serializeble接口的對(duì)象才能可序列化。這個(gè)接口里沒有任何方法,沒有方法的接口稱為標(biāo)記接口。

                例如:class Student implements Serializeble{} 

                ()如果一個(gè)序列化后的對(duì)象里面有一個(gè)屬性是個(gè)對(duì)象屬性,那么這個(gè)對(duì)象屬性也需要實(shí)現(xiàn)序列化。

                例如:class Student implements Serializeble{

                     Teacher t;//必須序列化

                     }

                     class Teacher implements Serializeble{}

                (3)包名、類名、屬性可以被序列化

                方法、構(gòu)造器不會(huì)序列化

                所有的靜態(tài)屬性都不會(huì)被序列化

                transient關(guān)鍵字修飾的屬性是臨時(shí)屬性,臨時(shí)屬性不參與序列化。

                3:使用注意:

                a.readObject讀文件的時(shí)候,當(dāng)文件結(jié)束的時(shí)候會(huì)拋出EOFException,當(dāng)我們捕獲這個(gè)異常的時(shí)候,程序就結(jié)束了。

                b.如果需要向一個(gè)文件中追加對(duì)象,首先要把文件中原有的對(duì)象讀出來,再把原有對(duì)象和新追加的對(duì)象一起寫入到文件。     

                c. serialVersionUID是靜態(tài)常量,表示當(dāng)前對(duì)象的版本號(hào),在接受傳輸?shù)臄?shù)據(jù)時(shí)會(huì)自動(dòng)檢查該值,保證版本的相同。

          java.util.Properties屬性類,針對(duì)屬性文件操作,早期使用。

                好處是可以在不修改代碼的情況下改變相應(yīng)的需求。

                文件名以.properties結(jié)尾的文件稱為屬性文件

                文件的內(nèi)容是:名字= 的形式

                常用方法:  

                     public void load(InputStream inStream)throws IOException

                     從輸入流中讀取屬性列表

                     public void store(OutputStream out,String comments)throws IOException

                     把屬性列表寫入輸出流

                     public String getProperty(String key)

                     public String getProperty(String key,String defaultValue)

                     public Object setProperty(String key,String value)

          posted @ 2009-03-31 19:40 faye 閱讀(197) | 評(píng)論 (0)編輯 收藏
               摘要:   Hibernate總結(jié) 一、應(yīng)用程序的分層結(jié)構(gòu) (1)應(yīng)用軟件的三層結(jié)構(gòu): 1)表述層:提供與用戶交互的界面。GUI(圖形用戶界面)和Web頁面時(shí)表述層的兩個(gè)典型的例子。 2)業(yè)務(wù)邏輯層:實(shí)現(xiàn)各種業(yè)務(wù)邏輯。例如當(dāng)用戶發(fā)出生成訂單的請(qǐng)求時(shí),業(yè)務(wù)邏輯層負(fù)責(zé)計(jì)算訂單的價(jià)格、驗(yàn)證訂單的信息,以及把訂單信息保存到數(shù)據(jù)庫中。 3)數(shù)據(jù)庫層:負(fù)責(zé)存放和管理應(yīng)用的持久性業(yè)務(wù)數(shù)據(jù)。例如對(duì)于...  閱讀全文
          posted @ 2009-03-31 19:39 faye 閱讀(796) | 評(píng)論 (0)編輯 收藏
               摘要:   AJAX開發(fā)簡略 一、 AJAX定義    Ajax并不是一種新的技術(shù),而是一種新的Web應(yīng)用開發(fā)模型。AJAX(Asynchronous JavaScript and XML)其實(shí)是多種技術(shù)的綜合,包括Javascript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest。       &...  閱讀全文
          posted @ 2009-03-31 19:37 faye 閱讀(94) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題  
          主站蜘蛛池模板: 库尔勒市| 临桂县| 瓦房店市| 炎陵县| 洛浦县| 宜宾市| 鹤峰县| 略阳县| 斗六市| 亚东县| 通许县| 长子县| 中西区| 栖霞市| 池州市| 咸阳市| 枣阳市| 黔南| 通山县| 马关县| 肥东县| 曲松县| 阿拉善盟| 塔城市| 赤峰市| 潜山县| 灵宝市| 德阳市| 葵青区| 浮山县| 临漳县| 民和| 汉阴县| 咸阳市| 陆良县| 成武县| 东阿县| 泰来县| 赞皇县| 蒲江县| 民县|