The NoteBook of EricKong

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          #

          開(kāi)車起步的基本步驟

          1. 1
            上車后調(diào)整坐位,系安全帶。
          2. 2
            左腳踩下離合器,掛一檔。
          3. 3
            打左轉(zhuǎn)向燈,按喇叭示意。
          4. 4
            右腳踩油門,左腳慢慢抬起離合器,左手穩(wěn)住方向盤,右手握住手動(dòng)剎車前端;待聽(tīng)到油門聲音由“高昂”轉(zhuǎn)變到“沉穩(wěn)”的時(shí)候,迅速放下手動(dòng)剎車。
            END

          新手開(kāi)車起步技巧及常見(jiàn)問(wèn)題解決方法

          1. 1
            起步時(shí)熄火起步熄火,是由于離合器踏板抬得太快,沒(méi)有在“半聯(lián)動(dòng)”位置停住,同時(shí)跟油又小造成的,或是把應(yīng)該“停頓”的位置錯(cuò)過(guò)了。
          2. 2
            起步時(shí)有空油聲起步時(shí)有空油聲,是由于初學(xué)者害怕起步時(shí)熄火,不敢抬離合器踏板或是抬得太慢,還沒(méi)到“半聯(lián)動(dòng)”位置就停住了,形成無(wú)聯(lián)動(dòng)空油。
          3. 3
            起步時(shí)前沖起步時(shí)前沖,是由于抬離合器踏板時(shí),錯(cuò)過(guò)了“半聯(lián)動(dòng)”應(yīng)該停頓的位置,同時(shí)跟油又較大造成的。如果此時(shí)跟油較小就不是前沖了,而是熄火。
          4. 4
            起步時(shí)存在緊張心理現(xiàn)象有的初學(xué)者在汽車起步時(shí),兩眼發(fā)直,伸著脖子,張著嘴,上身幾乎趴在方向盤上,這些都是過(guò)于緊張的表現(xiàn)。尤其是在交通崗附近,左右車輛較多或是調(diào)整公路收費(fèi)口附近橫向距離較窄,以及眾人在車旁送行時(shí),會(huì)產(chǎn)生一種想快起步,又害怕熄火的矛盾心理。其原因主要是起步操作的基本功不扎實(shí)。其實(shí),快速平穩(wěn)起步的“秘訣”就在于能還掌握好快與停的關(guān)系。也就是說(shuō)在汽車街之前,掛擋、松手制動(dòng)、抬離合器踏板至“半聯(lián)動(dòng)”位置,這些動(dòng)作都可以“快”,惟獨(dú)到了“半聯(lián)動(dòng)”位置的“停”不能省略,只有做到操作程序心中有數(shù),才能克服緊張心理,從容起步。
          5. 5
            起步后左腳總不舍得放下這主要是由于初學(xué)者對(duì)離合器踏板有作用,剛剛有了些粗淺的認(rèn)識(shí),認(rèn)為只要左腳踩住離合器踏板,汽車就不會(huì)熄火。其實(shí)這是個(gè)誤區(qū)。這個(gè)“毛病”只能增加離合器的磨損,并且是作為一名汽車駕駛員最不成熟的表現(xiàn),請(qǐng)初學(xué)者千萬(wàn)要改掉這一不良習(xí)慣。汽車起步后,只要是在行走沒(méi)有拖擋,發(fā)動(dòng)機(jī)就不會(huì)熄火
            END

          注意事項(xiàng)

          • 在踩油門、并慢慢抬起離合器時(shí),要仔細(xì)聽(tīng)油門發(fā)出的聲音。在抬離合器期間,總共有三種聲音:“高昂”、“沉穩(wěn)”、“低沉”。在“高昂”聲音時(shí),離合器抬起的這段距離是空行程,;而在“沉穩(wěn)”、“低沉”聲時(shí),抬離合器的速度一定要放慢。
          • 平路起步和下坡起步可以先放下手動(dòng)剎車,再踩油門、抬離合器;而上坡起步只能在聽(tīng)到油門聲音變?yōu)?#8220;沉穩(wěn)”時(shí),才可以放下手動(dòng)剎車,否則會(huì)出現(xiàn)車子后溜的情況。
          • 平路起步和下坡起步時(shí),加一點(diǎn)點(diǎn)油就可以完成起步;而上坡起步需要根據(jù)坡度的大小決定踩油門力度的大小:坡度越大,加油的力度越大。
          • 在放下手動(dòng)剎車瞬間,暫時(shí)穩(wěn)住離合器(不要繼續(xù)向上抬),并多加點(diǎn)油,以避免車子發(fā)抖,出現(xiàn)不平穩(wěn)的現(xiàn)象。
          • 下坡起步時(shí),如果車子已經(jīng)熄火,而坡度較大,可以在不打火的情況下直接掛三檔,松剎車,起步。通過(guò)車輪轉(zhuǎn)速的加快,車子可以自動(dòng)打火
          posted @ 2013-12-13 10:08 Eric_jiang 閱讀(191) | 評(píng)論 (0)編輯 收藏

          定義
              當(dāng)反應(yīng)器正在以顯著的反應(yīng)速率進(jìn)行操作時(shí),若降低進(jìn)料入口的溫度,使它達(dá)到多重態(tài)區(qū)域的下限,反應(yīng)速度會(huì)突然大幅度下降,反應(yīng)基本上停止。這個(gè)現(xiàn)象稱為熄滅。相應(yīng)的入口溫度稱為熄滅點(diǎn)。一般指的是汽車熄火。
          發(fā)生原因
              有可能是駕駛技術(shù)不夠嫻熟造成的,也有可能是使用質(zhì)量不達(dá)標(biāo)的油使發(fā)動(dòng)機(jī)積碳等導(dǎo)致的熄火。
          如何起步不熄火
              起步松離合時(shí),當(dāng)汽車開(kāi)始抖動(dòng)并向前移動(dòng)時(shí),左腳穩(wěn)住離合不要再松,待移動(dòng)幾米后再完全松開(kāi)離合。無(wú)論何時(shí)只要按照要領(lǐng)起步就不會(huì)熄火。 在平地上起步可以不踩油門,只需靠松離合就可以練習(xí)正常起步。 踩油門起步很正常,起步速度稍快些,對(duì)車沒(méi)有傷害。 點(diǎn)火時(shí)踩不踩離合都可以,沒(méi)有明顯區(qū)別。而先踩離合器再點(diǎn)火,主要目的是安全需要,避免有時(shí)忘記檢查掛檔情況(停車后掛在一檔),因掛在檔位點(diǎn)火而造成汽車突然沖出去,發(fā)生危險(xiǎn)。 踩離合點(diǎn)火是個(gè)好習(xí)慣。 當(dāng)然,點(diǎn)火前應(yīng)該先將變速器掛在空檔這是正確的操作方法。
          預(yù)防方法
              到正規(guī)的較大型加油站加高標(biāo)號(hào)油,例如使用97號(hào)汽油,也要徹底把油路清洗一遍,包括噴油嘴,節(jié)氣門,油箱等。另外就是定期的養(yǎng)護(hù)也至關(guān)重要,經(jīng)常檢查油路和電路是否暢通。
          posted @ 2013-12-13 09:41 Eric_jiang 閱讀(213) | 評(píng)論 (0)編輯 收藏

          原本使用ifconfig 可以使用,今天是怎么了,可能安裝軟件修改了,百度~~
          [oracle@localhost /]$ ifconfig
          提示:“bash: ifconfig: command not found”

          于是我切換到root用戶下
          [root@localhost /]$ ifconfig
          依然提示:“bash: ifconfig: command not found”

          分析問(wèn)題
          1.whereis ifconfig 看一下這個(gè)命令在哪個(gè)目錄下

          2.echo $PATH 看一下該目錄是否在路經(jīng)下,注意lunux下是完全區(qū)分大小寫的,所以不要忽略這點(diǎn)

          3.執(zhí)行命令,需要指定路徑或者把目錄加入PATH中

          4.于是可以這樣訪問(wèn)
          方法一:[root@localhost sbin]$ /sbin/ifconfig 就可以出現(xiàn)使用了
          方法二:[root@localhost sbin]$ export PATH=$PATH:/sbin ,這樣設(shè)置后,下次就可以直接訪問(wèn)了,免處第一種的麻煩,如:
          [root@localhost /]$ ifconfig

          方法三:修改/etc/profile文件,注釋掉if語(yǔ)句即可
          把下面的if語(yǔ)句注釋掉:
          # Path manipulation
          if [ "$EUID" = "0" ]; then
          pathmunge /sbin
          pathmunge /usr/sbin
          pathmunge /usr/local/sbin
          fi
          修改為
          # Path manipulation
          # if [ "$EUID" = "0" ]; then
          pathmunge /sbin
          pathmunge /usr/sbin
          pathmunge /usr/local/sbin
          #fi

          注:不光是ifconfig命令出現(xiàn)“bash: ifconfig: command not found”,原因非root用戶的path中沒(méi)有/sbin/ifconfig
          ,其它的命令也可以出現(xiàn)這種情況,解決的方法是一樣的
          posted @ 2013-12-06 14:19 Eric_jiang 閱讀(718) | 評(píng)論 (0)編輯 收藏

          sort命令是幫我們依據(jù)不同的數(shù)據(jù)類型進(jìn)行排序,其語(yǔ)法及常用參數(shù)格式:
            sort [-bcfMnrtk][源文件][-o 輸出文件] 
          補(bǔ)充說(shuō)明:sort可針對(duì)文本文件的內(nèi)容,以行為單位來(lái)排序。

          參  數(shù):
            -b   忽略每行前面開(kāi)始出的空格字符。
            -c   檢查文件是否已經(jīng)按照順序排序。
            -f   排序時(shí),忽略大小寫字母。
            -M   將前面3個(gè)字母依照月份的縮寫進(jìn)行排序。
            -n   依照數(shù)值的大小排序。
            -o<輸出文件>   將排序后的結(jié)果存入指定的文件。
            -r   以相反的順序來(lái)排序。
            -t<分隔字符>   指定排序時(shí)所用的欄位分隔字符。
            -k  選擇以哪個(gè)區(qū)間進(jìn)行排序。
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          下面通過(guò)幾個(gè)例子來(lái)講述Sort的使用。

          (1)sort將文件的每一行作為一個(gè)單位,相互比較,比較原則是從首字符向后,依次按ASCII碼值進(jìn)行比較,最后將他們按升序輸出。

          [rocrocket@rocrocket programming]$ cat seq.txt
          banana
          apple
          pear
          orange
          [rocrocket@rocrocket programming]$ sort seq.txt
          apple
          banana
          orange
          pear

          用戶可以保存排序后的文件內(nèi)容,或把排序后的文件內(nèi)容輸出至打印機(jī)。下例中用戶把排序后的文件內(nèi)容保存到名為result的文件中。
          $ Sort seq.txt > result

          (2)sort的-u選項(xiàng)

          它的作用很簡(jiǎn)單,就是在輸出行中去除重復(fù)行。

          [rocrocket@rocrocket programming]$ cat seq.txt
          banana
          apple
          pear
          orange
          pear
          [rocrocket@rocrocket programming]$ sort seq.txt
          apple
          banana
          orange
          pear
          pear
          [rocrocket@rocrocket programming]$ sort -u seq.txt
          apple
          banana
          orange
          pear

          pear由于重復(fù)被-u選項(xiàng)無(wú)情的刪除了。

          (3)sort的-r選項(xiàng)

          sort默認(rèn)的排序方式是升序,如果想改成降序,就加個(gè)-r就搞定了。

          [rocrocket@rocrocket programming]$ cat number.txt
          1
          3
          5
          2
          4
          [rocrocket@rocrocket programming]$ sort number.txt
          1
          2
          3
          4
          5
          [rocrocket@rocrocket programming]$ sort -r number.txt
          5
          4
          3
          2
          1
          (5)sort的-o選項(xiàng)

          由于sort默認(rèn)是把結(jié)果輸出到標(biāo)準(zhǔn)輸出,所以需要用重定向才能將結(jié)果寫入文件,形如sort filename > newfile。

          但是,如果你想把排序結(jié)果輸出到原文件中,用重定向可就不行了。

          [rocrocket@rocrocket programming]$ sort -r number.txt > number.txt
          [rocrocket@rocrocket programming]$ cat number.txt
          [rocrocket@rocrocket programming]$
          看,竟然將number清空了。

          就在這個(gè)時(shí)候,-o選項(xiàng)出現(xiàn)了,它成功的解決了這個(gè)問(wèn)題,讓你放心的將結(jié)果寫入原文件。這或許也是-o比重定向的唯一優(yōu)勢(shì)所在。

          [rocrocket@rocrocket programming]$ cat number.txt
          1
          3
          5
          2
          4
          [rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt
          [rocrocket@rocrocket programming]$ cat number.txt
          5
          4
          3
          2
          1

          (6) sort的-n選項(xiàng)

          你有沒(méi)有遇到過(guò)10比2小的情況。我反正遇到過(guò)。出現(xiàn)這種情況是由于排序程序?qū)⑦@些數(shù)字按字符來(lái)排序了,排序程序會(huì)先比較1和2,顯然1小,所以就將10放在2前面嘍。這也是sort的一貫作風(fēng)。

          我們?nèi)绻敫淖冞@種現(xiàn)狀,就要使用-n選項(xiàng),來(lái)告訴sort,“要以數(shù)值來(lái)排序”!

          [rocrocket@rocrocket programming]$ cat number.txt
          1
          10
          19
          11
          2
          5
          [rocrocket@rocrocket programming]$ sort number.txt
          1
          10
          11
          19
          2
          5
          [rocrocket@rocrocket programming]$ sort -n number.txt
          1
          2
          5
          10
          11
          19

          (7) sort的-t選項(xiàng)和-k選項(xiàng)

          如果有一個(gè)文件的內(nèi)容是這樣:

          [rocrocket@rocrocket programming]$ cat facebook.txt
          banana:30:5.5
          apple:10:2.5
          pear:90:2.3
          orange:20:3.4

          這個(gè)文件有三列,列與列之間用冒號(hào)隔開(kāi)了,第一列表示水果類型,第二列表示水果數(shù)量,第三列表示水果價(jià)格。那么我想以水果數(shù)量來(lái)排序,也就是以第二列來(lái)排序,如何利用sort實(shí)現(xiàn)?幸好,sort提供了-t選項(xiàng),后面可以設(shè)定間隔符。指定了間隔符之后,就可以用-k來(lái)指定列數(shù)了。

          [rocrocket@rocrocket programming]$ sort -n -k 2 -t ‘:’ facebook.txt
          apple:10:2.5
          orange:20:3.4
          banana:30:5.5
          pear:90:2.3

          (8) 其他的sort常用選項(xiàng)

          -f會(huì)將小寫字母都轉(zhuǎn)換為大寫字母來(lái)進(jìn)行比較,亦即忽略大小寫

          -c會(huì)檢查文件是否已排好序,如果亂序,則輸出第一個(gè)亂序的行的相關(guān)信息,最后返回1

          -C會(huì)檢查文件是否已排好序,如果亂序,不輸出內(nèi)容,僅返回1

          -M會(huì)以月份來(lái)排序,比如JAN小于FEB等等

          -b會(huì)忽略每一行前面的所有空白部分,從第一個(gè)可見(jiàn)字符開(kāi)始比較。

          posted @ 2013-11-29 16:38 Eric_jiang 閱讀(179) | 評(píng)論 (0)編輯 收藏

          linux系統(tǒng)下查看系統(tǒng)資源的相關(guān)命令
           
              詳細(xì)查看CPU,內(nèi)存,硬盤,光驅(qū)的情況,可以用下面命令。
              #dmesg | more
              dmesg顯示的是系統(tǒng)加載時(shí)的啟動(dòng)信息,把硬件信息都顯示出來(lái)。
              也可以用下面命令分別查看CPU,內(nèi)存,硬盤,光驅(qū)的情況:
              # dmesg|grep cpu //cpu
              # dmesg|grep hd   //硬盤
              # dmesg | grep proc
              查看LINUX的版本信息:
              # uname -a
              查看CPU的個(gè)數(shù)也可以用:
              # more /proc/cpuinfo
              查看內(nèi)存情況也可以用下面兩條命令:
              #top
              # more /proc/meminfo

          top命令
          1.作用
          top命令用來(lái)顯示執(zhí)行中的程序進(jìn)程,使用權(quán)限是所有用戶。
          2.格式
          top [-] [d delay] [q] [c] [S] [s] [i] [n]
          3.主要參數(shù)
          d:指定更新的間隔,以秒計(jì)算。
          q:沒(méi)有任何延遲的更新。如果使用者有超級(jí)用戶,則top命令將會(huì)以最高的優(yōu)先序執(zhí)行。
          c:顯示進(jìn)程完整的路徑與名稱。
          S:累積模式,會(huì)將己完成或消失的子行程的CPU時(shí)間累積起來(lái)。
          s:安全模式。
          i:不顯示任何閑置(Idle)或無(wú)用(Zombie)的行程。
          n:顯示更新的次數(shù),完成后將會(huì)退出top

          free命令
          1.作用
          free命令用來(lái)顯示內(nèi)存的使用情況,使用權(quán)限是所有用戶。
          2.格式
          free [-b-k-m] [-o] [-s delay] [-t] [-V]
          3.主要參數(shù)
          -b -k -m:分別以字節(jié)(KB、MB)為單位顯示內(nèi)存使用情況。
          -s delay:顯示每隔多少秒數(shù)來(lái)顯示一次內(nèi)存使用情況。
          -t:顯示內(nèi)存總和列。
          -o:不顯示緩沖區(qū)調(diào)節(jié)列。


          # uname -a # 查看內(nèi)核/操作系統(tǒng)/CPU信息
          # cat /etc/issue # 查看操作系統(tǒng)版本
          # cat /proc/cpuinfo # 查看CPU信息
          # hostname # 查看計(jì)算機(jī)名
          # lspci -tv # 列出所有PCI設(shè)備
          # lsusb -tv # 列出所有USB設(shè)備
          # lsmod # 列出加載的內(nèi)核模塊
          # env # 查看環(huán)境變量資源
          # free -m # 查看內(nèi)存使用量和交換區(qū)使用量
          # df -h # 查看各分區(qū)使用情況
          # du -sh # 查看指定目錄的大小
          # grep MemTotal /proc/meminfo # 查看內(nèi)存總量
          # grep MemFree /proc/meminfo # 查看空閑內(nèi)存量
          # uptime # 查看系統(tǒng)運(yùn)行時(shí)間、用戶數(shù)、負(fù)載
          # cat /proc/loadavg # 查看系統(tǒng)負(fù)載磁盤和分區(qū)
          # mount | column -t # 查看掛接的分區(qū)狀態(tài)
          # fdisk -l # 查看所有分區(qū)
          # swapon -s # 查看所有交換分區(qū)
          # hdparm -i /dev/hda # 查看磁盤參數(shù)(僅適用于IDE設(shè)備)
          # dmesg | grep IDE # 查看啟動(dòng)時(shí)IDE設(shè)備檢測(cè)狀況網(wǎng)絡(luò)
          # ifconfig # 查看所有網(wǎng)絡(luò)接口的屬性
          # iptables -L # 查看防火墻設(shè)置
          # route -n # 查看路由表
          # netstat -lntp # 查看所有監(jiān)聽(tīng)端口
          # netstat -antp # 查看所有已經(jīng)建立的連接
          # netstat -s # 查看網(wǎng)絡(luò)統(tǒng)計(jì)信息進(jìn)程
          # ps -ef # 查看所有進(jìn)程
          # top # 實(shí)時(shí)顯示進(jìn)程狀態(tài)用戶
          # w # 查看活動(dòng)用戶
          # id # 查看指定用戶信息
          # last # 查看用戶登錄日志
          # cut -d: -f1 /etc/passwd # 查看系統(tǒng)所有用戶
          # cut -d: -f1 /etc/group # 查看系統(tǒng)所有組
          # crontab -l # 查看當(dāng)前用戶的計(jì)劃任務(wù)服務(wù)
          # chkconfig –list # 列出所有系統(tǒng)服務(wù)
          # chkconfig –list | grep on # 列出所有啟動(dòng)的系統(tǒng)服務(wù)程序
          # rpm -qa # 查看所有安裝的軟件包
          cat /proc/cpuinfo :查看CPU相關(guān)參數(shù)
          cat /proc/partitions :查看硬盤和分區(qū)
          cat /proc/meminfo :查看內(nèi)存信息
          cat /proc/version :查看版本,類似uname -r
          cat /proc/ioports :查看設(shè)備io端口
          cat /proc/interrupts :查看中斷
          cat /proc/pci :查看pci設(shè)備的信息
          cat /proc/swaps :查看所有swap分區(qū)的信息
          posted @ 2013-11-29 16:19 Eric_jiang 閱讀(223) | 評(píng)論 (0)編輯 收藏

          A,Shell支持作用控制,有以下命令:
          1. command& 讓進(jìn)程在后臺(tái)運(yùn)行
          2. jobs 查看后臺(tái)運(yùn)行的進(jìn)程
          3. fg %n 讓后臺(tái)運(yùn)行的進(jìn)程n到前臺(tái)來(lái)
          4. bg %n 讓進(jìn)程n到后臺(tái)去;   
             PS:"n"為jobs查看到的進(jìn)程編號(hào).

          B. fg、bg、jobs、&、ctrl + z都是跟系統(tǒng)任務(wù)有關(guān)的,雖然現(xiàn)在基本上不怎么需要用到這些命令,但學(xué)會(huì)了也是很實(shí)用的

          一。& 最經(jīng)常被用到
          這個(gè)用在一個(gè)命令的最后,可以把這個(gè)命令放到后臺(tái)執(zhí)行
          二。ctrl + z
          可以將一個(gè)正在前臺(tái)執(zhí)行的命令放到后臺(tái),并且暫停
          三。jobs
          查看當(dāng)前有多少在后臺(tái)運(yùn)行的命令
          四。fg
          將后臺(tái)中的命令調(diào)至前臺(tái)繼續(xù)運(yùn)行
          如果后臺(tái)中有多個(gè)命令,可以用 fg %jobnumber將選中的命令調(diào)出,%jobnumber是通過(guò)jobs命令查到的后臺(tái)正在執(zhí)行的命令的序號(hào)(不是pid)
          五。bg
          將一個(gè)在后臺(tái)暫停的命令,變成繼續(xù)執(zhí)行
          如果后臺(tái)中有多個(gè)命令,可以用bg %jobnumber將選中的命令調(diào)出,%jobnumber是通過(guò)jobs命令查到的后臺(tái)正在執(zhí)行的命令的序號(hào)(不是pid)

          posted @ 2013-11-29 15:23 Eric_jiang 閱讀(222) | 評(píng)論 (0)編輯 收藏

          package com.test.socket;
          import java.io.*;
          import java.net.*;
           
          public class HTTPSocket
            {
                public static void main(String[ ] args) throws UnknownHostException, IOException
               {
                    String host = "127.0.0.1";
                    int port = 8080;
                    Socket socket = new Socket(host, port);
                    
                    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
                    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                    
                    StringBuffer sb = new StringBuffer();
                    //請(qǐng)求的連接地址
                    sb.append("GET /PortalGuard/Index.jsp HTTP/1.1\r\n")
                     .append("Host:"+ host + "\r\n")
                      .append("Content-Type:application/x-www-form-urlencoded\r\n")
                      .append("Content-Length:11\r\n")            //11 這個(gè)數(shù)值是看底下內(nèi)容的長(zhǎng)度的 即多少個(gè)字符
                      .append("\r\n")
                      .append("id=01234567\r\n");                  //內(nèi)容
                    
                    out.write(sb.toString());
                    out.flush();
                    
                    //打印響應(yīng)
                    String line = "";
                    while((line = in.readLine()) != null)
                        System.out.println(line);
                }
            }
          posted @ 2013-11-29 10:13 Eric_jiang 閱讀(410) | 評(píng)論 (0)編輯 收藏

               摘要: ET請(qǐng)求和POST請(qǐng)求有什么區(qū)別?GET請(qǐng)求的參數(shù)在URL的問(wèn)號(hào)后面顯示,而POST參數(shù)不在URL上;POST可以比GET請(qǐng)求更大的數(shù)據(jù)…一般的回答都是這樣。但是作為一個(gè)高端大氣上檔次的程序員,這樣回答就弱爆了。為了搞清楚GET和POST的區(qū)別,下面寫了一個(gè)Java程序來(lái)接收HTTP請(qǐng)求。HTTP是基于TCP協(xié)議的,所以可以使用Java最底層的Socket實(shí)現(xiàn)。下面的程序僅僅不到10行...  閱讀全文
          posted @ 2013-11-29 09:46 Eric_jiang 閱讀(336) | 評(píng)論 (0)編輯 收藏

          SSL (Secure Socket Layer - 安全套接字層)

          功能:保障在Internet上數(shù)據(jù)傳輸之安全,利用數(shù)據(jù)加密(Encryption)技術(shù),確保數(shù)據(jù)在網(wǎng)絡(luò)上之傳輸過(guò)程中不會(huì)被截取及竊聽(tīng),防止篡改。

           

          如何讓我們的WEB應(yīng)用程序應(yīng)用SSL安全保障?經(jīng)過(guò)幾天摸索,終于實(shí)現(xiàn) TOMCAT+SSL 雙向認(rèn)證,也就是說(shuō),首先,客戶端將要認(rèn)證服務(wù)器的安全性,確保訪問(wèn)的是正確的服務(wù)器,而非假冒的釣魚(yú)網(wǎng)站;其次,服務(wù)器也要認(rèn)證客戶端的安全性,只有那些擁有服務(wù)器授權(quán)證書(shū)的客戶端才可以訪問(wèn)。

           

          下面請(qǐng)遵循詳細(xì)步驟

          1.       D盤建立目錄:mykeys

          2.       啟動(dòng)命令行,并轉(zhuǎn)移到 d:/mykeys

          a)         創(chuàng)建服務(wù)器密鑰,其密鑰庫(kù)為 d:/mykeys/server.ks,注意keypassstorepass保持一致,它們分別代表 密鑰密碼和密鑰庫(kù)密碼,注意 CN=localhost 中,localhost表示要配置SSL的主機(jī)名,不能任意指定
          D:/mykeys>keytool -genkey -v -alias serverKey -dname "CN=localhost" -keyalg RSA -keypass rwm258-keystore server.ks -storepass rwm258

          b)        創(chuàng)建客戶端密鑰,其密鑰庫(kù)為 d:/mykeys/client.p12,注意這個(gè)密鑰庫(kù)的后綴名,注意密鑰庫(kù)類型PKCS12
          D:/mykeys>keytool -genkey -v -alias clientKey -dname "CN=SomeOne" -keyalg RSA -keypass lyl147 -keystore client.p12 -storepass lyl147 -storetype PKCS12

          c)        將客戶端密鑰導(dǎo)出為證書(shū)文件
          D:/mykeys>keytool -export -alias clientKey -file clientKey.cer -keystore client.p12 -storepass lyl147 -storetype PKCS12

          d)        將上述客戶端密鑰文件導(dǎo)入服務(wù)器證書(shū)庫(kù),并設(shè)置為信任證書(shū);注意會(huì)問(wèn)你是否信任該證書(shū),回答 y 即可
          D:/mykeys>keytool -import -v -alias clientKey -file clientKey.cer -keystore server.ks -storepass rwm258

          3.       為了在本機(jī)瀏覽器中進(jìn)行SSL訪問(wèn),請(qǐng):雙擊 d:/mykeys/client.p12 ,將啟動(dòng)證書(shū)向?qū)?/span>

          a)         2步:要導(dǎo)入的文件 文件名  D:/mykeys/client.p12

          b)        3步:為私鑰鍵入密碼lyl147 ,勾選:標(biāo)志此密鑰為可導(dǎo)出的

          c)        4步:證書(shū)存儲(chǔ),選:將所有的證書(shū)放入下列存儲(chǔ)區(qū),然后,瀏覽-個(gè)人

          d)        現(xiàn)在,打開(kāi)IE,查看證書(shū):工具-Internet選項(xiàng)-內(nèi)容-證書(shū)-個(gè)人,可以看到 SomeOne 證書(shū)已被安裝

          4.       配置TOMCAT服務(wù)器,以支持SSL認(rèn)證,編輯文件:%tomcat_home%/conf/server.xml,下面這段配置代碼本來(lái)是被屏蔽的,現(xiàn)在請(qǐng)取消其屏蔽,并相應(yīng)增加密鑰庫(kù)的配置,其中clientAuth="true"用以啟動(dòng)雙向認(rèn)證,否則,只有客戶端認(rèn)證服務(wù)器-單向

          <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

          maxThreads="150" scheme="https" secure="true"

          clientAuth="true" sslProtocol="TLS"

          keystoreFile="D:/mykeys/server.ks" keystorePass="rwm258"

          truststoreFile="D:/mykeys/server.ks " truststorePass=" rwm258" />

          5.       啟動(dòng) TOMCAT,然后在IE瀏覽器中訪問(wèn):https://localhost:8443/

          a)         將彈出一個(gè)消息框,這是要客戶端認(rèn)證服務(wù)器,查看證書(shū)可看到服務(wù)器證書(shū)為 localhost ,回顧前面的步驟,正是我們創(chuàng)建的那個(gè)服務(wù)器證書(shū);這里點(diǎn) 

          b)        頁(yè)面出現(xiàn),說(shuō)明客戶端被允許訪問(wèn)

          6.       現(xiàn)在,再次打開(kāi)IE,工具-Internet選項(xiàng)-內(nèi)容-證書(shū)-個(gè)人 ,刪除那個(gè) SomeOne 證書(shū)

          a)         現(xiàn)在,再次在IE瀏覽器中訪問(wèn):https://localhost:8443/ 你會(huì)發(fā)現(xiàn),回顧前面的 3 步驟,你會(huì)明白為什么要將客戶端證書(shū)導(dǎo)入 IE 瀏覽器;

          7.       請(qǐng)?jiān)俅沃貜?fù) 3 步驟,之后再嘗試訪問(wèn)

           

          OK,至此,我們?cè)诒緳C(jī)上SSL雙向配置已經(jīng)成功,那么,換另一臺(tái)電腦來(lái)訪問(wèn)本機(jī)服務(wù)器如何處理呢?很簡(jiǎn)單,把 d:/mykeys/client.p12 復(fù)制到該機(jī)器,然后執(zhí)行 3 步驟,將這個(gè)證書(shū)導(dǎo)入到該機(jī)器的 IE瀏覽器個(gè)人證書(shū)中,記得密碼是:lyl147;當(dāng)然,在那臺(tái)電腦上訪問(wèn)時(shí),要將localhost修改為本機(jī)主機(jī)名或IP地址

           

          -------------------------------------------------------------------

           

          要使你自己的WEB程序應(yīng)用SSL安全訪問(wèn),請(qǐng)遵循如下配置

          在你應(yīng)用的 web.xml 文件的 <web-app></web-app> 中加入如下配置

          <login-config>

                       <!-- Authorization setting for SSL -->

                  <auth-method>CLIENT-CERT</auth-method>

                  <realm-name>Client Cert Users-only Area</realm-name>

              </login-config>

              <security-constraint>

                       <!-- Authorization setting for SSL -->

                  <web-resource-collection >

                      <web-resource-name >SSL</web-resource-name>

                      <url-pattern>/*</url-pattern>

                  </web-resource-collection>

                  <user-data-constraint>

                      <transport-guarantee>CONFIDENTIAL</transport-guarantee>

                  </user-data-constraint>

          </security-constraint>

           

          你會(huì)發(fā)現(xiàn),即使使用 http://....:8080 來(lái)訪問(wèn)你的應(yīng)用程序,它也會(huì)重定向?yàn)?/span> https://....8443 訪問(wèn),也就是說(shuō),你的應(yīng)用已經(jīng)強(qiáng)制使用SSL安全訪問(wèn)層

          OK,現(xiàn)在,充分享受 SSL 安全訪問(wèn)服務(wù)吧

           

          此外,你還可以在你的程序中驗(yàn)證客戶證書(shū),實(shí)現(xiàn)客戶端證書(shū)登錄,具體這里不談了,下次給出完整程序

          posted @ 2013-11-28 17:23 Eric_jiang 閱讀(284) | 評(píng)論 (0)編輯 收藏

          第一步: 取得要導(dǎo)入的證書(shū)。
          第二步: 開(kāi)啟CMD,進(jìn)入Java/jre6/lib/security 目錄下。 第三步: 執(zhí)行以下命令: keytool -import -alias cacerts -keystore cacerts -file C:/test.cer -trustcacerts -alias后面的為別名,可隨便起名,即使有重名也不要緊,可替換。 執(zhí)行命令后會(huì)要求輸入密碼。 默認(rèn)密碼為changeit 再輸入y,進(jìn)行確認(rèn)。
          posted @ 2013-11-28 16:49 Eric_jiang 閱讀(311) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共57頁(yè): First 上一頁(yè) 13 14 15 16 17 18 19 20 21 下一頁(yè) Last 
          主站蜘蛛池模板: 咸宁市| 永修县| 中牟县| 海原县| 荔浦县| 汉源县| 太和县| 寿宁县| 荣昌县| 宕昌县| 偃师市| 平武县| 遵化市| 阿荣旗| 利川市| 奎屯市| 滦平县| 锡林郭勒盟| 湘西| 新竹市| 富蕴县| 惠来县| 弥勒县| 兴业县| 东明县| 灵石县| 西乡县| 浦北县| 绥中县| 青海省| 信丰县| 仁布县| 余干县| 昌宁县| 南汇区| 衡阳县| 奇台县| 黔西| 英吉沙县| 土默特左旗| 贞丰县|