import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class ImageRandom extends HttpServlet {
/**
* Constructor of the object.
*/
public ImageRandom() {
super();
}
public void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("image/jpeg");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0); ......
import java.util.regex.*;
public final class RegExpValidator
{
/**
* ÑéÖ¤ÓÊÏä
* @param ´ýÑéÖ¤µÄ×Ö·û´®
* @return Èç¹ûÊÇ·ûºÏµÄ×Ö·û´®,·µ»Ø <b>true </b>,·ñÔòΪ <b>false </b>
*/
public static boolean isEmail(String str)
{
String regex = "^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
return match(regex, str);
}
&n ......
¡¡¡¡inkfishÔ´´£¬ÇëÎðÉÌÒµÐÔÖÊ×ªÔØ£¬×ªÔØÇë×¢Ã÷À´Ô´£¨http://blog.csdn.net/inkfish
£©¡£
¡¡¡¡Java Collections Framework(JCF)
ÊÇJava SEÖÐÒ»¸ö»ù±¾µÄÀ༯£¬¼¸ºõËùÓеÄÏîÄ¿¶¼»áÓõ½£¬ÆäÖеÄList
ÔòÊÇJCFÖÐ×î×î³£ÓõÄÒ»¸ö½Ó¿Ú¡£Î§ÈÆList
½Ó¿Ú£¬ÓкܶàʵÏÖ£¬ÖîÈç³£ÓõÄArrayList
¡¢LinkedList
¡¢Vector
¡¢Stack
£¬»¹ÓÐJava5Ö®ºóÒýÈëµÄCopyOnWriteArrayList
£¬Ò²Óв»ÉÙList
µÄ¿ªÔ´ÊµÏÖ£¬ÈçApache commons-collectionsÖеĸ÷ÀàList
¡££¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
¡¡¡¡Õâô¶àµÄList
ʵÏÖ£¬ÈçºÎÑ¡Ôñ£¿ËûÃǵÄÔËÐÐЧÂʾßÌåÔõÑù£¿±¾ÆªÎÄÕ½«ÓþßÌåµÄ´úÂëÀ´¼ì²âÆäÖÐ×î×î³£ÓõÄһЩList
ʵÏÖ¡££¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
²âÊÔ»·¾³£º
¡¡¡¡´¦ÀíÆ÷£ºIntel Core 2 Duo P8600 2.4GHz
¡¡¡¡Äڴ棺2G
¡¡¡¡Ó²ÅÌ£º160G 7200rpm
¡¡¡¡Java£ºSUN JDK 1.6.0_15
¡¡¡¡¿ª·¢»·¾³£ºEclipse 3.5
¡¡¡¡µÚÈý·½Àà¿â£ºApache commons-lang 2.4¡¢Apache commons-collections 3.2.1£¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
Ö÷Òª²âÊÔ¶ÔÏó£º
¡¡¡¡java.util.ArrayList;
¡¡¡¡java.util.LinkedList;
¡¡¡¡java.util.Stack;
¡¡¡¡java.util.Vector;
¡¡¡¡java.util.co ......
Ò»¡¢±³¾°
1¡¢µ±ÎÒÃǵÚÒ»´Î½Ó´¥Ä³¶Î´úÂ룬µ«ÓÖ±»ÒªÇóÔÚ¼«¶ÌµÄʱ¼äÄÚÓÐЧµØ·ÖÎöÕâ¶Î´úÂ룬ÎÒÃÇÐèҪʲôÑùµÄ×¢ÊÍÐÅÏ¢£¿
2¡¢ÔõôÑù±ÜÃâÎÒÃǵÄ×¢ÊÍÈß³¤¶øÇÒÁèÂÒ²»¿°ÄØ£¿
3¡¢ÔÚ¶àÈËÐͬ¿ª·¢¡¢Î¬»¤µÄ½ñÌ죬ÎÒÃÇÐèÒªÔõôÑùµÄ×¢ÊÍÀ´±£Ö¤¸ßÖÊ¡¢¸ß½»µÄ½øÐпª·¢ºÍά»¤¹¤×÷ÄØ£¿
¶þ¡¢ÒâÒå
³ÌÐòÖеÄ×¢ÊÍÊdzÌÐòÉè¼ÆÕßÓë³ÌÐòÔĶÁÕßÖ®¼äͨÐŵÄÖØÒªÊֶΡ£Ó¦ÓÃ×¢Ê͹淶¶ÔÓÚÈí¼þ±¾ÉíºÍÈí¼þ¿ª·¢ÈËÔ±¶øÑÔÓÈÎªÖØÒª¡£²¢ÇÒÔÚÁ÷ÐеÄÃô½Ý¿ª·¢Ë¼ÏëÖÐÒѾÌá³öÁ˽«×¢ÊÍתΪ´úÂëµÄ¸ÅÄî¡£ºÃµÄ×¢Ê͹淶¿ÉÒÔ¾¡¿ÉÄܵļõÉÙÒ»¸öÈí¼þµÄά»¤³É±¾ , ²¢ÇÒ¼¸ºõûÓÐÈκÎÒ»¸öÈí¼þ£¬ÔÚÆäÕû¸öÉúÃüÖÜÆÚÖУ¬¾ùÓÉ×î³õµÄ¿ª·¢ÈËÔ±À´Î¬»¤¡£ºÃµÄ×¢Ê͹淶¿ÉÒÔ¸ÄÉÆÈí¼þµÄ¿É¶ÁÐÔ£¬¿ÉÒÔÈÿª·¢ÈËÔ±¾¡¿ì¶ø³¹µ×µØÀí½âеĴúÂë¡£ºÃµÄ×¢Ê͹淶¿ÉÒÔ×î´óÏ޶ȵÄÌá¸ßÍŶӿª·¢µÄºÏ×÷ЧÂÊ¡£³¤ÆÚµÄ¹æ·¶ÐÔ±àÂ뻹¿ÉÒÔÈÿª·¢ÈËÔ±Ñø³ÉÁ¼ºÃµÄ±àÂëϰ¹ß£¬ÉõÖÁ¶ÍÁ¶³ö¸ü¼ÓÑϽ÷µÄ˼άÄÜÁ¦¡£
Èý¡¢×¢Ê͵ÄÔÔò
1¡¢ ×¢ÊÍÐÎʽͳһ
ÔÚÕû¸öÓ¦ÓóÌÐòÖУ¬Ê¹ÓþßÓÐÒ»ÖµıêµãºÍ½á¹¹µÄÑùʽÀ´¹¹Ôì×¢ÊÍ¡£Èç¹ûÔÚÆäËûÏîÄ¿×é·¢ÏÖËûÃǵÄ×¢Ê͹淶ÓëÕâ·ÝÎĵµ²»Í¬£¬°´ÕÕËûÃǵĹ淶д´úÂ룬²»ÒªÊÔͼÔڼȳɵĹ淶ϵͳÖÐÒýÈëеĹ淶¡£
2¡¢ ×¢Ê͵ļò½à
ÄÚÈÝÒª¼òµ¥¡¢ ......
1£©DOM£¨JAXP Crimson½âÎöÆ÷£©
DOMÊÇÓÃÓëÆ½Ì¨ºÍÓïÑÔÎ޹صķ½Ê½±íʾXMLÎĵµµÄ¹Ù·½W3C±ê×¼¡£DOMÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐѰÕÒ
ÌØ¶¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶øDOM±»ÈÏΪÊÇ»ùÓÚÊ÷»ò»ùÓÚ¶ÔÏóµÄ¡£DOM
ÒÔ¼°¹ãÒåµÄ»ùÓÚÊ÷µÄ´¦Àí¾ßÓм¸¸öÓŵ㡣Ê×ÏÈ£¬ÓÉÓÚÊ÷ÔÚÄÚ´æÖÐÊdz־õģ¬Òò´Ë¿ÉÒÔÐÞ¸ÄËüÒÔ±ãÓ¦ÓóÌÐòÄܶÔÊý¾ÝºÍ½á¹¹×÷³ö¸ü¸Ä¡£Ëü»¹¿ÉÒÔÔÚÈκÎʱºòÔÚÊ÷ÖÐÉÏÏÂ
µ¼º½£¬¶ø²»ÊÇÏñSAXÄÇÑùÊÇÒ»´ÎÐԵĴ¦Àí¡£DOMʹÓÃÆðÀ´Ò²Òª¼òµ¥µÃ¶à¡£
2£©SAX
SAX´¦ÀíµÄÓŵã·Ç³£ÀàËÆÓÚÁ÷ýÌåµÄÓŵ㡣·ÖÎöÄܹ»Á¢¼´¿ªÊ¼£¬¶ø²»ÊǵȴýËùÓеÄÊý¾Ý±»´¦Àí¡£¶øÇÒ£¬ÓÉÓÚÓ¦ÓóÌÐòÖ»ÊÇÔÚ¶ÁÈ¡Êý¾Ýʱ¼ì²éÊý¾Ý£¬Òò´Ë²»ÐèÒª½«Êý
¾Ý´æ´¢ÔÚÄÚ´æÖС£Õâ¶ÔÓÚ´óÐÍÎĵµÀ´ËµÊǸö¾Þ´óµÄÓŵ㡣ÊÂʵÉÏ£¬Ó¦ÓóÌÐòÉõÖÁ²»±Ø½âÎöÕû¸öÎĵµ£»Ëü¿ÉÒÔÔÚij¸öÌõ¼þµÃµ½Âú×ãʱֹͣ½âÎö¡£Ò»°ãÀ´Ëµ£¬SAX»¹±È
ËüµÄÌæ´úÕßDOM¿ìÐí¶à¡£
Ñ¡ÔñDOM»¹ÊÇÑ¡ÔñSAX£¿ ¶ÔÓÚÐèÒª×Ô¼º±àд´úÂëÀ´´¦ÀíXMLÎĵµµÄ¿ª·¢ÈËÔ±À´Ëµ£¬ Ñ¡ÔñDOM»¹ÊÇSA ......
1£©DOM£¨JAXP Crimson½âÎöÆ÷£©
DOMÊÇÓÃÓëÆ½Ì¨ºÍÓïÑÔÎ޹صķ½Ê½±íʾXMLÎĵµµÄ¹Ù·½W3C±ê×¼¡£DOMÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐѰÕÒ
ÌØ¶¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶øDOM±»ÈÏΪÊÇ»ùÓÚÊ÷»ò»ùÓÚ¶ÔÏóµÄ¡£DOM
ÒÔ¼°¹ãÒåµÄ»ùÓÚÊ÷µÄ´¦Àí¾ßÓм¸¸öÓŵ㡣Ê×ÏÈ£¬ÓÉÓÚÊ÷ÔÚÄÚ´æÖÐÊdz־õģ¬Òò´Ë¿ÉÒÔÐÞ¸ÄËüÒÔ±ãÓ¦ÓóÌÐòÄܶÔÊý¾ÝºÍ½á¹¹×÷³ö¸ü¸Ä¡£Ëü»¹¿ÉÒÔÔÚÈκÎʱºòÔÚÊ÷ÖÐÉÏÏÂ
µ¼º½£¬¶ø²»ÊÇÏñSAXÄÇÑùÊÇÒ»´ÎÐԵĴ¦Àí¡£DOMʹÓÃÆðÀ´Ò²Òª¼òµ¥µÃ¶à¡£
2£©SAX
SAX´¦ÀíµÄÓŵã·Ç³£ÀàËÆÓÚÁ÷ýÌåµÄÓŵ㡣·ÖÎöÄܹ»Á¢¼´¿ªÊ¼£¬¶ø²»ÊǵȴýËùÓеÄÊý¾Ý±»´¦Àí¡£¶øÇÒ£¬ÓÉÓÚÓ¦ÓóÌÐòÖ»ÊÇÔÚ¶ÁÈ¡Êý¾Ýʱ¼ì²éÊý¾Ý£¬Òò´Ë²»ÐèÒª½«Êý
¾Ý´æ´¢ÔÚÄÚ´æÖС£Õâ¶ÔÓÚ´óÐÍÎĵµÀ´ËµÊǸö¾Þ´óµÄÓŵ㡣ÊÂʵÉÏ£¬Ó¦ÓóÌÐòÉõÖÁ²»±Ø½âÎöÕû¸öÎĵµ£»Ëü¿ÉÒÔÔÚij¸öÌõ¼þµÃµ½Âú×ãʱֹͣ½âÎö¡£Ò»°ãÀ´Ëµ£¬SAX»¹±È
ËüµÄÌæ´úÕßDOM¿ìÐí¶à¡£
Ñ¡ÔñDOM»¹ÊÇÑ¡ÔñSAX£¿ ¶ÔÓÚÐèÒª×Ô¼º±àд´úÂëÀ´´¦ÀíXMLÎĵµµÄ¿ª·¢ÈËÔ±À´Ëµ£¬ Ñ¡ÔñDOM»¹ÊÇSA ......
java byteÓëchar»¥×ªÔÀí-ת
Ò»¡¢×Ö½ÚºÍunicode
JavaÄÚºËÊÇunicodeµÄ£¬¾ÍÁ¬classÎļþÒ²ÊÇ£¬µ«ÊǺܶàýÌ壬°üÀ¨Îļþ/Á÷µÄ±£´æ·½Ê½ÊÇʹÓÃ×Ö½ÚÁ÷µÄ¡£Òò´ËJavaÒª¶ÔÕâЩ×Ö½ÚÁ÷¾ÐÐת»¯¡£ charÊÇunicodeµÄ£¬¶øbyteÊÇ×Ö½Ú¡£JavaÖÐ byte/char»¥×ªµÄº¯ÊýÔÚsun.ioµÄ°üÖмäÓС£ÆäÖÐByteToCharConverterÀàÊÇÖе÷¶È£¬¿ÉÒÔÓÃÀ´¸æËßÄ㣬ÄãÓÃµÄ convertor¡£ÆäÖÐÁ½¸öºÜ³£Óõľ²Ì¬º¯ÊýÊÇ£º
public static ByteToCharConverter getDefault();
public static ByteToCharConverter getConverter(String encoding);
Èç¹ûÄã²»Ö¸¶¨converter£¬Ôòϵͳ»á×Ô¶¯Ê¹Óõ±Ç°µÄencoding,gbƽ̨ÉÏÓÃgbk,enƽ̨ÉÏÓÃ8859_1¡£
byte ——¡µchar£º
"Äã"µÄgbÂëÊÇ£º0xc4e3 ,unicodeÊÇ0x4f60
String encoding = "gb2312";
byte b[] = {(byte)'\u00c4',(byte)'\u00e3'};
ByteToCharConverter converter = ByteToCharConverter.getConverter(encoding);
char c[] = converter.convertAll(b);
for (int i = 0; i < c.length; i++) {
System.out.println(Integer.toHexString(c[i]));
}
½á¹ûÊÇʲô£¿0x4f60
Èç¹ûencoding ="8859_1"£¬½á¹ûÓÖÊÇʲô£¿0x00c4,0x00e3
Èç¹û´úÂë¸ÄΪ£ ......