ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
ÈÈÃŹؼü×Ö£º ¡¡ÐéÄâÖ÷»ú ¡¡cnÓòÃû ¡¡ÓòÃû×¢²á ¡¡·Ç·¨ ¡¡seo
µ±Ç°Î»Öà : Ö÷Ò³>³ÌÐòÉè¼Æ>Java¼¼Êõ>Áбí

JAVA×Ö·û¼¯

À´Ô´£º»¥ÁªÍø ×÷Õߣºwest263.com ʱ¼ä£º2008-02-23 µã»÷£º
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!


µ±web server£¨tomcat£©½ÓÊÕµ½¸ÃÁ´½Óʱ£¬½«»á½øÐÐURL½âÂ룬¼´È¥µô"%"£¬Í¬Ê±°´ÕÕISO8859-1±àÂ루ÉÏÃæÒѾ­ÃèÊö£¬¿ÉÒÔʹÓÃURLEncodingÀ´ÉèÖÃ³ÉÆäËü±àÂ룩ʶ±ð¡£ÉÏÊöÀý×ӵĽá¹û·Ö±ðÊÇ"\ue4\ub8\uad\ue6\u96\u87.html?a=\u4e\u2d\u65\u87"ºÍ"\u4e\u2d\u65\u87.html?a=\u4e\u2d\u65\u87"£¬×¢ÒâǰÕßÇ°ÃæµÄ"ÖÐÎÄ"Á½¸ö×Ö»Ö¸´³ÉÁË6¸ö×Ö·û¡£ÕâÀïÓÃ"\u"£¬±íʾÊÇunicode¡£

ËùÒÔ£¬ÓÉÓÚ¿Í»§¶ËÉèÖõIJ»Í¬£¬ÏàͬµÄÁ´½Ó£¬ÔÚ·þÎñÆ÷Éϵõ½Á˲»Í¬½á¹û¡£Õâ¸öÎÊÌâ²»ÉÙÈ˶¼Óöµ½£¬È´Ã»ÓкܺõĽâ¾ö°ì·¨¡£ËùÒÔÓеÄÍøÕ¾»á½¨ÒéÓû§³¢ÊԹرÕUTF-8Ñ¡Ïî¡£²»¹ý£¬ÏÂÃæ»áÃèÊöÒ»¸ö¸üºÃµÄ´¦Àí°ì·¨¡£

5.2. rewrite

ÊìϤµÄÈ˶¼ÖªµÀ£¬apacheÓÐÒ»¸ö¹¦ÄÜÇ¿´óµÄrewriteÄ£¿é£¬ÕâÀï²»ÃèÊöÆä¹¦ÄÜ¡£ÐèҪ˵Ã÷µÄÊǸÃÄ£¿é»á×Ô¶¯½«URL½âÂ루ȥ³ý%£©£¬¼´Íê³ÉÉÏÊöweb server£¨tomcat£©µÄ²¿·Ö¹¦ÄÜ¡£ÓÐÏà¹ØÎĵµ½éÉÜ˵¿ÉÒÔʹÓÃ[NE]²ÎÊýÀ´¹Ø±Õ¸Ã¹¦ÄÜ£¬µ«ÎÒÊÔÑ鲢δ³É¹¦£¬¿ÉÄÜÊÇÒòΪ°æ±¾£¨ÎÒʹÓõÄÊÇapache 2.0.54£©ÎÊÌâ¡£ÁíÍ⣬µ±²ÎÊýÖк¬ÓÐ"?& "µÈ·ûºÅµÄʱºò£¬¸Ã¹¦Äܽ«µ¼ÖÂϵͳµÃ²»µ½Õý³£½á¹û¡£

rewrite±¾ÉíËÆºõÍêÈ«ÊDzÉÓÃ×Ö½Ú´¦ÀíµÄ·½Ê½£¬¶ø²»¿¼ÂÇ×Ö·û´®µÄ±àÂ룬ËùÒÔ²»»á´øÀ´±àÂëÎÊÌâ¡£

5.3. URLEncode.encode()

ÕâÊÇJava±¾ÉíÌṩ¶ÔµÄURL±àÂ뺯Êý£¬Íê³ÉµÄ¹¤×÷ºÍÉÏÊöUTF-8Ñ¡ÏîÓÐЧʱä¯ÀÀÆ÷Ëù×öµÄ¹¤×÷ÏàËÆ¡£ÖµµÃ˵Ã÷µÄÊÇ£¬javaÒѾ­²»Ô޳ɲ»Ö¸¶¨±àÂëÀ´Ê¹Óø÷½·¨£¨deprecated£©¡£Ó¦¸ÃÔÚʹÓõÄʱºòÔö¼Ó±àÂëÖ¸¶¨¡£

µ±²»Ö¸¶¨±àÂëµÄʱºò£¬¸Ã·½·¨Ê¹ÓÃϵͳĬÈϱàÂ룬Õâ»áµ¼ÖÂÈí¼þÔËÐнá¹ûµÃ²»È·¶¨¡£±ÈÈç¶ÔÓÚ"ÖÐÎÄ"£¬µ±ÏµÍ³Ä¬ÈϱàÂëΪ"gb2312"ʱ£¬½á¹ûÊÇ"N-e‡"£¬¶øÄ¬ÈϱàÂëΪ"UTF-8"£¬½á¹ûÈ´ÊÇ"中文"£¬ºóÐø³ÌÐò½«ÄÑÒÔ´¦Àí¡£ÁíÍ⣬Õâ¶ù˵µÄϵͳĬÈϱàÂëÊÇÓÉÔËÐÐtomcatʱµÄ»·¾³±äÁ¿LC_ALLºÍLANGµÈ¾ö¶¨µÄ£¬Ôø¾­³öÏÖ¹ýtomcatÖØÆôºó¾Í³öÏÖÂÒÂëµÄÎÊÌ⣬×îºó²ÅÓôÃÆµÄ·¢ÏÖÊÇÒòΪÐÞ¸ÄÐÞ¸ÄÁËÕâÁ½¸ö»·¾³±äÁ¿¡£

½¨Òéͳһָ¶¨Îª"UTF-8"±àÂ룬¿ÉÄÜÐèÒªÐÞ¸ÄÏàÓ¦µÄ³ÌÐò¡£

5.4. Ò»¸ö½â¾ö·½°¸

ÉÏÃæËµÆð¹ý£¬ÒòΪä¯ÀÀÆ÷ÉèÖõIJ»Í¬£¬¶ÔÓÚͬһ¸öÁ´½Ó£¬web serverÊÕµ½µÄÊDz»Í¬ÄÚÈÝ£¬¶øÈí¼þϵͳÓÐÎÞ·¨ÖªµÀÕâÖмäµÄÇø±ð£¬ËùÒÔÕâһЭÒéĿǰ»¹´æÔÚȱÏÝ¡£

Õë¶Ô¾ßÌåÎÊÌ⣬²»Ó¦¸Ã½ÄÐÒÈÏΪËùÓпͻ§µÄIEÉèÖö¼ÊÇUTF-8ÓÐЧµÄ£¬Ò²²»Ó¦¸Ã´Ö±©µÄ½¨ÒéÓû§ÐÞ¸ÄIEÉèÖã¬ÒªÖªµÀ£¬Óû§²»¿ÉÄÜÈ¥¼Çסÿһ¸öweb serverµÄÉèÖá£ËùÒÔ£¬½ÓÏÂÀ´µÄ½â¾ö°ì·¨¾ÍÖ»ÄÜÊÇÈÃ×Ô¼ºµÄ³ÌÐò¶àÒ»µãÖÇÄÜ£º¸ù¾ÝÄÚÈÝÀ´·ÖÎö±àÂëÊÇ·ñUTF-8¡£

±È½ÏÐÒÔ˵ÄÊÇUTF-8±àÂëÏ൱ÓйæÂÉ£¬ËùÒÔ¿ÉÒÔͨ¹ý·ÖÎö´«Êä¹ýÀ´µÄÁ´½ÓÄÚÈÝ£¬À´ÅжÏÊÇ·ñÊÇÕýÈ·µÄUTF-8×Ö·û£¬Èç¹ûÊÇ£¬ÔòÒÔUTF-8´¦ÀíÖ®£¬Èç¹û²»ÊÇ£¬ÔòʹÓÿͻ§Ä¬ÈϱàÂ루±ÈÈç"GBK"£©£¬ÏÂÃæÊÇÒ»¸öÅжÏÊÇ·ñUTF-8µÄÀý×Ó£¬Èç¹ûÄãÁ˽âÏàÓ¦¹æÂÉ£¬¾ÍÈÝÒ×Àí½â¡£

public static boolean isValidUtf8(byte[] b,int aMaxCount){

int lLen=b.length,lCharCount=0;

for(int i=0;i<lLen && lCharCount<aMaxCount; lCharCount){

byte lByte=b[i ];//to fast operation, now, ready for the following for(;;)

if(lByte>=0) continue;//>=0 is normal ascii

if(lByte<(byte)0xc0 || lByte>(byte)0xfd) return false;

int lCount=lByte>(byte)0xfc?5:lByte>(byte)0xf8?4

:lByte>(byte)0xf0?3:lByte>(byte)0xe0?2:1;

if(i lCount>lLen) return false;

for(int j=0;j<lCount; j, i) if(b[i]>=(byte)0xc0) return false;

}

return true;

}

ÏàÓ¦µØ£¬Ò»¸öʹÓÃÉÏÊö·½·¨µÄÀý×ÓÈçÏ£º

public static String getUrlParam(String aStr,String aDefaultCharset)

throws UnsupportedEncodingException{

if(aStr==null) return null;

byte[] lBytes=aStr.getBytes("ISO-8859-1");

return new String(lBytes,StringUtil.isValidUtf8(lBytes)?"utf8":aDefaultCharset);

}

²»¹ý£¬¸Ã·½·¨Ò²´æÔÚȱÏÝ£¬ÈçÏÂÁ½·½Ã棺

l ûÓаüÀ¨¶ÔÓû§Ä¬ÈϱàÂëµÄʶ±ð£¬Õâ¿ÉÒÔ¸ù¾ÝÇëÇóÐÅÏ¢µÄÓïÑÔÀ´Åжϣ¬µ«²»Ò»¶¨ÕýÈ·£¬ÒòΪÎÒÃÇÓÐʱºòÒ²»áÊäÈëһЩº«ÎÄ£¬»òÕ߯äËûÎÄ×Ö¡£

l ¿ÉÄÜ»á´íÎóÅжÏUTF-8×Ö·û£¬Ò»¸öÀý×ÓÊÇ"ѧϰ"Á½¸ö×Ö£¬ÆäGBK±àÂëÊÇ" \xd1\xa7\xcf\xb0"£¬Èç¹ûʹÓÃÉÏÊöisValidUtf8·½·¨Åжϣ¬½«·µ»Øtrue¡£¿ÉÒÔ¿¼ÂÇʹÓøüÑϸñµÄÅжϷ½·¨£¬²»¹ý¹À¼ÆÐ§¹û²»´ó¡£

ÓÐÒ»¸öÀý×Ó¿ÉÒÔÖ¤Ã÷googleÒ²Óöµ½ÁËÉÏÊöÎÊÌ⣬¶øÇÒÒ²²ÉÓÃÁ˺ÍÉÏÊöÏàËÆµÄ´¦Àí·½·¨£¬±ÈÈ磬Èç¹ûÔÚµØÖ·À¸ÖÐÊäÈë"http://www.google.com/search?hl=zh-CN&newwindow=1&q=ѧϰ"£¬google½«ÎÞ·¨Õýȷʶ±ð£¬¶øÆäËûºº×ÖÒ»°ãÄܹ»Õý³£Ê¶±ð¡£

×îºó£¬Ó¦¸Ã²¹³ä˵Ã÷һϣ¬Èç¹û²»Ê¹ÓÃrewrite¹æÔò£¬»òÕßͨ¹ý±íµ¥Ìá½»Êý¾Ý£¬Æäʵ²¢²»Ò»¶¨»áÓöµ½ÉÏÊöÎÊÌ⣬ÒòΪÕâʱ¿ÉÒÔÔÚÌá½»Êý¾Ýʱָ¶¨Ï£ÍûµÄ±àÂë¡£ÁíÍ⣬ÖÐÎÄÎļþÃûȷʵ»á´øÀ´ÎÊÌ⣬Ӧ¸Ã½÷É÷ʹÓá£

6. ÆäËü

ÏÂÃæÃèÊöһЩºÍ±àÂëÓÐ¹ØµÄÆäËûÎÊÌâ¡£

6.1. SecureCRT

³ýÁËä¯ÀÀÆ÷ºÍ¿ØÖÆÌ¨Óë±àÂëÓйØÍ⣬һЩ¿Í»§¶ËÒ²ºÜÓйØÏµ¡£±ÈÈçÔÚʹÓÃSecureCRTÁ¬½Ólinuxʱ£¬Ó¦¸ÃÈÃSecureCRTµÄÏÔʾ±àÂ루²»Í¬µÄsession£¬¿ÉÒÔÓв»Í¬µÄ±àÂëÉèÖ㩺ÍlinuxµÄ±àÂë»·¾³±äÁ¿±£³ÖÒ»Ö¡£·ñÔò¿´µ½µÄһЩ°ïÖúÐÅÏ¢£¬¾Í¿ÉÄÜÊÇÂÒÂë¡£

ÁíÍ⣬mysqlÓÐ×Ô¼ºµÄ±àÂëÉèÖã¬Ò²Ó¦¸Ã±£³ÖºÍSecureCRTµÄÏÔʾ±àÂëÒ»Ö¡£·ñÔòͨ¹ýSecureCRTÖ´ÐÐsqlÓï¾äµÄʱºò£¬¿ÉÄÜÎÞ·¨´¦ÀíÖÐÎÄ×Ö·û£¬²éѯ½á¹ûÒ²»á³öÏÖÂÒÂë¡£

¶ÔÓÚUtf-8Îļþ£¬ºÜ¶à±à¼­Æ÷£¨±ÈÈç¼Çʱ¾£©»áÔÚÎļþ¿ªÍ·Ôö¼ÓÈý¸ö²»¿É¼ûµÄ±êÖ¾×Ö½Ú£¬Èç¹û×÷ΪmysqlµÄÊäÈëÎļþ£¬Ôò±ØÐëҪȥµôÕâÈý¸ö×Ö·û¡££¨ÓÃlinuxµÄvi±£´æ¿ÉÒÔÈ¥µôÕâÈý¸ö×Ö·û£©¡£Ò»¸öÓÐȤµÄÏÖÏóÊÇ£¬ÔÚÖÐÎÄwindowsÏ£¬´´½¨Ò»¸öÐÂtxtÎļþ£¬ÓüÇʱ¾´ò¿ª£¬ÊäÈë"Á¬Í¨"Á½¸ö×Ö£¬±£´æ£¬ÔÙ´ò¿ª£¬Äã»á·¢ÏÖÁ½¸ö×ÖûÁË£¬Ö»ÁôÏÂÒ»¸öСºÚµã¡£

ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!

×îÐÂÆÀÂÛ¹²ÓÐ 0 Î»ÍøÓÑ·¢±íÁËÆÀÂÛ
·¢±íÆÀÂÛ
ÆÀÂÛÄÚÈÝ£º²»Äܳ¬¹ý250×Ö£¬ÐèÉóºË£¬Çë×Ô¾õ×ñÊØ»¥ÁªÍøÏà¹ØÕþ²ß·¨¹æ¡£
Óû§Ãû£º ÃÜÂ룺
ÄäÃû
×¢²á