??xml version="1.0" encoding="utf-8" standalone="yes"?>国产亚洲中文日本不卡二区,亚洲AV无码一区二区大桥未久,亚洲国产精品久久久久久http://m.tkk7.com/diego-liu/她叫雪zh-cnMon, 12 May 2025 10:43:02 GMTMon, 12 May 2025 10:43:02 GMT60什么是SpringQ第1部分(?http://m.tkk7.com/diego-liu/archive/2006/05/31/49260.html潜心潜心Wed, 31 May 2006 07:15:00 GMThttp://m.tkk7.com/diego-liu/archive/2006/05/31/49260.htmlhttp://m.tkk7.com/diego-liu/comments/49260.htmlhttp://m.tkk7.com/diego-liu/archive/2006/05/31/49260.html#Feedback0http://m.tkk7.com/diego-liu/comments/commentRss/49260.htmlhttp://m.tkk7.com/diego-liu/services/trackbacks/49260.html 旉Q?006-03-13
作者:Bruce A. TateJustin Gehtland
览ơ数Q? 4784
本文关键字:SpringSpring framework 文章工具
推荐l朋? src= 
推荐l朋?/a>
打印文章 
打印文章

Spring

  Spring是一个轻量容器Q它所带的包装器许多不同的服务和框架更易于用。轻量容器接受MJavaBeanQ而不是只接受特定cd的组件?/p>

  “Springq仅仅是一个‘轻量容器’。”Justin Gehtlandq样_“它使构建J2EE应用E序?a target="_blank">Java开发h?/a>可以直达现实域问题的核心Q而不是在为域提供服务的细节方面花费大量时间。”Gehtland和Bruce Tate是?a target="_blank">Spring: A Developer's Notebook》一书的合著者,该书著述严}Q将帮助读者快速掌握新的Spring开源框架。《Spring: A Developer's Notebook》一书共分十章,其中包含大量代码以及一些准演CSpring用法的例子和实际应用E序?/p>

  今天Q我们将专门介绍q个两部分书摘系列所摘录的该书中两章的第一章。本pd帮助读者理解如何用Spring创徏单、整z且高效的应用程序?/p>

  在本周所摘录的第1章“入门”中Q作者Tate和Gehtland采用一个简单的应用E序Q演C如何其自动化Qƈ使其可用于Spring。(在下周的W?部分中,作者将阐明Spring如何帮助开发简单、整z、基于web的用L面,该部分内Ҏ自第2章“构建用L面”。)

  您可以下载《Spring: A Developer's Notebook?a >W?章的PDF文档。该文g大小?17K?/p>

  ~者注Q第1章已更新Q更正了该书W一版中的一些问题。这里我们摘录的是新版本Q其面有“Updated”字L黑色标志?/p>

原文出处:http://www.onjava.com/pub/a/onjava/2005/10/05/what-is-spring.html

 作者简?/span>
Bruce A.Tate 是位于d克萨斯州首府奥斯汀的J2LifeQLLC公司的独立顾问。他拥有15qY件开发经验,q且?本书的作者,包括畅销书《Bitter Java》以及最q出版的《Bitter EJB》和《Better,Faster,Lighter Java?/a>QO'ReillyQ。他擅长技术写作和设计审计Q特别是数据。他q是一名山地R手和皮划艇手Q也?个孩子的父亲?/td>
Justin Gehtland 是一个程序员、作者、导师和指导员,他专ȝ实世界Y件应用程序?/td>


潜心 2006-05-31 15:15 发表评论
]]>
Java/JSP中文q问题解决心得http://m.tkk7.com/diego-liu/archive/2006/05/31/49212.html潜心潜心Wed, 31 May 2006 03:51:00 GMThttp://m.tkk7.com/diego-liu/archive/2006/05/31/49212.htmlhttp://m.tkk7.com/diego-liu/comments/49212.htmlhttp://m.tkk7.com/diego-liu/archive/2006/05/31/49212.html#Feedback0http://m.tkk7.com/diego-liu/comments/commentRss/49212.htmlhttp://m.tkk7.com/diego-liu/services/trackbacks/49212.htmlJava/JSP中文q问题解决心得

作者信息:liqian  liqianbnu@126.com   http://202.112.88.39/liqian/
文章原始出处Qhttp://202.112.88.39/liqian/000271.html

自从接触Java和JSP以来Q就不断与Java的中文ؕ码问题打交道Q现在终于得Cd的解冻I现将我们的解军_得与大家׃n?/p>

一、Java中文问题的由?/b>

Java的内核和class文g是基于unicode的,qJavaE序h良好的跨q_性,但也带来了一些中文ؕ码问题的ȝ。原因主要有两方面,Java和JSP文g本n~译时生的q问题和JavaE序于其他媒介交互生的q问题?/p>

首先JavaQ包括JSPQ源文g中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP~译成class文gq程中,使用的编码方式与源文件的~码不一_׃出现q。基于这Uؕ码,在Java文g中尽量不要写中文Q注释部分不参与~译Q写中文没关p)Q如果必d的话Q尽量手动带参数Qecoding GBK或-ecoding gb2312~译Q对于JSPQ在文g头加?lt;%@ page contentType="text/html;charset=GBK"%>?lt;%@ page contentType="text/html;charset=gb2312"%>基本上就能解册cMؕ码问题?/p>

本文要重点讨论的是第二类qQ即JavaE序与其他存储媒介交互时产生的ؕ码。很多存储媒介,如数据库Q文Ӟ等的存储方式都是基于字节流的,JavaE序与这些媒介交互时׃发生字符(char)与字?byte)之间的{换,具体情况如下Q?/p>

从页面form提交数据到javaE序 byteQ?gt;char
从javaE序到页面显C?char?gt;byte

从数据库到javaE序 byte?gt;char
从javaE序到数据库 char?gt;byte

从文件到javaE序 byteQ?gt;char
从javaE序到文?charQ?gt;byte

从流到javaE序 byteQ?gt;char
从javaE序到流 charQ?gt;byte

如果在以上{换过E中使用的编码方式与字节原有的编码不一_很可能就会出Cؕ码?/p>

二、解x?/b>

前面已经提到了JavaE序与其他媒介交互时字符和字节的转换q程Q如果这些{换过E中Ҏ产生q。解册些ؕ码问题的关键在于保转换时用的~码方式与字节原有的~码方式保持一_下面分别QJava或JSP自n产生的ؕ码请参看W一部分Q?/p>

1、JSP与页面参C间的q
JSP获取面参数时一般采用系l默认的~码方式Q如果页面参数的~码cd和系l默认的~码cd不一_很可能就会出Cؕ码。解册cMؕ码问题的基本Ҏ是在面获取参数之前Q强制指定request获取参数的编码方式:request.setCharacterEncoding("GBK")或request.setCharacterEncoding("gb2312")?br />如果在JSP变量输出到面时出CqQ可以通过讄response.setContentType("text/html;charset=GBK")或response.setContentType("text/html;charset=gb2312")解决?br />如果不想在每个文仉都写q样两句话,更简z的办法是用Servlet规范中的q虑器指定编码,qo器的在web.xml中的典型配置和主要代码如下:
web.xml:

<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>net.vschool.web.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

CharacterEncodingFilter.java:

public class CharacterEncodingFilter implements Filter
{

protected String encoding = null;

public void init(FilterConfig filterConfig) throws ServletException
{
this.encoding = filterConfig.getInitParameter("encoding");
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
request.setCharacterEncoding(encoding);
response.setContentType("text/html;charset="+encoding);
chain.doFilter(request, response);
}

}


2、Java与数据库之间的ؕ?/b>
大部分数据库都支持以unicode~码方式Q所以解决Java与数据库之间的ؕ码问题比较明智的方式是直接用unicode~码与数据库交互。很多数据库驱动自动支持unicodeQ如Microsoft的SQLServer驱动。其他大部分数据库驱动,可以在驱动的url参数中指定,如如mm的mysql驱动Qjdbc:mysql://localhost/WEBCLDB?useUnicode=true&characterEncoding=GBK?/p>

3、Java与文?之间的q
Javad文g最常用的类是FileInputStream/FileOutputStream和FileReader/FileWriter。其中FileInputStream和FileOutputStream是基于字节流的,常用于读写二q制文g。读写字W文件徏议用基于字W的FileReader和FileWriterQ省M字节与字W之间的转换。但q两个类的构造函数默认用系l的~码方式Q如果文件内容与pȝ~码方式不一_可能会出Cؕ码。在q种情况下,使用FileReader和FileWriter的父c:InputStreamReader/OutputStreamWriterQ它们也是基于字W的Q但在构造函C可以指定~码cdQInputStreamReader(InputStream in, Charset cs) 和OutputStreamWriter(OutputStream out, Charset cs)?

4、其?/b>
上面提到的方法应该能解决大部分ؕ码问题,如果在其他地方还出现qQ可能需要手动修改代码。解决Javaq问题的关键在于在字节与字W的转换q程中,你必ȝ道原来字节或转换后的字节的编码方式,转换旉用的~码必须与这个编码方式保持一致。我们以前用Resin服务器,使用smartUploadlg上传文gQ上传文件同时传递的中文参数获取没有q问题。当在Linux中把Resin讄成服务后Q上传文件同时的中文参数获取出现了ؕ码。这个问题困C我们很久Q后来我们分析smartUploadlg的源文gQ因为文件上传采用的是字节流的方式,里面包含的参数名U和g是字节流的方式传递的。smartUploadlgd字节后再将参数名称和g字节中解析出来Q问题就出现在smartUpload字节流转换成字W串旉用了pȝ默认的编码,而将Resin讄成服务后Q系l默认的~码可能发生了改变,因此出现了ؕ码。后来,我们更改了smartUpload的源文gQ增加了一个属性charset和setCharset(String)ҎQ将upload()Ҏ中提取参数语句:
String value = new String(m_binArray, m_startData, (m_endData - m_startData) + 1 );
Ҏ?br />String value = new String(m_binArray, m_startData, (m_endData - m_startData) + 1, charset );
l于解决了这个ؕ码问题?/p>

三、后?/b>
接触Java和JSP已经有一q多了,q一q来最大的收获是越来越喜欢上了JavaQ开始把问题当作乐事ȝIӞ没有了以前的恐惧心理Q我怿我会l箋坚持下去。这一q来Q从|上学习了很多同行的宝贵l验Q在此表C感谢。这是我W一自己ȝ的Java学习心得Q由于水qx限,本文中偏颇和错误之处Q欢q指正。如果对你有些h|在保留作者信息和文章原始出处的前提下可以随处转蝲?br />撰写该文之前已参考了很多关于Java中文问题的文章,其中影响比较大的有owen1944在“Java研究l织”中发表的《这是我们公司ȝ的一些关于中文ؕ码问题的一些解x案和l验和大家分享!》等。本文谈到的解决Ҏ已应用到“基于网l的协作学习pȝQWebCL?/a>{项目中Qƈ通过资源l定的方式实C该^C文文两个版本的即时切换。GoogleҎ览器自动选择语言Q一个页面同时显C多U语a的国际化应用和R东的《Java中文处理学习W记——Hello Unicode?/a>一文引起了我极大的兴趣Q日后想l探讨Java的国际化问题Q欢q大家一赯论?br />



潜心 2006-05-31 11:51 发表评论
]]>
用JavaBean作网站计数器(收藏)http://m.tkk7.com/diego-liu/archive/2006/05/29/48708.html潜心潜心Mon, 29 May 2006 03:43:00 GMThttp://m.tkk7.com/diego-liu/archive/2006/05/29/48708.htmlhttp://m.tkk7.com/diego-liu/comments/48708.htmlhttp://m.tkk7.com/diego-liu/archive/2006/05/29/48708.html#Feedback1http://m.tkk7.com/diego-liu/comments/commentRss/48708.htmlhttp://m.tkk7.com/diego-liu/services/trackbacks/48708.htmlPublic class Counter
{ long count=0;
  public long getCount()
   {
    return count;
   }
  public synchronized long setCount()
   {count++;
    return count;
   }
}

<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="Counter" %>
<jsp:useBean id="counter" class="Counter" scope="application">
</jsp:useBean>
<HTML>
<head>
<title>用JavaBean作网站计数器</title>
</head>
<BODY>
    <% if(session.isNew())//如果是一个新的会?br />          counter.setCount();
    %>
<P><P>Ƣ迎讉K本站Q您是第
    <%=counter.getCount()%>
个访问用戗?br /></BODY>
</HTML>



潜心 2006-05-29 11:43 发表评论
]]>
vi指o完整?收藏)http://m.tkk7.com/diego-liu/archive/2006/05/29/48705.html潜心潜心Mon, 29 May 2006 03:37:00 GMThttp://m.tkk7.com/diego-liu/archive/2006/05/29/48705.htmlhttp://m.tkk7.com/diego-liu/comments/48705.htmlhttp://m.tkk7.com/diego-liu/archive/2006/05/29/48705.html#Feedback1http://m.tkk7.com/diego-liu/comments/commentRss/48705.htmlhttp://m.tkk7.com/diego-liu/services/trackbacks/48705.htmlvi指o說明(完整?
.vi 的操作模?
==============
        vi 提供兩種操作模式Q入模?insert mode)和指令模?command mode)
        。當使用者進入 vi 後,卌在指令模式下Q此刻鍵入之M字元皆被視為
        指o。在此模式下可進行刪除、修改等動作。若要入資料,則需進入輸入
        模式?/pre>
		
.輸入模式
=========
        如何進入輸入模式
                a (append)      由游標之後加入資料?
                A               p行之末加入資料?
                i (insert)      由游標之前加入資料?
                I               p行之首加入資料?
                o (open)        新增一行於該行之下供入資料之用?
                O               新增一行於該行之上供入資料之用?/pre>
		
        如何離開輸入模式
                《ESC?i束輸入模式?/pre>
		
.指o模式
=========
游標之移?
        h       向左UM個字元?
        j       向上UM個字元?
        k       向下UM個字元?
        l       向右UM個字元?
        0       U至該行之首
        $       U至該行之末?
        ^       U至該行的第一個字元處?
        H       U至視窗的第一列?
        M       U至視窗的中間那列?
        L       U至視窗的最後一列?
        G       U至該檔案的最後一列?
        +       U至下一列的W一個字元處?
        -       U至上一列的W一個字元處?
        (       U至該句之首?(aM)
        )       U至該句之末?
        {       U至該段落之首?(aM)
        }       U至該段落之末?
        nG      U至該檔案的W?n 列?
        n+      U至游標所在位|之後的W?n 列?
        n-      U至游標所在位|之前的W?n 列?
        <Ctrl><g>       會顯C行之行號、檔案名E、檔案中最末行之行號、游?
                        所在行號佔^行號之癑ֈ比?/pre>
		
        aMQ句?sentence)在vi中是指以『!』、?』或『?』結束的一串字?
        aMQ段?paragraph)在vi中是指以I白行隔開的文字?/pre>
		
.視窗的移?
===========
        <Ctrl><f>       視窗往下捲一頁?
        <Ctrl><b>       視窗往上捲一頁?
        <Ctrl><d>       視窗往下捲半頁?
        <Ctrl><u>       視窗往上捲半頁?
        <Ctrl><e>       視窗往下捲一行?
        <Ctrl><y>       視窗往上捲一行?/pre>
		
.刪除、複製及修改指o介紹 (此單元較?
=========================
        d(delete)、c(change)和y(yank)這一的指o?vi 中的指o格式為:
        Operator + Scope = command
        (運算?   (圍)
        運算子:
        d       刪除指o。刪除資料,但會刪除資料複製到a憶體m衝區?
        y       資?字組、行列、句子或D落)複製到m衝區?
        p       攄(put)指oQ與 d ?y 配和使用。可最後delete或yank的資
                料放|於游標所在位|之行列下?
        c       修改(change)指oQ類似delete與insert的組和。刪除一個字i、句
                子等之資料,並插入新鍵資料?/pre>
		
        圍Q?
        e       由游標所在位|至該字串的最後一個字元?
        w       由游標所在位|至下一個字串的W一個字元?
        b       由游標所在位|至前一個字串的W一個字元?
        $       由游標所在位|至該行的最後一個字元?
        0       由游標所在位|至該行的第一個字元?
        )       由游標所在位|至下一個句子的W一個字元?
        (       由游標所在位|至該句子的W一個字元?
        {       由游標所在位|至該段落的最後一個字元?
        }       由游標所在位|至該段落的W一個字元?/pre>
		
        整行動作
        dd      刪除整行?
        D       以行為單位,刪除游標後之所有字元?
        cc      修改整行的內宏V?
        yy      yank整行Q游標所在該行複製到a憶體m衝區?/pre>
		
.刪除與修?
===========
        x       刪除游標所在該字元?
        X       刪除游標所在之前一字元?
        dd      刪除游標所在該行?
        r       用接於此指o之後的字元取?replace)游標所在字元?
                如: ra 游標所在字元以 a 取代之?
        R       進入取代狀態,直到《ESC》為止?
        s       刪除游標所在之字元Q並進入輸入模式直到《ESC》?
        S       刪除游標所在之該行資料Q並進入輸入模式直到《ESC》?/pre>
		
.搬移與複?
==========
        利用 delete ?put 指o可完成資料搬UM目的?
        利用 yank ?put 指o可完成資料複製之目的?
        yank ?delete 可將指定的資料複製到a憶體m衝區Q而藉?put 指o
        可將R衝區內的資料複製到螢q上?
        例:
        搬移一?       ‧在該行埯 dd
                        ‧游標移至目的地
                        ‧執?p
        複製一?       ‧在該行埯 yy
                        ‧游標移至目的地
                        ‧執?p
.指o重複
=========
        在指令模式中Q可在指令前面加入一數字 nQ則此指令動作會重複埯 n
        ơ?
        例:
        刪除10?               ?0dd
        複製10?               ?0yy
                                ‧游標移至目的地
                                ‧p
        指標往下移10? ?0j
.取消前一動作(Undo)
===================
        卛_原執行上一指o前的內容?/pre>
		
        u       恢復最後一個指令之前的i果?
        U       恢復游標該行之所有改變?/pre>
		
.搜尋
=====
        在vi中可搜尋某一字串Q游標U至該處?/pre>
		
        /字串           往游標之後找該字丌Ӏ?
        ?字串           往游標之前找該字丌Ӏ?
        n               往下繼U尋找下一個相同的字串?
        N               往上繼U尋找下一個相同的字串?/pre>
		
.資料的連接
===========
        J       句子的連接。將游標所在之下一行連接x標該行的後面?/pre>
		
        若某行資料太長亦可將其分成兩行,只要游標移臛_開點Q進入輸入模式
        (可利?a、i{指?再按《Enter》即可?/pre>
		
.環境的設?
===========
        Qset nu                a定資料的行號?
        Qset nonu              取消行號a定?
        Qset ai                自動內縮?
        Qset noai              取消自動內縮?/pre>
		
        自動內縮(automatic indentation)
        在編輯文件或E式時,有時會遇到需要內^的狀況,『:set ai』即提供?
        動內^的功能Q用下例解釋之:
        ‧vi test
        ?進入R輯視窗?
          this is the test for auto indent
          《Tab》start indent           ?Qset ai (a自動內^?
          《Tab》data
          《Tab》data
          《Tab》data                   ?Qset noai (取消自動內縮)
        the end of auto indent.
        ‧註Q?lt;Ctrl><d> 可刪除《Tab》字元?/pre>
		
.ex指o
=======
        讀寫資?
        Qw                     m衝區的資料寫入磁中?
        Q?0,20w test   第10行至W?0行的資料寫入test檔案?
        Q?0,20w>>test  第10行至W?0行的資料加在test檔案之後?
        Qr test                test檔案的資料讀入編輯m衝區的最後?/pre>
		
        刪除、複製及搬移
        Q?0,20d                刪除W?0行至W?0行的資料?
        Q?0d                   刪除W?0行的資料?
        Q?d                    刪除整個編輯m衝區?
        Q?0,20co30             第10行至W?0行的資料複製至第30行之後?
        Q?0,20mo30             第10行至W?0行的資料搬移至第30行之後?/pre>
		
        字串搜尋與取?
        s(substitute)指o可搜某行列圍?
        g(global)指o則可搜尋整個編輯m衝區的資料?
        s指o以第一個滿條g的字串為其取代的象Q若該行有數個滿?
        件的字串Q也僅能取代W一個,若想取代所有的字串則需加上g參數?
        Q?,$s/old/new/g                檔案中所有的『old』改成『new』?
        Q?0,20s/^/   /         第10行至W?0行資料的最前面插入5個空白?
        Q?s/old/new/g          編輯m衝區中所有的『old』改成『new』?/pre>
		
.恢復R輯時被中斷的檔?
=======================
        在編輯過E中Q若pȝ當掉或連線中斷Q而m衝區的資料並還未
        被寫回磁時Q當再度回到pȝQ執行下列指令即可回復中斷前
        的檔案內宏V?
        %vi -r filename
.R輯多個檔?
=============
        vi亦提供同時編輯多個檔案的功能Q方法如下:
        %vi file1 file2 ..
        當第一個檔案編修完成後Q可利用『:w』將該m衝區存檔Q而後
        再利?『:n』載入下一個檔案?/pre>


潜心 2006-05-29 11:37 发表评论
]]>通用代码之一: L使用Ajaxhttp://m.tkk7.com/diego-liu/archive/2006/05/25/48004.html潜心潜心Thu, 25 May 2006 05:01:00 GMThttp://m.tkk7.com/diego-liu/archive/2006/05/25/48004.htmlhttp://m.tkk7.com/diego-liu/comments/48004.htmlhttp://m.tkk7.com/diego-liu/archive/2006/05/25/48004.html#Feedback4http://m.tkk7.com/diego-liu/comments/commentRss/48004.htmlhttp://m.tkk7.com/diego-liu/services/trackbacks/48004.html最q在工作的时候ȝ了一套ajax的简易用方?通用性极?l我的工作带来了不少效率上的提高,先脓出来l大家参?
一,先徏一个ajax.js的文?文g的内容如?
var http_request = false;
var callback_func;

function sendRequest(url, argstr, func, method) {

  http_request = false;
  callback_func = func;

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }

  if (!http_request) {
    alert('Giving up :( Cannot create an XMLHTTP instance');
    return false;
  }
  http_request.onreadystatechange = alertContents;
 
  if (method == 'GET') {
    http_request.open('GET', url + '?' + argstr, true);
    http_request.send(null);
  } else {
    http_request.open('POST', url, true);
    http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=GBK");
    http_request.send(argstr);
  }
}

function alertContents() {

  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
      callback_func(http_request.responseText);
    } else {
      alert('There was a problem with the request.');
    }
  }
}

?在页面用如下代码将js文g包含q来:
<script language=javascript src="ajax.js"></script>

?在页面调用sendRequest(...)Ҏ:
?<a href="javascript:sendRequest('hello.jsp',param,function,'GET')" >调用AJAX</a>
?<input type="button" value="提交" onclick="sendRequest('getInfo.do',param,function,'POST')" />
注释(以第一个ؓ?:
hello.jsp:  q个例子采用ajax通过一个链接请求hello.jsp面,
param:   为参?可以为空,也可以不为空,比如name=value&password=123456,也可以通过把一个表?form)的字D늻合v来作Z个字W串传?br />q去,   
 function: 是你自己写的一个函?用于处理q回的内?一般的处理?br />返回的内容昄在页?一个典型的例子:
   function search(str){
         alert(str); //用于调试.
        myId.innerHTML = str;
   }
GET: 是请求的Ҏ,单的?get代表h一个资?post代表提交参数q请求资?


M疑问,可以联系本h:diego.liu@163.com



潜心 2006-05-25 13:01 发表评论
]]>
【{载】菜鸟也可以办到Q纯手工化pȝ全攻?----推荐http://m.tkk7.com/diego-liu/archive/2006/05/23/47618.html潜心潜心Tue, 23 May 2006 05:06:00 GMThttp://m.tkk7.com/diego-liu/archive/2006/05/23/47618.htmlhttp://m.tkk7.com/diego-liu/comments/47618.htmlhttp://m.tkk7.com/diego-liu/archive/2006/05/23/47618.html#Feedback0http://m.tkk7.com/diego-liu/comments/commentRss/47618.htmlhttp://m.tkk7.com/diego-liu/services/trackbacks/47618.html 转自龙族论坛( http://www.chinadforce.com )
【原创】菜鸟也可以办到Q纯手工化pȝ全攻?/strong>


做h要厚道,转蝲h明作者和出处Q?/font>

我们知道Q用各种化软g可以系l变得个性而华丽,但是它们的缺点也是显而易见的Q?br />
1.l常安装卸蝲q些软gҎ使系l不E_Q?.占用内存和系l资源;3.有些软g使用h较ؓȝQ而且个性化有一定的局限性等。然而不使用q些软gq不是代表我们只能放弃美化系l,毕竟q之心人皆有之Q其实我们可以自己动手,用纯手工的方法来辑ֈ化的目的?br />
q样不仅可以避免上述的几个问题,更重要的是在DIY的过E中自己所获得的乐是使用软g所无法体验的?/b>

下面p我们一hQ打造个性十的pȝ。文中可能涉及到一些譬如注册表操作{,菜鸟看到q些不必感到x,一步一步来不会太难的,而且通过q些操作也可以不断提高自q水^Q?br />
注:W者的pȝ?Windows XP SP1


1.更改桌面图标

桌面图标可以通过IconPackager{Y件来修改Q但其实q有更简单的ҎQ?br />
在桌面空白处叛_鼠标Q依ơ选择"属?Q?桌面"Q?自定义桌?Q?常规"Q接着选中"我的电脑"的图标,再点?更改图标"览选择要更换的图标Q?我的文档"{也是类似的Q选择好后点击"定"卛_马上换上漂亮的图标,如图1Q?br />



2.更改盘图标

首先你可以将每个驱动器重新命名,如该?pȝ"Q?文g"{?br />接着盘图标也是可以更改的,而且可以把每个驱动器的图标都讄成不同的Q如?Q?br />



操作Ҏ如下Q?br />
Step1Q?/b>打开"我的电脑"Q然后依ơ点?工具"Q?文g多w项"Q?查看"Q把"隐藏已知文gcd的扩展名"前的勾取消Q?br />Step2Q?/b>其中一个图标,比如"1.ico"复制到C盘根目录Q?br />Step3Q?/b>在C盘根目录新徏一文本文gQ输入以下内容ƈ保存Q?br />
[autorun]
Icon=1.ico
Step4Q?/b>把刚才的文本文g重命名ؓ"autorun.inf"
(注意要将扩展名一h改,pȝ会提C?如果改变文g扩展名,可能会导致文件不可用…?Q点?认"卛_)

Step5Q?/b>选中刚才的两个文Ӟ点击右键Q?属?Q然后勾?隐藏"Q?br />Step6Q?/b>重新启动Q搞定,其它盘符依此cLQ?br />
注:
1) 上面用的是相对\径,也可以用图标的l对路径Q如"Icon=E:\ico\1.ico";
2) 选择隐藏是ؓ了更雅观和防止误删配|文Ӟ
3) 不用重启也可以的Q进入譬如CS{游戏,然后退出就可以直接看到效果?br />

3.更改软驱、光驱图?/b>

要更改Y驱、光驱图标,必须通过修改注册表来实现Q在q行里输?regedit"q回车,打开"注册表编辑器"Q然后定位到下面q个位置Q?br />
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\a\DefaultIcon]

接着双击双?默认"Q填入图标的路径和名Uͼ保存退出重新启动后卛_看到效果Q如?Q?br />



不过一般来说是没有DriveIconsq个及下面的子的Q所以必L动在Explorer上点击鼠标右键-"新徏"Q??Q接着输入"DriveIcons"Q同LQ在"DriveIcons"下新Z个或多个子项QYq是盘W一般ؓ"a"Q然后有几个光驱新建几个项Q项的名U和光驱盘符对应卛_?br />
q样直接修改注册表的Ҏ其实有点ȝQ还可以用更单的导入注册表文件的ҎQ?br />
首先新徏一个文本文Ӟ输入以下内容Q?br />
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\a\DefaultIcon]
@="E:\\ico\\floppy.ico,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\h\DefaultIcon]
@=E:\\ico\\cd1.ico,0"
保存退出,然后重命名ؓnew.regQ接着双击导入注册表即可。要提醒的是Q在上面的注册表文g里,必须把原来\径的"\"都改?\\"?br />

4.自制品牌?/b>

品牌机和兼容机的一个不同之处,是品牌机在打开"我的电脑"属性时能够查看厂商标志和支持信息!

现在我们来做一个属于自q品牌机,首先新徏一文本文gQ输入以下内容:

[General]
Manufacturer=很高很瘦的专用电?br />Model=无敌华丽?br />
[Support Information]
Line1=每一U创伤,都是一U成熟?br />Line2=上网不聊天,气死zȝ仙!
保存退出,然后重命名ؓ"Oeminfo.ini"Q然后再找一张BMP囄(不要太大Q最好是100×100左右大小?其重命名ؓ"Oemlogo.bmp"Q接着把这两个文g复制?C:\WINDOWS\system32"下,最后按?WinQBreak"l合键就可以看到下面的效果了Q如?Q?br />



点击"技术支持信?q可以弹Z个信息窗口,昄的是上面"Line1Q?后面的内容,q可以在后面l箋d"Line3="{,字数不限Q把一些名a警句或搞W对话放在里面,很好玩的Q^_^


5.酷鼠标右键U

看看q样的鼠标右键,是不是很酷呢Q图5Q?br />



首先?a target="_blank">http://www.virtualplastic.net/download/apps/byblos_if.zip下蝲一个zip压羃包,解压后得到Byblos.dllQ再把这个文件复制到L地方(如C盘根目录?Q然后在"q行"中输?regsvr32.exe C:\Byblos.dll"q回车,提示成功注册。接着在桌面空白处点右键就可以看到右键上漂亮的图案了!

另外我们可以更改里面的图?比如可以Ҏ自己的或MM的照片等)Q用ExeScope{资源提取工h开Byblos.dllQ在"位图"Q?202"导入一张自己想要的bmp格式的图?大小自定Q但不要太大)Q保存后重新注册Q如?Q?br />


要卸载该右键UQ只需?q行"中输?regsvr32.exe C:\Byblos.dll /u"Qƈ回R卛_?br />

6.漂亮的个性文件夹

你是否注意到“我的文档”里的“我的音乐”、“图片收藏”等文g夹和一般的文g夹的图标是不一LQ?br />你是否了解其中的U密Q其实这些都是通过Desktop.iniq个文g来实现的?br />
一般地Q你打开L一个文件夹Q在I白处点击鼠标右键-“自定义文g夹”,然后点击最下面的“更改图标”按钮,览选择一个图标,最后点ȝ定即可。刷C下就可以看到文g夹图标已l改变了Q如?Q?br />



除了单的改变文g夹图标外QDesktop.iniq能做什么呢Q?br />
要查看Desktop.iniq个文gQ必ȝ几Z工具”-“文件夹选项”-“查看”,把“隐藏受保护的操作系l文?推荐)”和“隐藏已知文件类型的扩展名”前的小勑֏消,q择“显C所有文件和文g夹”,如图8Q?br />



建立Desktop.iniq个文g有两U方法,一是按上面提到的用“自定义文g”的Ҏ让系l自动徏立;二是新徏一文本文档Q然后把文g名改为“Desktop.ini?注意要连扩展名一起修?Q接着在“命令提C符”下输入下面的命令改变其属性:

attrib +s +h Desktop.ini
Desktop.ini 基本的结构参数如下:

[.ShellClassInfo]
ConfirmFileOp=0
NoSharing=1
IconFile=图标文g及\?br />IconIndex=n
InfoTip=文gҎ?
参数说明Q?/b>

“ConfirmFileOp=0?代表在对Ud或删除该文gҎ不提C“你所删除的文件是pȝ文g”;
“NoSharing=1?代表该文件夹不被׃nQ?br />“IconFile=图标文g及\径?其中图标文g也可以是.ico图标格式也可以是.exe可执行文件或.dll文g{;路径可以为相对\径或l对路径Q?br />“IconIndex=n?表示使用指定文g的第几个图标Q如果是图标文g则ؓ0Q如果是.exe或?dll文g可以??{;
“InfoTip=文gҎ释?指当鼠标指向该文件夹时所昄的说明文字!

*其中只有“IconFile=图标文g及\径”是必须的,其余皆可选!

现在演示一下,该文件夹里有一个名为Popsicle.ico的图标,接着在Desktop.ini输入下面的代码:

[.ShellClassInfo]
ConfirmFileOp=0
NoSharing=1
IconFile=Popsicle.ico
IconIndex=0
InfoTip=嘿嘿Q看看效果!
效果如图9所C,不是不很漂亮Q不q现在只I了外衣Q接下来我们q要l它I上性感的内衣!^_^



找一个背景图片bg.gif攑֜文g夹内Q然后修改Desktop.ini的内容ؓQ?br />
[.ShellClassInfo]
ConfirmFileOp=0
NoSharing=1
IconFile=Popsicle.ico
IconIndex=0
InfoTip=嘿嘿Q看看效果!

[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
IconArea_Image=bg.gif
IconArea_text=0x00483D8B
然后打开文gQ如?0Q?br />



呵呵Q现在文件夹也可以像|页一栯由选择背景和字体颜色了Q?br />
参数说明Q?/b>

“IconArea_Image=?是背景图片的文g名及路径Q同样可以ؓ相对路径或绝对\径;
“IconArea_text=?是指文字的颜色代码!不过要注意的是这里的颜色代码和html的颜色不太一P昄出来的是后面6位颜色编码的RGB模式中R和B对调后的颜色Q?br />

7.桌面图标

像dock{Y件有一个很实用的功能就是可以自由添加应用程序的快速打开方式Q那不用软g能不能实现呢Q?br />{案当然是肯定的啦,下面来制作一个功能强大的桌面图标Q?br />



如图11Q就是一个用于打开常用的Flash制作软gE序的超U图标,在图标上点击右键可以弹单,接着单击某一目可以打开相应的程序,非常方便和强大!q是通过修改注册表来实现的,在运行中输入"regedit"Q回车后打开"注册表编辑器"Q?br />
Step1Q?/b>定位到[HKEY_CLASSES_ROOT\CLSID]Q在下面新徏一个子?{00000000-0000-0000-0000-000000000000}"(q个值可以随便取Q但是不能和原有的值相同,而且必须W合cL识符的命名规?Q双d边窗口的"(默认)",填入图标的名Uͼ?Flash制作"Q还可以新徏一个字W串键?InfoTip"Q用来显C当鼠标指向该图标时昄的说明文字;

Step2Q?/b>?{00000000-0000-0000-0000-000000000000}"下新建子?DefaultIcon"Q双d边窗口的"(默认)",其值改昄的图标的路径Q?br />
Step3Q?/b>新徏子项"InProcServer32"Q再右边窗口的"(默认)"的值改?Shell32.dll"Q接着创徏一个名?ThreadingModel"的字W串|修改其gؓ"ApartMent"Q?br />
Step4Q?/b>新徏子项"Shell"Qƈ在其下面接着创徏一个子?XXX"Ql在下面新徏子项"Command"。其中,"XXX"代表右键菜单里要昄的项目的名称Q?Command"的值则修改E序的打开路径Q比?d:\Program Files\Macromedia\Flash MX 2004\Flash.exe"。你可以创徏多个"XXX"的子,然后按同LҎ创徏q修?Command"的|如图12Q?br />



Step5Q?/b>定位到注册表的[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace]Q在下面新徏一个子?{00000000-0000-0000-0000-000000000000}"(q个值就必须和前面的一样即?

Step6Q?/b>h注册表和桌面Q这个超U图标就诞生鸟!


说明Q?/b>

1.用同LҎ可以在桌面创建多个这L图标Q可以把不同cd的应用程序分别归cdq些图标中!要注意的是必d[HKEY_CLASSES_ROOT\CLSID]下新Z同值的子项Q?br />2.在桌面上叛_该图标,选择"创徏快捷方式"Q接着可以把这个快h式拖攑ֈpȝ的Q意位|;
3.双击该图标会打开右键菜单的第一;
4.菜单里的每一w有相应的快捷键,是下划昄的程序的首字?中文的除?Q?br />5.q不是每个程序都可以用这个方法打开Q比如磁盘碎片整理程序就不能用该法打开Q?br />6.该超U图标还有更多扩展设|,具体的大家可以查看《电脑爱好者》杂?004q第7?6c?br />



关于手工化Q就说到q里Q实际上DIYpȝ的方法远不止q些Q比如还可以手工修改VS主题文g、或修改注册表其它一些设|等Q由于时间关pdq里׃多赘qC?br />
大家自己可以多动脑筋Q想出更多优化美化的Ҏ来,也希望各位可以将自己的经验分享出来,和大家一起交!

Q全文完Q?/b>


潜心 2006-05-23 13:06 发表评论
]]>
վ֩ģ壺 Ʒþһ| ޸Ʒһ| ŮƵվa| ޾ƷŮþþþ | avѸ߳ˮ | ˸һþ| ɫվWWW| ŮѹۿˬˬˬƵ| ѿһ߳ëƬ| ޹Ѽһ| ѸƵվ| Ѹ| ޵һվƵ| AVһ| ձһ岻| 91Ʒѹۿ| caopormѹƵ| videos| ۺպ | ˳ëƬ߲| ͵޾Ʒ1ҳ| ŷ| aaaƬѿ| ۺϾþ| һëƬĻ| ޹Ʒһþhs| Ӱѿ| 91Ѳˬ˿| ĻƵ| ͵͵޸| þ޾Ʒרɫ| ޾Ʒ˽Ĺ| Ļһҳ| ѾþþƷƬ㽶| ҳƵ߹ۿ| ھƷ߹ۿ| gogo߹ۿ| ɫѿ| AV˾ƷӰԺ| avһ | ʪһҹƷѸ|