pasha

           

          2008年10月21日

          Ubuntu Linux與Windows系統多啟動的配置(Webmaster )

          一、如果是XP(vista)與UBUNTU之間,先裝XP,后裝ubuntu,ubuntu會在grub中加入XP啟動項。可以手動添加。

          對應XP,vista,2003的

          title Microsoft Windows XP Professional

          root (hd0,n) # n視XP所在分區而定,第一分區就是0

          default

          makeactive

          chainloader +1

          對應2003,下面也可以。

          title Earlier Version of Windows

          #查找WINDOWS XP/2003 ,有些grub版本還不支持find命令

          find --set-root /ntldr

          chainloader /ntldr

          對應vista,在grub的menu.lst添加也可以,不指定分區

          title Windows Vista(default)

          #查找 Vista bootmgr ,有些grub版本還不支持find命令

          fallback 4

          find --set-root /bootmgr

          chainloader /bootmgr

          二、如果先裝的UBUNTU,或者先裝的XP后來重裝XP,也可以在XP啟動項中加入UBUNTU啟動內容。

          這個就需要在boot.ini中添加grldr,grldr如果放在C盤根目錄下面的話,加c:\grldr=" Ubuntu"。還需要C盤下有BOOT文件夾,文件夾里是GRUB文件夾,內含MENU.LST文件。包括上面的grldr都是grub for dos里面包含的內容。MENU.LST的內容需要根據你的UBUTNU BOOT所在位置,及內核而定.grldr,arldr,ntldr分別是grub,dos工具箱,xp引導所用的三個文件。menu.lst內容類似下:

          title Ubuntu 7.10, kernel 2.6.22-14-generic

          root (hd0,*) #### *根據你的UBUNTU安裝盤而定

          kernel /vmlinuz-2.6.22-14-generic root=/dev/hda(n) ro quiet splash

          initrd /initrd.img-2.6.22-14-generic

          quiet

          如此啟動XP里,在啟動項里先ubuntu,就可以進入LINUX系統。

          先從ubuntu的grub選項中選擇XP,再從XP選項中先ubuntu,一樣能啟動ubuntu,這與ubuntu啟動菜單中直接選擇啟動不矛盾。

          三、XP與VISTA,先XP,后VISTA沒問題的了。

          先VISTA后XP,在XP系統中使用VistaBootPRO 3.1設置也可以,有的會啟動的時候會出現問題?據說需要dotnetfx.exe和langpack.exe兩個文件。最后安裝vistabootpro3.1.看這里:http://bbs.zol.com.cn/index20070812/index_308_6904.html

          用VISTA光盤也可以修復吧。看來還是修復到vista啟動xp?vista是加入不到xp的boot.ini中了吧。具體:放入光盤。CMD中#X: #cd boot #bootsect /nt60 sys 行了,bootsect /nt52 sys 這個命令是刪除VISTA啟動的。(CMD一定要在系統文件夾sysem32中的CMD,??什么意思)重啟進入VISTA,http://www.zhaodll.net/dll/b/200701/2840.html這里有bootsect下載

          bcdedit /create {ntldr} -d "!·#¥%……"

          bcdedit /set {ntldr} device partition=d: #d vista盤符?

          bcdedit /set {ntldr} path \ntldr

          bcdedit /displayorder {ntldr} /addlast

          由此看來,個人感覺grub是啟動工具里面最好的東東。通吃。三系統有問題,裝grub for dos 或者用ubuntu livecd啟動,命令行下執行grub命令,寫入MBR中grub,也行。grub麻煩的地方需要根據自己系統情況手動修改menu.lst項。建議用之。

          四、先ubuntu,后vista又是什么情況。

          下載grub4dos軟件包

          提取文件grldr 和grldr.mbr拷貝到C盤(文件系統要ntfs的)根目錄

          運行cmd,執行命令:

          bcdedit /create /d "GRUB MENU" /application bootsector#

          建立一個名稱為“GRUB MENU”,通過加載類型為“引導扇區文件”的啟動項

          生成{ID}復制下來

          bcdedit /set {ID} device partition=c: #設置引導扇區文件所在的分區,grldr.mbr所在分區

          bcdedit /set {ID} path \grldr.mbr #指定引導扇區文件的路徑和文件名

          bcdedit /displayorder {ID} /addlast #增加這個Ubuntu的菜單項到末尾。

          下面修改menu.lst,就行了。吼吼,xp用boot.ini. vista的bcdedit看這命令也是設置grldr的位置,這個命令添加到哪個文件去了呢?為什么不能用文本修改?

          五、如果在ubuntu中終端下執行:

          #dd if=/dev/sda3 of=/dev/sda6/linuxloader/ubuntu.lnx bs=512 count=1

          /dev/sda3試你的ubuntu boot所在分區而定。生成ubuntu.lnx,用此文件取代上面grldr.mbr的話。

          在vista下,用管理員權限運行cmd,然后

          bcdedit /create /d "Ubuntu 7.04" /application bootsector

          bcdedit /set {GUID} device partition=C:

          bcdedit /set {GUID} path \ubuntu.lnx

          bcdedit /displayorder {GUID} /addlast

          就行了,不需要menu.lst

          總結:由以上內容可知先裝誰都沒問題了,也是都可以修復的。xp-vista-ubuntu xp-ubuntu-vista vista-xp-ubuntu vista-ubuntu-xp ubuntu-vista-xp(嘿,這個真豺)ubuntu-xp-vista

          如果續個MAC,還是不用MAC啟動菜單好,在xp中加tboot。


           

          posted @ 2008-10-21 12:24 pasha 閱讀(290) | 評論 (0)編輯 收藏

          Bcdedit命令詳解

          Bcdedit 位于X:\Windows\system32\   "X:"為安裝vista的盤符。

          儲存操作指令
          ====================
          /createstore 創建一個新的空白啟動配置數據文件。
          bcdedit /createstore C:\Data\BCD 創建BCD啟動配置數據文件儲存到“C:\DATA\”文件夾。
          /export 備份啟動配置數據文件。
          bcdedit /export "C:\Data\BCD Backup" 備份BCD啟動配置文件到“C:\Data\”文件夾,并以“BCD Backup”命名。
          /import 還原啟動配置數據文件。
          bcdedit /import "C:\Data\BCD Backup" 從“C:\Data\”文件夾恢復BCD啟動配置文件。

          儲存項目操作指令
          ====================
          /copy 項目拷貝
             操作系統啟動項目的拷貝:
             bcdedit /copy {cbd971bf-b7b8-4885-951a-fa03044f5d71} /d "Copy of entry"
          /create 新建項目
             創建操作系統載入程序項目的 NTLDR(Ntldr):
             bcdedit /create {ntldr} /d "Earlier Windows OS Loader"
             創建存儲器磁碟另外的選擇項項目:
             bcdedit /create {ramdiskoptions} /d "Ramdisk options"
             創建一個新的操作系統啟動項目:
             bcdedit /create /d "Windows Vista" /application osloader
             創建一個新的調試器:
             bcdedit /create {dbgsettings} /d "Debugger Settings"
          /delete 刪除項目
             刪除指定的操作系統項目:
             bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71}
             刪除指定的操作系統項目但啟動時不顯示項目(徹底刪除):
             bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /cleanup
             刪除指定的操作系統項目但啟動時顯示項目:
             bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /nocleanup
             刪除操作系統載入程序項目的 NTLDR:
             bcdedit /delete {ntldr} /f

          項目選擇操作指令
          ====================
          /deletevalue 刪除項目選擇項。
             刪除啟動管理的bootmgr選擇項項目:
             bcdedit /deletevalue {bootmgr} bootsequence
             刪除(WinPE)操作系統的數值開機項目:
             bcdedit /deletevalue winpe
             刪除來自指定的操作的 Windows PE 數值系統開機項目:
             bcdedit /deletevalue {cbd971bf-b7b8-4885-951a-fa03044f5d71} winpe
          /set 設定項目選擇項數值。
             設定操作系統“cbd971bf-b7b8-4885-951a-fa03044f5d71”引導分區“C”:
             bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} device partition=C:
             指定的操作系統引導文件“ windows\ system 32\ winload.exe”:
             bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} path \windows\system32\winload.exe
             設定“NX”為“OptIn”:
             bcdedit /set nx optin
             更改系統名稱
             默認XP系統名稱在Vista啟動管理器中是"earlier version of Windows",更改:
             bcdedit /set {ntldr} Deion "Windows XP Professional SP2"
             默認Vista系統名稱在Vista啟動管理器中是"Microsoft Windows",更改:
             bcdedit /set {current} Deion "Windows Vista 5456"

          輸出控制指令
          ====================
          /enum  在儲存中的列表項目。
             列出所有的操作系統載入程序啟動項目:
             bcdedit /enum OSLOADER
             列出所有的啟動管理項目:
             bcdedit /enum BOOTMGR
             列出默認的啟動項目:
             bcdedit /enum {default}
             列出指定的操作系統啟動項目:
             bcdedit /enum {b38a9fc1-5690-11da-b795-e9ad3c5e0e3a}
          /v 列出所有活動的項目
             bcdedit /enum ACTIVE /v

          啟動管理控制指令
          ====================
          /bootsequence   設定啟動列表順序。
             設定二個操作系統項目和啟動順序:
             bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f} {cbd971bf-b7b8-4885-951a-       fa03044f5d71} {ntldr}
             加入操作系統項目為啟動列表最后項:
             bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f} /addlast
          /default        設定默認啟動項目。
             設定默認啟動項目:
             bcdedit /default {cbd971bf-b7b8-4885-951a-fa03044f5d71}
             設定默認啟動操作系統程序為 NTLDR:
             bcdedit /default {ntldr}
          /displayorder   設定哪一個系統啟動顯示多啟動畫面。
             設定二個操作系統項目和在啟動管理顯示命令中被建立操作系統載入的程序 NTLDR:
             bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f}
                  {cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}
             把指定的操作系統項目加入啟動管理顯示命令結束:
             bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
          /timeout        設定啟動暫停數值。
          /toolsdisplayorder  設定命令在哪一個啟動管理顯示工具畫面。
             設定二個工具項目和內存診斷在那啟動管理工具顯示命令:
             bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f}
                  {cbd971bf-b7b8-4885-951a-fa03044f5d71} {memdiag}
             把指定的工具項目加入啟動的結束管理工具顯示命令:
             bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast

          為一個啟動應用程序控制緊急處理服務的指令
          ====================
          /bootems       
             開啟啟動管理緊急處理服務:
             bcdedit /bootems {bootmgr} ON
          /ems           
            為目前的操作系統啟動項目 EMS 開啟:
              bcdedit /ems ON
          /emssettings    設定緊急處理服務參數。
            設定 EMS 參數使用基本輸出入系統設定:
            bcdedit /emssettings BIOS
          本貼來自中關村在線產品論壇:<a >http://group.zol.com.cn/</a>,本帖地址:<a target='_blank'>http://nbbbs.zol.com.cn/1/9_64.html</a>

           

          在之前基于NT的Windows系統中,Windows使用Ntldr作為Boot Loader來啟動系統,——所謂boot loader,在指在操作系統內核運行之前執行的一段小程序,系統通過它來初始化硬件設備、建立內存空間的映射圖等,將系統的軟硬件環境設置成一個合適的狀態,為最終調用操作系統內核準備好正確的環境。——在啟動過程中,Ntldr 使用Boot.ini 文件來確定在啟動/引導過程中要顯示哪些操作系統選項,我們對啟動選項的設置可以通過修改boot.ini文件中相應內容實現。

            在Windows Vista中,微軟引入了一種全新的boot loader架構, Windows Boot Manager (Bootmgr.exe)。與Ntldr嚴重地依賴于硬件不同的是,Windows Vista中的新架構可以實現完整的硬件獨立性,且能夠與多種操作系統無縫結合,讓Windows Vista的啟動/引導過程更加快速與安全。同時,將之前Windows 系統中由Boot.ini管理的內容移交給新的Boot Configuration Data (BCD : 啟動設置數據),當然,也提供了新的啟動選項編輯工具,BCDEdit (BCDEdit.exe),來管理啟動設置。

            BCDEdit : Windows Vista啟動設置編輯工具
            在傳統的基于BIOS的計算機中,如果只安裝Windows Vista,除了極早期的Windows Vista測試版本外,您將會發現 Boot.ini 文件已經徹底從系統中消失;如果系統中安裝了Windows Vista和之前的WIndows系統如Windows XP,雖然仍可找到 Boot.ini 文件,不過,這個文件只作用于那些系統,而不會對 Windows Vista的啟動有任何影響。

            在基于EFI (Extensible Firmware Interface : 可擴展固件接口,以后采用這種接口的PC會越來越多 )的計算機中,Boot.ini 文件則更不復存在,在基于EFI的系統中,啟動選項被貯存在主板的存儲器中。此時要修改啟動選項,要么通過能夠讀寫NVRAM的工具如NvrBoot,要么使用上文提到的BCDEdit。

            由此可見,在Windows Vista中,想要再像之前Windows XP中那樣通過一個簡單的文本編輯器來修改Boot.ini的方式來管理啟動選項已經不可能了,要對啟動設置進行修改,只能使用命令格式相對要復雜得多的BCDEdit。

            此外,微軟也在Windows Vista 中提供了可通過WMI (Windows Management Instrumentation : Windows管理規范)調用的 BCD 類,通過它可以用編程的方式修改BCD數據,不過,相信對絕大多數用戶而言,這更是不可能的任務。

            啟動BCDEdit
            需要注意的是,BCDEdit不是一個運行于圖形界面下的程序,而是一個命令行工具,該文件 (Bcdedit.exe) 位于 “\Windows\System32”目錄下。

            要執行BCDEdit,首先應進入命令行窗口,并要將操作用戶并提升至管理員權限。

           

            在命令行窗口中,轉到系統目錄如 “C:/windows/system32”下,然后輸入“ bcdedit” 即可。

            BCDEdit命令簡介

            通過命令行工具Bcdedit,我們可以添加、刪除及修改BCD (Boot Configuration Data)中的對象。在BCD中,每個對象均具有唯一的 GUID (Globally Unique Identifier : 全局唯一標識符),如系統中的每塊硬盤、每個分區的GUID (全局唯一標識符)均不相同。

            在BCD中,硬盤或分區的GUID可分為如下幾類:

          {legacy} :指存在上一代Windows系統如Windows XP的硬盤或分區;
          {default} : 默認操作系統所在硬盤或分區;
          {current} : 當前硬盤或分區;
          {c34b751a-ff09-11d9-9e6e-0030482375e7} : 類似于這個格式的GUID指其他安裝了操作系統的硬盤或分區。
          (注:這只是個例子,具體數字根據硬盤或分區參數會有相應變化,但均會類似于{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式)。
            BCDEDIT命令

          bcdedit /? : 顯示命令幫助
          bcdedit.exe /? CREATESTORE : 顯示命令參數“ CREATESTORE ”的詳細信息,——當然,“ CREATESTORE ”也只是示例,使用中對其他任何可用參數也均可使用類似格式查看該參數的具體說明。
          bcdedit 或 bcdedit /enum all : 顯示Windows Vista系統當前的啟動設置數據,這時系統中所有安裝了操作系統的硬盤或分區均會顯示相應的 GUID 標識,如 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 。
            使用BCDEdit備份與恢復啟動選項

            在對Windows Vista的啟動選項修改之前,最好先對其備份,以防萬一操作失誤或其他故障導致系統無法啟動。

          bcdedit /export “D:\BCD Backup\Bcd Backup” : 將啟動設置備份到D盤 “BCD Backup” 目錄下;
          bcdedit /import “D:\BCD Backup\Bcd Backup” : 恢復之前備份在D盤 “BCD Backup”目錄下啟動選項。
            使用BCDEdit修改啟動菜單選項

            作為一種良好的操作習慣,在對Windows Vista的啟動選項進行任何修改前,首先要對BCD中的啟動選項進行備份,相應的命令上頁我們已介紹過,在此不再贅述;其次,使用“bcdedit ”或“ bcdedit /enum all ”來查看系統中硬盤或分區的正確 GUID 標識,并將其記錄下來。畢竟,BCDEdit只是一款命令行工具,我們操作時需手動輸入類似“{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”這樣的長字符串時,很容易出錯,而這往往會導致Windows Vista啟動失敗。

            下面詳細介紹使用BCDEdit修改啟動選項的常用命令格式:

          bcdedit /set {legacy} Description “Windows XP Professional SP2” : 修改上一代操作系統在啟動菜單中的顯示內容,比如說我們也可將其修改為“Vista天地專用XP SP2”之類。注意,命令中的引號不可省略;
          bcdedit /set {current} description “Windows Vista Build 5270 x86″ : 修改當前啟動硬盤或分區上的操作系統在啟動菜單中的顯示內容。注意,當前分區上的操作系統可能為Windows Vista,也可以是其他系統,當然,命令中的引號也不可省略;
          bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} description “Windows Vista Build 5270 x64” : 修改安裝于其他硬盤或分區的系統在啟動菜單中的顯示內容,使用這項命令時一定要注意該硬盤/分區的GUID輸入正確,相應的GUID可通過“ bcdedit ”或“ bcdedit /enum all ”命令查看。
          bcdedit /default {current} : 將當前啟動硬盤/分區中的操作系統設置為默認啟動的系統;
          bcdedit /default {5189b25c-5558-4bf2-bca4-289b11bd29e2} : 設置指定GUID上的操作系統為默認啟動的系統;
          bcdedit /default {legacy} : 設置上一代Windows 系統Windows XP為默認啟動的系統;
          bcdedit /displayorder : 設置啟用菜單中各項的顯示順序,如:
          bcdedit.exe /displayorder {legacy} {current}
          將首先顯示Windows XP,然后再顯示默認啟動的系統如Windows Vista;
          bcdedit /timeout 15 : 將默認的啟動菜單顯示時間30秒更改為15秒,當然,您可以將這個時間修改為任何您希望的數值。
            使用BCDEdit修復硬盤/分區結構錯誤

            在對啟動選項的修改過程中,如添加或刪除某個硬盤/分區時,可能會因操作中的不慎導致硬盤/分區結構的混亂,除了采用恢復修改前的備份方法外,也可以首先使用BCDEdit來嘗試一下修復。

            具體方法如下:

          X:\>X:\boot\fixntfs.exe -lh -all : 這時的“ X: ”指引導目錄 “boot” 所在的硬盤/分區;
          bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} device partition=X: : 將指定GUID的分區設為啟動分區。注意,這里的“ X: ”的GUID須與指定值不同,同時,運行該命令后,必須接著運行下面的osdevice命令;
          bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} osdevice partition=X: : 將指定GUID的分區設為啟動分區。注意,這個命令必須與上面的device命令配對使用,同時“ X: ”的GUID須與指定值不同。

          資料引用:http://www.knowsky.com/340968.html

          http://www.chinaz.com/Server/Linux/02252341R008.html

          posted @ 2008-10-21 11:15 pasha 閱讀(1474) | 評論 (0)編輯 收藏

          2008年9月23日

          JQuery Ajax 方法說明

          轉自凡人足跡
          參數:

          options
          返回值:
          xmlHttpRequest
          使用HTTP請求一個頁面。
          這是jquery的低級ajax實現。要查看高級抽象,見$.set、$.post等,這些方法更易于理解和使用。但是功能上有限制(例如,沒有錯誤處理函數)。
          警告:如果數據類型指定為"script",那么POST自動轉化為GET方法。(因為script會作為一個嵌入頁面的script標簽進行載入)
          $.ajax()函數返回它創建的XMLHttpRequest對象。在大部分情況下,你不需要直接操作此對象。通常,這個XMLHttpRequest對象主要用于需要手動中斷XMLHttpRequest請求的時候。
          注意:如果你指明了下面列出的數據類型,請確保服務端發送了正確的MIME響應類型(如. xml 的類型是 "text/xml")。錯誤的MIME類型能夠導致腳本出現意想不到的問題。請查看AJAX的范例來了解數據類型的更多信息。
          $.ajax()函數需要一個參數,一個包含有鍵/值對的對象,用于初始化并操作請求對象。
          在jQuery 1.2版本中,如果你指明了一個JSONP回調函數,你就可以從其它的域中載入JSON類型的數據,寫法類似于 "myurl?callback=?" 。jQuery會自動調用正確的方法名稱來代替查詢字符串,執行你指定的回調函數。或者,你也可以指定jsonp的數據類型的回調函數,此函數會自動添加到Ajax請求中。
          參數選項:
          async(true) 數據類型: Boolean
          默認情況下,所有的請求都是異步發送的(默認為true)。 如果需要發送同步請求, 設置選項為false。注意,同步請求可能會暫時的鎖定瀏覽器, 當請求激活時不能進行任何操作。
          beforeSend 數據類型: Function
          一個預處理函數用于在發送前修改XMLHttpRequest對象,設置自定義頭部等。 XMLHttpRequest作為惟一的參數被傳遞。這是一個 Ajax 事件。 function (XMLHttpRequest) {
            this; // the options for this ajax request
          }cache(true) 數據類型: Boolean
          jQuery 1.2中新添加的參數, 如果設為false,則會強制瀏覽器不緩存請求的頁面。
          complete 數據類型: Function
          當請求完成時執行的函數(在成功或失敗之后執行)。這個函數有2個參數: XMLHttpRequest對象和一個描述HTTP相應的狀態字符串。 這是一個 Ajax 事件。 function (XMLHttpRequest, textStatus) {
            this; // the options for this ajax request
          }contentType("application/x-www-form-urlencoded") 數據類型: String
          發送到 data 數據類型: Object,String
          要發送給服務器的數據。如果不是字符串,那么它會被轉化為一個查詢字符串。在GET請求中它被添加到url的末尾。要防止這種自動轉化,請查看processData選項。 數據對象必須是一組鍵/值對。如果鍵對應的值是數組,jQuery會將其值賦給同一個鍵屬性。 例如 {foo:["bar1", "bar2"]} 變為 '&foo=bar1&foo=bar2'。
          dataType( Intelligent Guess (xml or html)) 數據類型: String
          期待由服務器返回值類型。如果沒有明確指定,jQuery會根據實際返回的MIME類型自動的將responseXML或responseText傳遞給success指定的回調函數。有效的類型(返回的類型的結果值會作為第一個參數傳遞給success指定的回調函數)有: "xml": 返回一個可以由jQuery處理的XML文檔。
          "html": 返回
          文本格式的HTML代碼。包括求值后的腳本標記。
          "script": 將響應作為 "json": 將響應作為JSON求值,并返回一個Javascript對象。
          "jsonp": 使用JSONP載入一個JSON代碼塊. 會在URL的末尾添加"?callback=?"來指明回調函數。(jQuery 1.2以上的版本支持)
          "text": 文本格式的字符串
          error 數據類型: Function
          請求失敗時執行的函數。函數具有3個參數: XMLHttpRequest對象,一個描述產生的錯誤類型和一個可選的異常對象, 如果有的化。 這是一個Ajax 事件。function (XMLHttpRequest, textStatus, errorThrown) {
            // typically only one of textStatus or errorThrown
            // will have info
            this; // the options for this ajax request
          }global(true) 數據類型: Boolean
          是否為當前的請求觸發全局AJAX事件處理函數,默認值為true。設置為false可以防止觸發像ajaxStart或ajaxStop這樣的全局事件處理函數。這可以用于控制多個不同的Ajax事件。
          ifModified(false) 數據類型: Boolean
          只有響應自上次請求后被修改過才承認是成功的請求。是通過檢查頭部的Last-Modified值實現的。默認值為false,即忽略對頭部的檢查
          jsonp 數據類型: String
          在jsonp請求中重新設置回調的函數。這個值用于代替'callback=?'中的查詢字符串。'callback=?'位于get請求中url的末尾或是post請求傳遞的數據中。因此設置 {jsonp:'onJsonPLoad'} 會將 'onJsonPLoad=?' 傳送給服務器。
          processData(true) 數據類型: Boolean
          在默認的情況下,如果data選項傳進的數據是一個對象而不是字符串,將會自動地被處理和轉換成一個查詢字符串,以適應默認的content-type--"application/x-www-form-urlencoded"。如果想發送
          domDocuments,就要把這個選項設置為false。
          success 數據類型: Function
          當請求成功時調用的函數。這個函數會得到二個參數:從服務器返回的數據(根據“dataType”進行了格式化)和一個描述HTTP相應的狀態字符串。這是一個 Ajax 事件。 function (data, textStatus) {
            // data could be xmlDoc, jsonObj, html, text, etc...
            this; // the options for this ajax request
          }timeout 數據類型: Number
          如果通過$.ajaxSetup設置了一個全局timeout,那么此函數使用一個局部timeout覆蓋了全局timeout(單位為毫秒)。例如,你可以設置比較長的延遲給一個特殊的請求,同時其他所有請求使用1秒的延遲。有關全局延遲,見$.ajaxTimeout()。
          type("GET") 數據類型: String
          請求的類型 ("POST" 或 "GET"), 默認是 "GET"。注意:其他的HTTP請求方法,如PUT和DELETE,在這里也可以使用,當時它們并不被所有的瀏覽器支持。
          url(The current page) 數據類型: String
          請求發送的目標URL地址
          username 數據類型: String
          username可用于在響應一個HTTP連接時的認證請求。 實例
          載入并執行一個JavaScript文件。
          $.ajax({
            type: "GET",
            url: "test.js",
            dataType: "script"
          });保存數據到服務器,完成后通知用戶。
           $.ajax({
             type: "POST",
             url: "some.    data: "name=John&location=Boston",
             success: function(msg){
               alert( "Data Saved: " + msg );
             }
           });取得一個HTML頁面的最新版本。
          $.ajax({
            url: "test.html",
            cache: false,
            success: function(html){
              $("#results").append(html);
            }
          });同步載入數據。在執行請求的時候阻塞瀏覽器。這是在保證數據的同步性比交互更重要的情況下的一種更好的方法。
           var html = $.ajax({
            url: "some.php",
            async: false
           }).responseText;向服務器發送xml文檔數據。通過設置processData選項為false,將數據自動轉換為string的動作被禁止了。
          var xmlDocument = [create xml document];
           $.ajax({
             url: "page.php",
             processData: false,
             data: xmlDocument,
             success: handleResponse
           });load( url, [data], [callback] )參數:
          url (String): 裝入頁面的URL地址。
          params (Map): (可選)發送到服務端的鍵/值對參數。
          callback (Function): (可選) 當數據裝入完成時執行的函數. function (responseText, textStatus, XMLHttpRequest) {
            this; // dom element
          }返回值:
          jQuery
          裝入一個遠程HTML內容到一個DOM結點。 默認使用get方法發送請求,但如果指定了額外的參數,將會使用post方法發送請求。在 jQuery 1.2中,可以在URL參數中指定一個jQuery選擇器,這會過濾返回的HTML文檔,只取得文檔中匹配選擇器的元素。此
          實例
          載入文檔的sidebar的導航部分到一個無序列表中。
          $("#links").load("/Main_Page #p-Getting-Started li");將feeds.html文件載入到id為feeds的div中。
          $("#feeds").load("feeds.html");同上,但是發送了附加的參數,并且在響應結束后執行一個自定義函數。
           $("#feeds").load("feeds.php", {limit: 25}, function(){
             alert("The last 25 entries in the feed have been loaded");
           });jQuery.get( url, [data], [callback] )參數:
          url (String): 裝入頁面的URL地址
          Map(可選): (可選)發送到服務端的鍵/值對參數
          callback (Function): (可選) 當遠程頁面裝入完成時執行的函數 function (data, textStatus) {
            // data可以是xmlDoc, jsonObj, html, text, 等...
            this; // the options for this ajax request
          }返回值:
          XMLHttpRequest
          使用GET請求一個頁面。
          這是向服務器發送get請求的簡單方法。它可以指定一個回調函數,在請求完成后執行(只有在請求成功時)。如果還需要設置error和success回調函數,則需要使用$.ajax。
          實例
          請求test.php頁,忽略返回值.
          $.get("test.php");請求test.php頁并發送附加數據(忽略返回值).
          $.get("test.php", { name: "John", time: "2pm" } );顯示從test.php請求的返回值(HTML 或 XML, 根據不同返回值).
          $.get("test.php", function(data){
            alert("Data Loaded: " + data);
          });顯示向test.cgi發送附加數據請求的返回值 (HTML 或 XML, 根據不同返回值).
          $.get("test.cgi", { name: "John", time: "2pm" },
            function(data){
              alert("Data Loaded: " + data);
            });jQuery.getJSON( url, [data], [callback] )參數:
          url (String): 裝入頁面的URL地址
          Map(可選): (可選)發送到服務端的鍵/值對參數
          callback (Function): (可選) 當數據裝入完成時執行的函數 function (data, textStatus) {
            // data will be a jsonObj
            this; // the options for this ajax request
          }返回值:
          XMLHttpRequest
          使用GET請求JSON數據。
          在jQuery 1.2版本中,如果你指明了一個JSONP回調函數,你就可以從其它的域中載入JSON類型的數據,寫法類似于 "myurl?callback=?" 。jQuery會自動調用正確的方法名稱來代替查詢字符串,執行你指定的回調函數。或者,你也可以指定jsonp的數據類型的回調函數,此函數會自動添加到Ajax請求中。注意: 請記住, that lines after this function will be executed before callback.
          實例
          從Flickr JSONP API中載入最新的四幅貓的圖片
          $.getJSON("
                  function(data){
                    $.each(data.items, function(i,item){
                      $("<img/>").attr("src", item.media.m).appendTo("#images");
                      if ( i == 3 ) return false;
                    });
                  });從test.js載入JSON數據, 從返回的JSON數據讀取name值。
          $.getJSON("test.js", function(json){
            alert("JSON Data: " + json.users[3].name);
          });從test.js載入JSON數據, 傳遞一個附加參數,從返回的JSON數據讀取name值。
          $.getJSON("test.js", { name: "John", time: "2pm" }, function(json){
            alert("JSON Data: " + json.users[3].name);
          });顯示向test.php發送請求的返回值 (HTML 或 XML, 根據不同返回值).
          $.getIfModified("test.php", function(data){
            alert("Data Loaded: " + data);
          });顯示向test.php發送請求的返回值 (HTML 或 XML, 根據不同返回值),提供了一個附加的參數.
          $.getIfModified("test.php", { name: "John", time: "2pm" },
            function(data){
              alert("Data Loaded: " + data);
            });列出從pages.php返回的查詢結果,將返回的數組轉化為一段HTML代碼。
          var id=$("#id").attr("value");
            $.getJSON("pages.php",{id:id},dates);
          function dates(datos)

           $("#list").html("Name:"+datos[1].name+"<br>"+"Last Name:"+datos[1].lastname+"<br>"+"Address:"+datos[1].address);
          }jQuery.getScript( url, [callback] )參數:
          url (String): 裝入頁面的URL地址
          callback (Function): (可選) 當數據裝入完成時執行的函數 function (data, textStatus) {
            // data應該是javascript
            this; // the options for this ajax request
          }返回值:
          XMLHttpRequest
          使用GET請求JavaScript文件并執行。
          在jQuery 1.2前, getScript只能從頁面所在的主機載入腳本,1.2中, 你可以從任何主機載入腳本。警告: Safari 2 及其更老的版本不能在全局上下文中正確識別腳本。如果你通過getScript載入函數,請保證設置一個延遲來執行這個腳本。
          實例
          我們動態的載入一個新的官方jQuery顏色動畫插件,載入后綁定一些動畫效果到元素上。
          $.getScript("
            $("#go").click(function(){
              $(".block").animate( { backgroundColor: 'pink' }, 1000)
                .animate( { backgroundColor: 'blue' }, 1000);
            });
          });載入test.js JavaScript文件并執行。
          $.getScript("test.js");載入test.js JavaScript文件并執行,當執行結束后顯示一條警告信息。
          $.getScript("test.js", function(){
            alert("Script loaded and executed.");
          });jQuery.post( url, [data], [callback], [type] )參數:
          url (String): 裝入頁面的URL地址
          Map(可選): (可選)發送到服務端的鍵/值對參數
          callback (Function): (可選) 當數據裝入完成時執行的函數 function (data, textStatus) {
            // data可能是 xmlDoc, jsonObj, html, text, 等...
            this; // the options for this ajax request
          }String $.postJSON = function(url, data, callback) {
           $.post(url, data, callback, "json");
          };返回值:
          XMLHttpRequest
          使用POST請求一個頁面。
          這是向服務器發送post請求的簡單方法。它可以指定一個回調函數,在請求完成后執行(只有在請求成功時)。如果還需要設置error和success回調函數,則需要使用$.ajax。
          ajaxComplete( callback )參數:
          callback (Function): 要執行的函數 function (event, XMLHttpRequest, ajaxOptions) {
            this; // dom element listening
          }返回值:
          jQuery
          當一個AJAX請求結束后,執行一個函數。這是一個Ajax事件
          實例
          當AJAX請求完成時顯示一條信息。
          $("#msg").ajaxComplete(function(request, settings){
             $(this).append("<li>Request Complete.</li>");
           });ajaxError( callback )參數:
          callback (Function): 要執行的函數 function (event, XMLHttpRequest, ajaxOptions, thrownError) {
            // thrownError only passed if an error was caught
            this; // dom element listening
          }返回值:
          jQuery
          當一個AJAX請求失敗后,執行一個函數。這是一個Ajax事件.
          實例
          當AJAX請求錯誤時顯示一條信息。
           $("#msg").ajaxError(function(request, settings){
             $(this).append("<li>Error requesting page " + settings.url + "</li>");
           });ajaxSend( callback )參數:
          callback (Function): 要執行的函數 function (event, XMLHttpRequest, ajaxOptions) {
            this; // dom element listening
          }返回值:
          jQuery
          在一個AJAX請求發送時,執行一個函數。這是一個Ajax事件.
          實例
          當AJAX請求發出后顯示一條信息。
           $("#msg").ajaxSend(function(evt, request, settings){
             $(this).append("<li<Starting request at " + settings.url + "</li<");
           });ajaxStart( callback )參數:
          callback (Function): 要執行的函數 function () {
            this; // dom element listening
          }返回值:
          jQuery
          在一個AJAX請求開始但還沒有激活時,執行一個函數。這是一個Ajax事件.
          實例
          當AJAX請求開始(并還沒有激活時)顯示loading信息。
          $("#loading").ajaxStart(function(){
             $(this).show();
           });ajaxStop( callback )參數:
          callback (Function): 要執行的函數 function () {
            this; // dom element listening
          }返回值:
          jQuery
          當所有的AJAX都停止時,執行一個函數。這是一個Ajax事件.
          實例
          當所有AJAX請求都停止時,隱藏loading信息。
          $("#loading").ajaxStop(function(){
             $(this).hide();
           });ajaxSuccess( callback )參數:
          callback (Function): 要執行的函數 function (event, XMLHttpRequest, ajaxOptions) {
            this; // dom element listening
          }返回值:
          jQuery
          當一個AJAX請求成功完成后,執行一個函數。這是一個Ajax事件
          實例
          當AJAX請求成功完成時,顯示信息。
           $("#msg").ajaxSuccess(function(evt, request, settings){
             $(this).append("<li>Successful Request!</li>");
           });jQuery.ajaxSetup( options )參數:
          Options: 用于Ajax請求的鍵/值對
          為所有的AJAX請求進行全局設置。查看$.ajax函數取得所有選項信息。
          實例
          設置默認的全局AJAX請求選項。
          $.ajaxSetup({
            url: "/xmlhttp/",
            global: false,
            type: "POST"
          });
          $.ajax({ data: myData });serialize( )返回值:
          jQuery
          以名稱和值的方式連接一組input元素。返回值類似于: single=Single2&multiple=Multiple&multiple=Multiple3&radio=radio2 。在jQuery 1.2中。serialize方法實現了正確表單元素序列,而不再需要插件支持。
          實例
          連接表單元素的一組查詢字符串,可用于發送Ajax請求。
              function showValues() {
                var str = $("form").serialize();
                $("#results").text(str);
              }

              $(":checkbox, :radio").click(showValues);
              $("select").change(showValues);
              showValues();serializeArray( )返回值:
          jQuery
          連接所有的表單和表單元素(類似于.serialize()方法),但是返回一個JSON數據格式。
          實例
          從form中取得一組值,顯示出來
              function showValues() {
                var fields = $(":input").serializeArray();
                alert(fields);
                $("#results").empty();
                jQuery.each(fields, function(i, field){
                  $("#results").append(field.value + " ");
                });
              }

              $(":checkbox, :radio").click(showValues);
              $("select").change(showValues);
              showValues();

          posted @ 2008-09-23 09:12 pasha 閱讀(3300) | 評論 (0)編輯 收藏

          2008年9月22日

          EditPlus技巧(Liangjhrn)

          EditPlus技巧
          ------------------------------------------------------
          技巧中,基于平時我對EditPlus的摸索實踐而成,在編譯器集成例子中參照了部分官方的文獻。有幾篇是從網上搜集來的,這里我注明了來源或原始作者。如果你是相應作者,不希望文章放在這里,請通知我,我會及時刪掉。 -----Liangjh

          自己寫的一些里面,不見得有多大的技術含量,只是希望有時能夠節省大家的一些時間
          ------------------------------------------------------
          文章或者技巧及原始作者或出處:

          正則表達式類
          【1】 正則表達式應用——替換指定內容到行尾
          【2】 正則表達式應用——數字替換----------------------------Microshaoft@CCF,jiuk2k@CCF
          【3】 正則表達式應用——刪除每一行行尾的指定字符
          【4】 正則表達式應用——替換帶有半角括號的多行
          【5】 正則表達式應用——刪除空行----------------------------江德華

          軟件技巧類
          ------------------------------------------------------
          【6】 軟件技巧——鍵盤記錄的注意事項
          【7】 軟件技巧——關閉文檔標簽的便捷方法
          【8】 軟件技巧——如何去掉 EditPlus 保存文本文件時的添加后綴提示?
          【9】 軟件技巧——提示找不到語法文件的解決辦法
          【10】軟件技巧——設置editplus支持其它文字,如韓文----------jackywu1978@LJF
          【11】軟件技巧——FTP 上傳的設置----------------------------李應文2.11漢化版
          【12】軟件技巧——如何禁用備份文件功能?
          【13】軟件技巧——添加語法文件、自動完成文件、以及剪輯庫文件
          工具集成類
          ------------------------------------------------------
          【14】工具集成——編譯器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis、C#)
          【15】工具集成——讓Editplus調試PHP程序----------------------avenger,aukw@CCF
          【16】工具集成——打造 PHP 調試環境(二)----------------------老七2.11漢化版
          【17】在 WINPE 中集成 EDITPLUS
          后續添加
          ------------------------------------------------------
          【18】支持帶UTF-8標記/不帶UTF-8標記的文件
          【19】建立文件關聯,以便在資源管理器中雙擊打開對應語法文件
          【20】特別應用,雙擊單詞選擇問題
          【21】在Editplus中使用CVS版本控制功能---------------------sunbn@CCF

          每個步驟都說得很詳細了,就沒有必要貼圖了,體積不要太大才好。

          【1】正則表達式應用——替換指定內容到行尾
          原始文本如下面兩行
          abc aaaaa
          123 abc 444

          希望每次遇到“abc”,則替換“abc”以及其后到行尾的內容為“abc efg”
          即上面的文本最終替換為:
          abc efg
          123 abc efg

          解決:
          ① 在替換對話框,查找內容里輸入“abc.*”
          ② 同時勾選“正則表達式”復選框,然后點擊“全部替換”按鈕
          其中,符號的含義如下:
          “.” =匹配任意字符
          “*” =匹配0次或更多

          注意:其實就是正則表達式替換,這里只是把一些曾經提出的問題加以整理,單純從正則表達式本身來說,就可以引申出成千上萬種特例。

          【2】正則表達式應用——數字替換 (Microshaoft@CCF,jiuk2k@CCF)
          希望把
          asdadas123asdasdas456asdasdasd789asdasd
          替換為:
          asdadas[123]asdasdas[456]asdasdasd[789]asdasd

          在替換對話框里面,勾選“正則表達式”復選框;
          在查找內容里面輸入“[0-9][0-9][0-9]”,不含引號
          “替換為:”里面輸入“[\0\1\2]”,不含引號
          范圍為你所操作的范圍,然后選擇替換即可。

          實際上這也是正則表達式的使用特例,“[0-9]”表示匹配0~9之間的任何特例,同樣“[a-z]”就表示匹配a~z之間的任何特例
          上面重復使用了“[0-9]”,表示連續出現的三個數字
          “\0”代表第一個“[0-9]”對應的原型,“\1”代表第二個“[0-9]”對應的原型,依此類推
          “[”、“]”為單純的字符,表示添加“[”或“]”,如果輸入“其它\0\1\2其它”,則替換結果為:

          asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd

          ■功能增強(by jiuk2k@CCF):
          如果將查找內容“[0-9][0-9][0-9]”改為“[0-9]*[0-9]”,對應1 或 123 或 12345 或 ...
          也可以這樣定制
          查找: ([0-9]+)
          替換: [\1]或 [$1]

          在 \1 或大或 $1 后面加入欲替換目標

          ■補充(by jiuk2k@CCF)
          editplut支持的只是Regular expression 的子集,如果用其它支持全集的替換軟件可以如下簡單操作
          正則表達式應用——數字替換 :
          search: ([\d]+)
          replace: [\1] or [$1]

          editplus:
          search: ([0-9]+)
          replace: [\1]


          【3】正則表達式應用——刪除每一行行尾的指定字符
          因為這幾個字符在行中也是出現的,所以肯定不能用簡單的替換實現
          比如
          12345 1265345
          2345
          需要刪除每行末尾的“345”
          這個也算正則表達式的用法,其實仔細看正則表達式應該比較簡單,不過既然有這個問題提出,說明對正則表達式還得有個認識過程,解決方法如下
          解決:
          在替換對話框中,啟用“正則表達式”復選框
          在查找內容里面輸入“345$”
          這里“$”表示從行尾匹配

          如果從行首匹配,可以用“^”來實現,不過 EditPlus 有另一個功能可以很簡單的刪除行首的字符串
          a. 選擇要操作的行
          b. 編輯-格式-刪除行注釋
          c. 在彈出對話框里面輸入要清除的行首字符,確定

          【4】正則表達式應用——替換帶有半角括號的多行
          幾百個網頁中都有下面一段代碼:

          我想把它們都去掉,可是找了很多search & replace的軟件,都是只能對“一行”進行操作。

          EditPlus 打開幾百個網頁文件還是比較順暢的,所以完全可以勝任這個工作。
          具體解決方法,在 Editplus 中使用正則表達式,由于“(”、“)”被用做預設表達式(或者可以稱作子表達式)的標志,所以查找
          “\n”
          時會提示查找不到,所以也就無法進行替換了,這時可以把“(”、“)”使用任意字符標記替代,即半角句號:“.”。替換內容為
          \n
          在替換對話框啟用“正則表達式”選項,這時就可以完成替換了

          補充:(lucida@******)
          對( ) 這樣的特殊符號,應該用\( \)來表示,這也是很標準的regexp語法,可以寫為
          \n

          ■補充(by jiuk2k@CCF)
          editplut支持的只是Regular expression 的子集,如果用其它支持全集的替換軟件可以如下簡單操作

          search:
          replace: 空格


          【5】正則表達式應用——刪除空行
          啟動EditPlus,打開待處理的文本類型文件。
          ①、選擇“查找”菜單的“替換”命令,彈出文本替換對話框。選中“正則表達式”復選框,表明我們要在查找、替換中使用正則表達式。然后,選中“替換范圍”中的“當前文件”,表明對當前文件操作。
          ②、單擊“查找內容”組合框右側的按鈕,出現下拉菜單。
          ③、下面的操作添加正則表達式,該表達式代表待查找的空行。(技巧提示:空行僅包括空格符、制表符、回車符,且必須以這三個符號之一作為一行的開頭,并且以回車符結尾,查找空行的關鍵是構造代表空行的正則表達式)。
          直接在"查找"中輸入正則表達式“^[ \t]*\n”,注意\t前有空格符。
          (1)選擇“從行首開始匹配”,“查找內容”組合框中出現字符“^”,表示待查找字符串必須出現在文本中一行的行首。
          (2)選擇“字符在范圍中”,那么在“^”后會增加一對括號“[]”,當前插入點在括號中。括號在正則表達式中表示,文本中的字符匹配括號中任意一個字符即符合查找條件。
          (3)按一下空格鍵,添加空格符。空格符是空行的一個組成成分。
          (4)選擇“制表符”,添加代表制表符的“\t”。
          (5)移動光標,將當前插入點移到“]”之后,然后選擇“匹配 0 次或更多”,該操作會添加星號字符“*”。星號表示,其前面的括號“[]”內的空格符或制表符,在一行中出現0個或多個。
          (6)選擇“換行符”,插入“\n”,表示回車符。
          ④、“替換為”組合框保持空,表示刪除查找到的內容。單擊“替換”按鈕逐個行刪除空行,或單擊“全部替換”按鈕刪除全部空行(注意:EditPlus有時存在“全部替換”不能一次性完全刪除空行的問題,可能是程序BUG,需要多按幾次按鈕)。

          ■補充(by jiuk2k@CCF)
          editplut支持的只是Regular expression 的子集,如果用其它支持全集的替換軟件可以如下簡單操作

          search: ^\s+
          replace: 空格
          相關內容還有很多,可以自己參考正則表達式的語法仔細研究一下

          【6】軟件技巧——鍵盤記錄的注意事項
          EditPlus 的鍵盤記錄有些類似于 UltraEdit 的宏操作,不過功能相對單一,錄制的文件可編輯性較差。
          由于基本無法編輯錄制的文件,所以錄制的時候為了避免錄制失敗,推薦純粹使用鍵盤操作,以下是比較關鍵的幾個鍵盤組合:
          Ctrl+F = 調出查找對話框
          Ctrl+H = 調出替換對話框
          Alt+F4 = 關閉作用,比如,關閉查找對話框、關閉替換對話框,等等
          其它鍵盤快捷鍵在“幫助-快捷鍵列表”里面可以很容易的查找到,這里就不細說了。

          【7】軟件技巧——關閉文檔標簽的便捷方法
          右鍵單擊文檔標簽工具條,彈出菜單中選擇“標簽選項”,選中“用鼠標中間的按鈕關閉”,這里包括鼠標的滾輪。

          【8】軟件技巧——如何去掉 EditPlus 保存文本文件時的添加后綴提示?
          如果你使用 EditPlus 進行文本編輯,那么每次創建文本文件,編輯后保存時,盡管文件類型下拉列表中顯示的是文本文件, EditPlus 還是詢問你是否添加".txt"后綴,是不是很煩?
          解決方法:
          ① 在程序目錄建立一個空的文件“template.txt”
          ② “工具-參數設置-模板”里面,單擊“添加”按鈕添加模板,“菜單文本”這里輸入“Text”,瀏覽“template.txt”,之后確定即可
          ③ “文件-新建-text”,就可以建立一個空的文本文件,保存時,這個文件自動帶有擴展名".txt",也就避免了令人頭疼的確認
          ④ 模板設置文件名稱為“template.ini”,如果和主程序同一路徑,可以使用相對路徑
          羅嗦了點,不過管用
          要自動創建帶有某種后綴的文件,方法同上。

          【9】軟件技巧——提示找不到語法文件 *.stx 的解決辦法
          原因多為設置的語法文件不存在或者是路徑設置不對。這是因為 EditPlus 的語法是設置文件采用的是絕對路徑,而在你設置了語法文件之后,再把程序復制到其它目錄,因而導致 EditPlus 無法找到該語法文件。
          解決辦法:
          在主程序目錄里,找到 Setting.ini 這是 EditPlus 存放語法的文件
          查找后綴為“.stx”、“acp”的文本內容,或者查找帶有驅動器符號的行,比如
          Syntax file=C:\Program Files\EditPlus 2\cpp.stx
          那么,就把”C:\Program Files\EditPlus 2\“替換成你當前軟件的路徑。
          其它提示找不到文件的解決方法同上

          【10】軟件技巧——設置editplus支持其它文字,如韓文
          在editplus里打開文件,出來打開文件對話框;然后點擊“轉換器”后面的那個省略號,會出來自定義轉換器對話框;在右邊選擇你需要的編碼方式,添加到左邊,然后點確定;最后在下拉框中選擇需要的編碼方式,然后打開文件即可。

          【11】軟件技巧——FTP 上傳的設置
          “文件->遠程操作->FTP 上傳”在“設置”選項卡中設置好參數(“子目錄”前面應該加“/”如“/web/”),點擊“確定”回到“FTP 上傳”選項卡,然后點擊“上傳”即可;“批量上傳”的設置類似。

          【12】軟件技巧——如何禁用備份文件功能?
          在“參數選擇”的文件選項頁,禁用“'保存時自動創建備份文件”選項

          【13】軟件技巧——添加語法文件、自動完成文件、以及剪輯庫文件
          要添加 *.STX(語法文件)或 *.ACP(自動完成文件):
          1. 選擇“參數選擇→語法”
          2. 單擊“添加”按鈕,命名,在“擴展名”部分輸入對應擴展名(不帶“.”)
          3. 瀏覽/輸入 STX(語法文件部分) 以及 ACP(自動完成文件部分)。
          添加剪輯庫文件(*.CTL)
          復制相應 *.CTL 文件到軟件安裝目錄,重新啟動 EditPlus ,則系統自動識別。

          作者主頁有很多語法自動完成文件下載,地址
          http://editplus.com/files.html

          【14】工具集成——編譯器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis)
          在“工具→參數選擇→用戶工具”選項頁設置,設置步驟
          ① 設置組名稱,這里也可以不設置
          ② 單擊“添加工具→應用程序”按鈕并進行如下設置
          ③ 各種類似"$(FilePath)"的參數可以在文本框右側的箭頭下拉菜單中獲取,具體含義如下
          參數 描述
          $(FilePath) 文件路徑(文件全名,含目錄和文件名)
          $(FileDir) 文件目錄(不帶文件名)
          $(FileName) 文件名(不帶目錄)
          $(FileNameNoExt) 不帶擴展名的文件名(不帶目錄)
          $(FileExt) 擴展名(當前文件)
          $(ProjectName) 工程名稱(當前工程名)
          $(CurLine) 當前行號(光標位置處的行號)
          $(CurCol) 當前列號(光標位置處的列號)
          $(CurSel) 當前文本(插入當前選定文本)
          $(CurWord) 當前單詞(插入當前單詞)
          $(WindowList) 顯示當前窗口列表并選擇特定文件


          例子 1. Java 編譯器

          菜單文本:Java 編譯器
          命令:c:\java\bin\javac.exe
          參數:"$(FilePath)"
          初始目錄:$(FileDir)
          捕獲輸出:開啟

          要運行已編譯的 Java 類文件,你可以進行如下設置:
          菜單文本:Java
          命令:c:\java\bin\java.exe
          參數:$(FileNameNoExt)
          初始目錄:$(FileDir)
          “命令”部分應當替換為實際的 Java 解釋器的路徑。

          例子 2. Borland C++

          菜單文本:Borland C
          命令:c:\bc\bin\bcc32.exe
          參數:-Ic:\bc\include -Lc:\bc\lib -n$(FileDir) $(FilePath)
          初始目錄:c:\bc\bin
          捕獲輸出:開啟

          例子 3. Visual C++

          菜單文本:Visual C++
          命令:c:\msdev\vc98\bin\cl.exe
          參數:"$(FilePath)"
          初始目錄:$(FileDir)
          捕獲輸出:開啟

          例子 4. Inno Setup
          菜單文本:編譯 Inno
          命令:C:\Program Files\Inno Setup 4\Compil32.exe”
          參數:/cc $(FileName)
          初始目錄:$(FileDir)
          捕獲輸出:開啟

          例子 5. nsis
          菜單文本:編譯 nsis
          命令:C:\NSIS\makensis.exe
          參數:$(FileName)
          初始目錄:$(FileDir)
          捕獲輸出:開啟

          例子 6. C#
          菜單文本:編譯 C#
          命令:C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\csc.exe
          參數:$(FileName)
          初始目錄:$(FileDir)
          捕獲輸出:開啟

          在上面設置中,在命令部分,必須使用系統中各自編譯器的絕對路徑。

          設置完畢后,你可以在“工具”菜單運行對應工具了,運行結果會顯示在底部的輸出窗口,你也可以通過快捷鍵(Ctrl + 0-9) 運行,或者是通過“用戶工具欄”的快捷按鈕運行。

          要運行已編譯的 *.exe 文件,你可以進行如下設置(此時可執行文件需要和編譯文件同名):
          菜單文本:Run
          命令:$(FileNameNoExt)
          參數:
          初始目錄:$(FileDir)

          【15】工具集成—— 讓Editplus調試PHP程序
          1:打開Editplus,選擇"工具->配置用戶工具..."菜單。
          2:在彈出的窗口中選擇"添加工具->應用程序",給新程序起一個好記的名字,比如這里我們用"Debug PHP",在"菜單文本"中輸入"Debug PHP"。點擊"命令行"右邊的按鈕,找到你的php.exe所在的路徑,例如這里是"c:\php\php.exe"。再點擊"參數"右邊的下拉按鈕選擇"文件路徑",最后再把"捕獲輸出"前面的復選框選上。
          3:現在測試一下,新建一個php文件,按快捷鍵Ctrl+1可以激活剛才我們設置的工具(如果你設置了多個工具,快捷鍵可能會有所不同),現在你可以看到它已經能正常工作了。但是還有一點不太理想:如果你的PHP程序出錯,在輸出窗口會提示你第幾行出錯 ,單擊這一行提示,Editplus老是提示你找不到某某文件,是否新建。接下下我們要修正這個功能。
          4:打開剛才用戶工具設置窗口,找到剛才設置的"Debug PHP"工具。點擊"捕獲輸出"復選框旁邊的"輸出模式"按鈕,會彈出一個定義輸出模式的窗體,把"使用默認輸出模式"前面的復選框去掉, 在"正則表達式"這一項的文本框中輸入" ^.+ in (.+) line ([0-9]+) "(不包括引號),細心的朋友可能會發現,這里使用的也正則表達式的語法。然后,在下面的"文件名"下拉菜單中選擇"預設表達式 1",即上邊正則表達式中的第一個參數,"行"下拉菜單項選擇"預設表達式 2","列"下拉項保持為空。然后保存設置。
          5:好了,現在再來試一下吧,雙擊出錯的行數,Editplus就會自動激活出錯文件,并把光標定位到出錯行,是不是特別方便呢?!
          現在,Editplus經過我們的"改造",已經可以即時的調試PHP文件了,雖然還不是"可視化"界面的,但對于一些平常的小程序來查錯還是非常好用的。Editplus真是不款不可多得的好工具,如果你有什么使用技巧,不要忘了大家一起分享哦。^O^

          如果不能切換錯誤行號,請嘗試作如下修改: (by aukw@CCF)
          1.php.ini 中html_errors = Off打開
          //如果你不打開,3.中的表達式要修改
          2.參數改成:-q -f "$(FilePath)"
          //不加"符號的話文件名有空格的文件調試失敗。。
          //-q不輸出html頭信息,你去掉也行,不過調試時候你一般用不到那些header信息
          3." ^.+ in (.+) line ([0-9]+) " 改成 "^.+ in (.+) on line ([0-9]+)$"
          //如果還是不行,請注意調試結果,自己修改表達式來取出文件名和行號

          【16】工具集成——打造 PHP 調試環境(二)
          1: 把剪輯庫定位在 PHP4 Functions 上就可以在編輯時, 利用[插入]->[匹配剪輯]命令,就可以自動完成末輸入完整的 PHP 函數(或直接按 F2 鍵)
          2: 類似上面,在選擇部分文字后,同樣可以自動完成。(同 F2)
          3: 在[參數選擇]->[設置和語法]->PHP->自動完成, 選擇目錄下的 php.acp 文件,你可以定制自己的自動完成方式.
          4: 想要即時預覽文件,可在[參數選擇]->[工具]->WEB 服務器中添加本地目錄,(注意不要加 http:// , 應是一個有效的站點)。
              如: 主機->localhost/php | 根目錄->D:\php
          主機->localhost/asp | 根目錄->D:\asp
          主機->localhost/cgi | 根目錄->D:\cgi
          完成設置后只要腳本文件位于這些目錄下(子目錄也沒問題), 就能夠正確解釋.
          5: 各種語法和模板文件可以在 http://editplus.com/files.html 獲得,可根據需要選用和編輯。
          6: Ctrl+F11 可顯示當前文件中的函數列表.
          7: 添加各種用戶工具.如:
          啟動MYSQL服務器管理工具->C:\mysql\bin\winmysqladmin.exe
          啟動Apache服務器->C:\Apache\bin\Apache.exe -k start
          啟動Apache服務器->C:\Apache\bin\Apache.exe -k stop (shutdown)
          8: DBG 附帶有一個 prof_results.php 文件,可剖析 PHP 程序的性能.
          雖不是真正的調試器,但已經夠了.
          OK! 經過改造后,是不是有點象一個 IDE 什么?還差點,沒有即時幫助...看我的,再來:
          9: 把 php_manual_en.chm (最好是擴展幫助手冊)加入到用戶工具中, 當遇到需要參考的關鍵字時, 把光標定位其上, 按下快捷鍵 Ctrl+1, 看到了嗎.
          在輸入時有想不起來的函數名時, 先按照第 1 條的方法調出函數, 然后...怎么樣?

          以上有的是對于調試工具的設置,由于此類工具比較多,大家設置時參考以上的基本就差不多了,所以就不過多的列舉了。

          【17】在 WINPE 中集成 EDITPLUS
          可以基于目前的bartpe做得WINPE中,菜單使用nu2menu制作

          默認位置為 \programs\editplus\
          默認系統位置為光盤的 i386 目錄

          i386/system32 的 autorun.bat 中添加外殼集成(系統右鍵)
          regedit /s %SystemDrive%\programs\editplus\REG.REG
          regsvr32 /s \programs\editplus\EPPSHELL.DLL
          (reg.reg保存了epp的工具欄信息,當然注冊用戶也可以放置注冊信息)

          復制editplus安裝包里面的文件到programs\editplus\,注意,如果有setting.ini,刪掉該文件,在nu2menu里面加入以下句子(可以根據需要安排位于特定菜單條目下)
          FUNC="@GetProgramDrive()\Programs\EditPlus\editplus.exe">EditPlus 文本編輯

          【18】支持帶UTF-8標記/不帶UTF-8標記的文件 Lei@******提出并測試
          這里Byte Order Mark翻譯為標記/文件頭/標簽

          參數選擇-文件-里面設置“支持不帶有UTF-8文件頭的UTF-8文件”,我這里翻譯標簽為UTF-8文件頭,如果復選該項,應該是保存為不帶標簽的Utf-8,如果不復選,應該是保存成帶有BOM的UTF-8。
          這樣就可以打開帶簽名的UTF-8文件,并且可以正常編輯,但是又不能打開不帶簽名的了,想要打開不帶簽名的還需要改回來...不過雖然有點麻煩,但是總算能用了

          【19】建立文件關聯,以便在資源管理器中雙擊打開對應語法文件

          Editplus中可以設置各種語法,如果希望建立文件關聯:
          在“參數選擇-語法”對話框中,選擇一個語法,如C++,在下面的“語法設置”標簽里面,選擇“關聯到資源管理器中”,以后雙擊對應文件后綴的時候,就會直接啟用EditPlus打開了。

          【20】特別應用,雙擊單詞選擇問題
          比如對于下面文本,希望雙擊“1234”位置,就可以選擇“1234”,而不是選擇整行
          ABCD-1234-EFGH-ACDE
          軟件默認是選擇整行,這時可以自己進行設置,打開“參數選擇”,在“常規”選項頁的第三個選項里面(雙擊單詞截止府),添加輸入“-“,確認,以后就可以實現截止符之間的內容了


          【21】在Editplus中使用CVS版本控制功能 sunbn@CCF
          CVS是開放源代碼的版本控制系統,CVS作為一個免費的優秀的版本管理工具被廣泛的使用在許多的軟件公司的軟件配置管理過程中。
          我們經常使用的CVS客戶端是WinCVS,或者JBuilder/Eclipse內置的CVS功能。可是有時候編輯html文件、PHP/Perl文件或者Java文件的時候經常使用到輕便的編輯工具——Editplus2.x,往往編輯完了之后需要使用WinCVS再進行更新或者提交操作,來回切換程序窗口很是麻煩。如何讓Editplus也能夠方便的使用CVS功能呢,其實利用Edit plus的“User Tool”——“用戶工具”功能就可以實現。其方便程度甚至快追上一些IDE了,而且經過測試,進行簡單的CVS提交和更新動作比WinCVS要快一些。
          在設置之前我們還是要安裝WinCVS的客戶端,因為要用到cvs.exe這個命令行工具完成我們的工作,安裝好WinCVS之后,需要將WinCVS的安裝路徑寫到系統的全局變量“Path”中,使系統可以找到cvs.exe這個可執行程序。或者在下面 的設置中指定cvs程序的絕對路徑。
          具體設置方法如下:
          1、菜單中Tools>>Preference,在設置對話框選擇“Files”,勾選“reload modified files automatically”,即自動載入被修改的文件。
          2、菜單中Tools>>Configure User Tools,點擊Group Name,將一個Group名稱設置為CVS。
          3、在“Group and tool items”下拉框中選擇我們新建的CVS Group
          4、點擊“Add Tool >> ”按鈕新增一個Tool并設置相關選項。
          login的設置注意要取消掉“Capture Output”因為要在下面的彈出窗口中輸入登錄的密碼。
          我們可以在“Output Window”窗口看到以上工具執行的結果:
          以上是拋磚引玉,希望能對大家有所幫助,其實在UltraEdit/Emedit等中也可以使用外部工具設置CVS的使用。
          另外,需要注意的幾點:
          1。首先您所編輯的文件是處于CVS控制下的文件,即還是需要使用WinCVS來Checkout你的module(用cvs命令行也可),在Editplus中也可以設置User Tools進行checkout,但是并不常用也不方便。
          2。向CVS添加文件和從CVS刪除文件也是可以放到User Tools中的,這個大家可以自己試著配置一下。
          您正在看的文章來自番禺論壇 http://bbs.pyyrf.com/,原文地址:http://bbs.pyyrf.com/thread-16024-1-1.htmlrn原文來自:http://www.sb1987.cn/post/360/

          posted @ 2008-09-22 16:52 pasha 閱讀(1325) | 評論 (0)編輯 收藏

          轉載:《關于JSP頁面中的pageEncoding和contentType兩種屬性的區別》

          pageEncoding是jsp文件本身的編碼

            contentType的charset是指服務器發送給客戶端時的內容編碼

            JSP要經過兩次的“編碼”,第一階段會用pageEncoding,第二階段會用utf-8至utf-8,第三階段就是由Tomcat出來的網頁, 用的是contentType。

            第一階段是jsp編譯成.java,它會根據pageEncoding的設定讀取jsp,結果是由指定的編碼方案翻譯成統一的UTF-8 JAVA源碼(即.java),如果pageEncoding設定錯了,或沒有設定,出來的就是中文亂碼。

            第二階段是由JAVAC的JAVA源碼至java byteCode的編譯,不論JSP編寫時候用的是什么編碼方案,經過這個階段的結果全部是UTF-8的encoding的java源碼。

            JAVAC用UTF-8的encoding讀取java源碼,編譯成UTF-8 encoding的二進制碼(即.class),這是JVM對常數字串在二進制碼(java encoding)內表達的規范。

            第三階段是Tomcat(或其的application container)載入和執行階段二的來的JAVA二進制碼,輸出的結果,也就是在客戶端見到的,這時隱藏在階段一和階段二的參數contentType就發揮了功效

            contentType的設定.

            pageEncoding 和contentType的預設都是 ISO8859-1. 而隨便設定了其中一個, 另一個就跟著一樣了(TOMCAT4.1.27是如此). 但這不是絕對的, 這要看各自JSPC的處理方式. 而pageEncoding不等于contentType, 更有利亞洲區的文字 CJKV系JSP網頁的開發和展示, (例pageEncoding=GB2312 不等于 contentType=utf-8)。其他的語言也對應不同的charset,比如日文的字符集是“iso-2022-jp ”,韓文的是“ks_c_5601”。Content-Type的Content還可以是:text/xml等文檔類型;Charset選項:ISO-8859-1(英文)、BIG5、UTF-8、SHIFT-Jis、Euc、Koi8-2、us-ascii, x-mac-roman, iso-8859-2, x-mac-ce, iso-2022-jp, x-sjis, x-euc-jp,euc-kr, iso-2022-kr, gb2312, gb_2312-80, x-euc-tw,x-cns11643-1,x-cns11643-2等字符集;Content-Language的Content還可以是:EN、FR等語言代碼。

              ContentType屬性指定了MIME類型和JSP頁面回應時的字符編碼方式。MIME類型的默認值是“text/html”; 字符編碼方式的默認值是“ISO-8859-1”. MIME類型和字符編碼方式由分號隔開

              pageEncoding的內容只是用于jsp輸出時的編碼,不會作為header發出去的。
              pageEncoding   是通知web server jsp的編碼。

            jsp文件不像.java,.java在被編譯器讀入的時候默認采用的是操作系統所設定的locale所對應的編碼,比如中國大陸就是GBK,臺灣就是BIG5或者MS950。而一般我們不管是在記事本還是在ue中寫代碼,如果沒有經過特別轉碼的話,寫出來的都是本地編碼格式的內容。所以編譯器采用的方法剛好可以讓虛擬機得到正確的資料。

            但是jsp文件不是這樣,它沒有這個默認轉碼過程,但是指定了pageEncoding就可以實現正確轉碼了。

            舉個例子:

          <%@ page contentType="text/html;charset=utf-8" %>

            大都會打印出亂碼,因為輸入的“你好”是gbk的,但是服務器是否正確抓到“你好”不得而知。

            但是如果更改為

          <%@ page contentType="text/html;charset=utf-8" pageEncoding="GBK"%>

            這樣就服務器一定會是正確抓到“你好”了。

          posted @ 2008-09-22 11:08 pasha 閱讀(401) | 評論 (0)編輯 收藏

          2008年9月21日

          tomcat中的context.xml元素詳解

          tomcat中的context.xml元素詳解小人物,大博客 Q'e ^ L0J*J4h
          元素名
          屬性
          解釋
          server
          port
          指定一個端口,這個端口負責監聽關閉tomcat的請求
          shutdown
          指定向端口發送的命令字符串
          service
          name
          指定service的名字
          Connector(表示客戶端和service之間的連接)
          port
          指定服務器端要創建的端口號,并在這個端口監聽來自客戶端的請求
          minProcessors
          服務器啟動時創建的處理請求的線程數
          maxProcessors
          最大可以創建的處理請求的線程數
          enableLookups
          如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址
          redirectPort
          指定服務器正在處理http請求時收到了一個SSL傳輸請求后重定向的端口號
          acceptCount
          指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理
          connectionTimeout
          指定超時的時間數(以毫秒為單位)
          Engine(表示指定service中的請求處理機,接收和處理來自Connector的請求)
          defaultHost
          指定缺省的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的
          Context(表示一個web應用程序,通常為WAR文件,關于WAR的具體信息見servlet規范)
          docBase
          應用程序的路徑或者是WAR文件存放的路徑
          path
          表示此web應用程序的url的前綴,這樣請求的urlhttp://localhost:8080/path/****
          reloadable
          這個屬性非常重要,如果為true,則tomcat會自動檢測應用程序的/WEB-INF/lib /WEB-INF/classes目錄的變化,自動裝載新的應用程序,我們可以在不重起tomcat的情況下改變應用程序
          host(表示一個虛擬主機)
          name
          指定主機名
          appBase
          應用程序基本目錄,即存放應用程序的目錄
          unpackWARs
          如果為true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運行應用程序
          Logger(表示日志,調試和錯誤信息)
          className
          指定logger使用的類名,此類必須實現org.apache.catalina.Logger 接口
          prefix
          指定log文件的前綴
          suffix
          指定log文件的后綴
          timestamp
          如果為true,則log文件名中要加入時間,如下例:localhost_log.2001-10-04.txt
          Realm(表示存放用戶名,密碼及role的數據庫)
          className
          指定Realm使用的類名,此類必須實現org.apache.catalina.Realm接口
          Valve(功能與Logger差不多,其prefixsuffix屬性解釋和Logger 中的一樣)
          className
          指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類可以記錄應用程序的訪問信息
          directory
          指定log文件存放的位置
          pattern
          有兩個值,common方式記錄遠程主機名或ip地址,用戶名,日期,第一行請求的字符串,HTTP響應代碼,發送的字節數。combined方式比common方式記錄的值更多

          posted @ 2008-09-21 11:14 pasha 閱讀(3558) | 評論 (0)編輯 收藏

          Tomcat6數據源配置(轉)

          Tomcat 5的數據源配置跟Tomcat 5.5的數據源配置有很多的差別,Tomcat 6的數據源配置跟Tomcat 5.5的配置基本上相同。
          以前的Tomcat5的配置需要在server.xml文件當中配置或者在conf/Catalina/localhost下面相應的上下文配置文件做配置。這種配置方式不合理的地方在于,假如數據庫做了更改,程序員需要手工去修改這些文件,不利于團隊開發。
          Tomcat 5.5跟Tomcat 6的配置顯得更為簡單,我們只需要在我們的WebRoot目錄下,新建一個META-INF的目錄(假如不存在),在該目錄下創建一個context.xml文件,(或conf目錄下的全局context.xml),并且在context.xml文件當添加以下的配置信息(要根據自己的情況稍加修改):
          程序代碼
          <Context>
          <Resource name="jdbc/tfms" auth="Container" type="javax.sql.DataSource"
          maxActive="50" maxIdle="30" maxWait="10000" logAbandoned="true"
          username="sa" password="password" driverClassName="net.sourceforge.jtds.jdbc.Driver"
          url="jdbc:jtds:sqlserver://localhost:1433/TransfusionMngDB;tds=8.0;lastupdatecount=true"/>
          </Context>



          其中:
          name 表示指定的jndi名稱
          auth 表示認證方式,一般為Container
          type 表示數據源床型,使用標準的javax.sql.DataSource
          maxActive 表示連接池當中最大的數據庫連接
          maxIdle 表示最大的空閑連接數
          maxWait 當池的數據庫連接已經被占用的時候,最大等待時間
          logAbandoned 表示被丟棄的數據庫連接是否做記錄,以便跟蹤
          username 表示數據庫用戶名
          password 表示數據庫用戶的密碼
          driverClassName 表示JDBC DRIVER
          url 表示數據庫URL地址

          在以往的tomcat當中還需要在web.xml指定相應的resource,在tomcat 5.5以后的版本不寫也可以,但建議還是配置。
          程序代碼
           
          <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/tfms</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
          </resource-ref>
          




          配置完之后,還需要將JDBC DRIVER存放在%TOMCAT_HOME%/lib里面,這是必須的,不然,tomcat沒有辦法找到driver

          之后重新啟動tomcat

          posted @ 2008-09-21 10:42 pasha 閱讀(617) | 評論 (0)編輯 收藏

          tomcat 6.18 設置

               www.apache.com 發現新版本6.18 download   core→zip
               bin目錄下 startup.bat ctatlina.bat 中添加 JAVA_HOME/JRE_HOME   CATALINA_HOME/TOMCAT_HOME 
               Windows Service Installer方式則安裝時自動添加
               現在喜歡在windows或linux中都不添加任何系統變量除java_home 因為每次配置到最后全亂成一團 

              關于JVM和tomcat的內存問題
                 tomcat6.0只須設置:JAVA_OPS tomcat6.0之前設置:CATALINA_OPTS/TOMCAT_OPTS
                 如 SET  CATALINA_OPTS= -Xms64m -Xmx512m; 
                 ms是JVM初始化堆的大小,mx是JVM堆的最大值,一般說來,你應該使用物理內存的80% 作為堆大小。.




          引用:
          有以下幾種方法可以選用:
          第一種方法:
            Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下設置:

            JAVA_OPTS='-Xms【初始化內存大小】 -Xmx【可以使用的最大內存】'
            需要把這個兩個參數值調大。例如:
            JAVA_OPTS='-Xms256m -Xmx512m'
            表示初始化內存為256MB,可以使用的最大內存為512MB。

          第二種方法: 環境變量中設     變量名:JAVA_OPTS     變量值:-Xms512m   -Xmx512m

          第三種方法:前兩種方法針對的是bin目錄下有catalina.bat的情況(比如直接解壓的Tomcat等),但是有些安裝版的Tomcat下沒有catalina.bat,這個時候可以采用如下方法,當然這個方法也是最通用的方法:打開tomcatHome/\bin/\tomcat5w.exe,點擊Java選項卡,然后將會發現其中有這么兩項:Initial memory pool和Maximum memory pool.Initial memory pool這個就是初始化設置的內存的大小。Maximum memory pool這個是最大內存的大小

          也可在【tomcat配置窗口】-【Java標簽】-【Java Options】,輸入JVM優化參數:
          -Xms512M
          -Xmx512M
          -Xverify:none
          -XX:PermSize=128M
          -XX:MaxPermSize=256m
          -XX:MaxNewSize=256m
          -XX:+UseAdaptiveSizePolicy
          -XX:+UseParallelGC
          -XX:+UseParallelOldGC
          -XX:NewSize=200m
          -Xmn200m
          注意 一行一句配置 前后都不能有空格 
          連接器優化 禁止和允許列目錄下的文件 禁止和允許主機或IP地址訪問

          設置完了就按確定然后再重啟TOMCAT你就會發現tomcat中jvm可用的內存改變了
            

          posted @ 2008-09-21 10:04 pasha 閱讀(1167) | 評論 (0)編輯 收藏

          2008年9月9日

          struts2UI td 的問題

          當struts2 theme為ajax時    使用UI標簽總是自動添加<tr> <td>
          可以在根目錄,建立template文件夾,將struts2-core-xx.jar下的template文件夾解壓其中
          在templaate文件夾下的 ajax 下建立 text.flt
           內容如下


          <#--
           this is controlheader-core.ftl
           Only show message if errors are available.
           This will be done if ActionSupport is used.
          -->
          <#assign hasFieldErrors = parameters.name?exists && fieldErrors?exists && fieldErrors[parameters.name]?exists/>
          <#if hasFieldErrors>
          <#list fieldErrors[parameters.name] as error>
          <tr errorFor="${parameters.id}">
          <#if parameters.labelposition?default("") == 'top'>
              <td align="left" valign="top" colspan="2"><#rt/>
          <#else>
              <td align="center" valign="top" colspan="2"><#rt/>
          </#if>
                  <span class="errorMessage">${error?html}</span><#t/>
              </td><#lt/>
          </tr>
          </#list>
          </#if>

          <#--

           if the label position is top,
           then give the label it's own row in the table

          <tr>
          <#if parameters.labelposition?default("") == 'top'>
              <td align="left" valign="top" colspan="2"><#rt/>
          <#else>
              <td class="tdLabel"><#rt/>
          </#if>
          <#if parameters.label?exists>
              <label <#t/>
          <#if parameters.id?exists>
                  for="${parameters.id?html}" <#t/>
          </#if>
          <#if hasFieldErrors>
                  class="errorLabel"<#t/>
          <#else>
                  class="label"<#t/>
          </#if>
              ><#t/>
          <#if parameters.required?default(false) && parameters.requiredposition?default("right") != 'right'>
                  <span class="required">*</span><#t/>
          </#if>
          ${parameters.label?html}<#t/>
          <#if parameters.required?default(false) && parameters.requiredposition?default("right") == 'right'>
           <span class="required">*</span><#t/>
          </#if>
          :<#t/>
          <#include "/${parameters.templateDir}/xhtml/tooltip.ftl" />
          </label><#t/>
          </#if>
              </td><#lt/>
                
                   add the extra row
                   
          <#if parameters.labelposition?default("") == 'top'>
          </tr>
          <tr>
          </#if>

          -->

           

           

          <#if parameters.form?exists && parameters.form.validate?default(false) == true>
           <#-- can't mutate the data model in freemarker -->
              <#if parameters.onblur?exists>
                  ${tag.addParameter('onblur', "validate(this);${parameters.onblur}")}
              <#else>
                  ${tag.addParameter('onblur', "validate(this);")}
              </#if>
          </#if>

          <#--
          <#include "/${parameters.templateDir}/${themeProperties.parent}/controlheader.ftl" />
          -->

          <#include "/${parameters.templateDir}/simple/text.ftl" />

          <#--
          <#include "/${parameters.templateDir}/xhtml/controlfooter.ftl" />
           -->

           

          posted @ 2008-09-09 10:33 pasha 閱讀(407) | 評論 (0)編輯 收藏

          2008年8月19日

          幾款MYSQL管理工具

           

          1、Navicat

          Navicat是一個強大的MySQL數據庫管理和開發工具。Navicat導航為專業開發者提供了一套強大的足夠尖端的工具,但它對于新用戶仍然是易于學習。Navicat,使用了極好的圖形用戶界面(GUI),可以讓你用一種安全和更為容易的方式快速和容易地創建、組織、存取和共享信息。

          用戶可完全控制 MySQL 數據庫和顯示不同的管理資料,包括一個多功能的圖形化管理用戶和訪問權限的管理工具,方便將數據從一個數據庫移轉到另一個數據庫中(Local to Remote、Remote to Remote、Remote to Local),進行檔案備份。

          下載:http://www.navicat.com.cn/

          2、Mysql Front

          一款小巧的管理Mysql的應用程序. 主要特性包括多文檔界面, 語法突出, 拖拽方式的數據庫和表格, 可編輯/可增加/刪除的域, 可編輯/可插入/刪除的記錄, 可顯示的成員, 可執行的SQL 腳本, 提供與外程序接口, 保存數據到CSV文件等。之前用過,好像已經商業化了。

          下載:http://www.mysqlfront.de/download.html

          3、SQLyog

          一個易于使用的、快速而簡潔的圖形化管理MYSQL數據庫的工具,它能夠在任何地點有效地管理你的數據庫,而且它本身是完全免費的。

          下載:http://www.webyog.com/

          4、EMS MySQL Manager Lite

          圖形界面的EMS MySQL Manager給您更方便的管理。

          下載:http://www.ems-hitech.com/

          5、Mysql Studio

          MySQL是一套穩定、小而美的數據庫系統,但是它的管理界面卻較為薄弱。MySQL Studio是一套圖形化界面的MySQL管理與監視系統,方便的瀏覽與管理數據庫、數據表與資料、權限管理、備份還原、資料導入導出、Agent計劃任務等等,讓你的MySQL變得更完善。

          下載:http://www.mysqlstudio.com/

          6、 MySQL Maestro

          是一個管理MYSQL數據庫的圖形化工具。

          下載:http://www.sqlmaestro.com/

          posted @ 2008-08-19 09:43 pasha 閱讀(262) | 評論 (0)編輯 收藏

          僅列出標題  

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          最常用和實用的CSS技巧

          最新隨筆

          搜索

          最新評論

          • 1.?re: SESSION
          • 啊!!原來是這樣啊 終于明白了 謝了!!
          • --ndj

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 苍山县| 英吉沙县| 浑源县| 昆山市| 弥渡县| 滁州市| 铜梁县| 临夏市| 阿拉善右旗| 涡阳县| 兴安县| 五家渠市| 汾阳市| 贵溪市| 兰西县| 上林县| 思南县| 来宾市| 龙山县| 简阳市| 文昌市| 厦门市| 迁西县| 邛崃市| 仁布县| 工布江达县| 县级市| 寻甸| 兴安县| 鄂伦春自治旗| 洞口县| 泰来县| 三河市| 横山县| 凌海市| 虞城县| 凤山市| 桐庐县| 嘉善县| 南城县| 淮阳县|