private static boolean isValidDate(String strValue ) {//20091001×Ö·û´®
int d = Integer.parseInt(strValue.substring(6, 8));
int m = Integer.parseInt(strValue.substring(4, 6));
int y = Integer.parseInt(strValue.substring(0, 4));
if (d < 1 || m < 1 || m > 12) return false;
if (m == 2) {
if (isLeapYear(y)) return d <= 29;
else return d <= 28;
}
else if (m == 4 || m == 6 || m == 9 || m == 11)
return d <= 30;
else
return d <= 31;
}
......
A flexible layout configurable with pattern string.
The goal of this class is to format
a LoggingEvent
and return the results as a String. The results depend on the conversion
pattern
.
The conversion pattern is closely related to the conversion pattern of the
printf function in C. A conversion pattern is composed of literal text and
format control expressions called conversion specifiers
.
You are free to insert any literal text within the conversion pattern.
Each conversion specifier starts with a percent sign (%) and is followed by
optional format modifiers
and a conversion character
. The
conversion character specifies the type of data, e.g. category, priority, date,
thread name. The format modifiers control such things as field width, padding,
left and right justification. The following is a simple example.
Let the conversion pattern be "%-5p [%t]: %m%n"
and assume that the
log4j environment was set to use a PatternLayout. The ......
Willow
ÓÉHuihoo Power¿ª·¢Ïêϸ¿Éµ½ÆäÖÐÎÄÖ÷Ò³²é¿´¡£
¸ü¶àWillowÐÅÏ¢
OpenWFE
OpenWFEÊÇÒ»¸ö¿ª·ÅÔ´ÂëµÄJava¹¤×÷Á÷ÒýÇæ¡£ËüÊÇÒ»¸öÍêÕûµÄÒµÎñ´¦Àí¹ÜÀíÌ×¼þ£ºÒ»¸öÒýÇæ£¬Ò»¸ö¹¤×÷ÁÐ±í£¬Ò»¸öWeb½çÃæºÍÒ»¸ö·´Ó¦Æ÷£¨´æ·Å×Ô¶¯´úÀí£©¡£Ëü¿ÉÒÔ¿ÉÒÔ¸úÄãµÄ³ÌÐòºÜºÃµÄ¸øºÏ¡£
¸ü¶àOpenWFEÐÅÏ¢
jBpm
jBpmÊÇÒ»¸öÁé»î¿ÉÀ©Õ¹µÄ¹¤×÷Á÷¹ÜÀíϵͳ¡£×÷Ϊ jBpmÔËÐÐʱserverÊäÈëµÄÒµÎñÁ÷³ÌʹÓüòµ¥Ç¿´óµÄÓïÑÔ±í´ï²¢´ò°üÔÚÁ÷³Ìµµ°¸ÖС£jBmp½«¹¤×÷Á÷Ó¦Óÿª·¢µÄ±ãÀûÐԺͽܳöµÄÆóÒµÓ¦Óü¯³É£¨EAI£©ÄÜÁ¦½áºÏÁËÆðÀ´¡£jBmp°üÀ¨Ò»¸öWebÓ¦ÓóÌÐòºÍÒ»¸öÈճ̰²ÅųÌÐò¡£jBmpÊÇÒ»×éJ2SE×é¼þ£¬¿ÉÒÔ×÷ΪJ2EEÓ¦Óü¯Èº²¿Êð¡£
¸ü¶àjBpmÐÅÏ¢
OpenEbXML
OpenebXMLÏîÄ¿ÖÂÁ¦ÓÚÌṩһ¸öebXML¿ò¼Ü£¬Ö÷ÒªÖ§³Ö²»¾Ã½«ÓÉ UN/CEFACTºÍOASIS·¢²¼µÄebXML¹æ·¶2.0°æ¡£
¸ü¶àOpenEbXMLÐÅÏ¢
Werkflow
WerkflowÊÇÒ»¸öÁé»î¿ÉÀ©Õ¹µÄ»ùÓÚÁ÷³ÌºÍ״̬µÄ¹¤×÷Á÷ÒýÇæ¡£ËüµÄÄ¿±êÊÇÂú×ã¿ÉÒÔÏëÏóµÄËùÓй¤×÷Á÷³Ì£¬´ÓÆóÒµ¼¶µÄÒµÎñÁ÷³Ìµ½Ð¡·¶Î§µÄÓû§½»»¥Á÷³Ì¡£Í¨¹ýʹÓÿɲå°ÎºÍ·Ö²ã½á¹¹£¬¿ÉÒÔ·½±ãµØÈÝÄɸ÷ÖÖ¹¤×÷Á÷ÓïÒå¡£
¸ü¶àWerkflowÐÅÏ¢
OSWorkflow
OSWorkflowÊÇÒ»¸öÁé»îµÄ¹¤×÷Á÷ÒýÇæ£¬Éè¼Æ³É¿ÉǶÈëµ½ÆóÒµÓ¦ÓóÌÐ ......
//create a new Document
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document d = db.newDocument();
//add root Node
Element noteuser = d.createElement("note-users");
d.appendChild(noteuser);
//add exists Node
Document readXML = db.parse(new File("c:\\note-user.xml"));
NodeList nl = readXML.getElementsByTagName("user");
for(int i = 0; i < nl.getLength(); i++)
{
Element n = d.createElement("user");
n.setAttribute("name", nl.item(i).getAttributes().getNamedItem("name").getNodeValue());
if(id !=null && id.equals(nl.item(i).getAttributes().getNamedItem("name").getNodeValue()))
{
//duplicate id (redirect to error page)
response.getWriter().print("<font color = red>duplicate id !</font>");
response.getWr ......
//create a new Document
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document d = db.newDocument();
//add root Node
Element noteuser = d.createElement("note-users");
d.appendChild(noteuser);
//add exists Node
Document readXML = db.parse(new File("c:\\note-user.xml"));
NodeList nl = readXML.getElementsByTagName("user");
for(int i = 0; i < nl.getLength(); i++)
{
Element n = d.createElement("user");
n.setAttribute("name", nl.item(i).getAttributes().getNamedItem("name").getNodeValue());
if(id !=null && id.equals(nl.item(i).getAttributes().getNamedItem("name").getNodeValue()))
{
//duplicate id (redirect to error page)
response.getWriter().print("<font color = red>duplicate id !</font>");
response.getWr ......
Ê×ÏÈÁ˽âÒ»ÏÂʲôÊÇQname
ÏÂÃæÊÇһƪдµÄ±È½ÏºÃµÄ¹ØÓÚQnameµÄ½éÉÜ£º
http://blog.csdn.net/fbysss/archive/2007/06/24/1664076.aspx
¿É¼ûQnameÖ÷ÒªÊÇ´¦ÀínamesapceµÄ£¬ÊÇÖ¸¾ßÓÐÌØ¶¨Ç°×ºµÄxml element¡£¶øÇÒQname¾ÍÊÇQualifiedNameµÄËõд£¬ËùÒÔQnameÔÚC#ÖжÔÓ¦µÄÓ¦¸ÃÊÇXmlQualifiedNameÕâ¸öÀà ......
Ê×ÏÈÁ˽âÒ»ÏÂʲôÊÇQname
ÏÂÃæÊÇһƪдµÄ±È½ÏºÃµÄ¹ØÓÚQnameµÄ½éÉÜ£º
http://blog.csdn.net/fbysss/archive/2007/06/24/1664076.aspx
¿É¼ûQnameÖ÷ÒªÊÇ´¦ÀínamesapceµÄ£¬ÊÇÖ¸¾ßÓÐÌØ¶¨Ç°×ºµÄxml element¡£¶øÇÒQname¾ÍÊÇQualifiedNameµÄËõд£¬ËùÒÔQnameÔÚC#ÖжÔÓ¦µÄÓ¦¸ÃÊÇXmlQualifiedNameÕâ¸öÀà ......
ÔÎÄÁ´½Ó£ºhttp://www.infoq.com/cn/news/2007/09/java_web_architecture_turnning
×÷Õß ÌïÀÖ ·¢²¼ÓÚ 2007Äê9ÔÂ17ÈÕ ÉÏÎç9ʱ24·Ö
һλIDÊÇjackson1225µÄÍøÓÑÔÚJavaEyeѯÎÊÁËÒ»¸ö´óÐÍWebϵͳµÄ¼Ü¹¹ºÍ²¿ÊðÑ¡ÐÍÎÊÌ⣬ϣÍûÄÜÌá¸ßÏÖÓеĻùÓÚJavaµÄWebÓ¦ÓõķþÎñÄÜÁ¦¡£ÓÉÓڼܹ¹Ä£Ê½ºÍ²¿Êðµ÷ÓÅÒ»Ö±ÊÇJavaÉçÇøµÄÈÈÃÅ»°Ì⣬Õâ¸öÎÊÌâÒý·¢Á˺ܶàÈÈÐÄÍøÓѵÄÌÖÂÛ£¬ÆäÖÐһЩÒâ¼û¶ÔÆäËü´óÐÍWebÏîĿҲÓкܺõÄÖ¸µ¼ÒâÒå¡£ÔÚÌÖÂÛÖ®³õjackson1225ÕâÑùÃèÊöÁ˵±Ç°µÄÓ¦Óõļܹ¹ºÍ²¿Êð·½°¸£º
Ŀǰϵͳ¼Ü¹¹ÈçÏÂ:
web²ã²ÉÓÃstruts+tomcatʵÏÖ£¬Õû¸öϵͳ²ÉÓÃ20¶ą̀web·þÎñÆ÷£¬Æä¸ºÔؾùºâ²ÉÓÃÓ²¼þF5À´ÊµÏÖ£»
Öмä²ã²ÉÓÃÎÞ״̬»á»°Bean+DAO+helperÀàÀ´ÊµÏÖ£¬¹²3̨weblogic·þÎñÆ÷£¬²¿ÊðÓжà¸öEJB£¬Æä¸ºÔؾùºâÒ²²ÉÓÃF5À´ÊµÏÖ£»
Êý¾Ý¿â²ãµÄ²Ù×÷ÊÇ×Ô¼ºÐ´µÄͨÓÃÀàʵÏֵģ¬Á½Ì¨ORACLEÊý¾Ý¿â·þÎñÆ÷£¬·Ö±ð´æ·ÅÓû§ÐÅÏ¢ºÍÒµÎñÊý¾Ý£»Ò»Ì¨SQL SERVERÊý¾Ý¿â£¬ÊǵÚÈý·½µÄÒµÎñÊý¾ÝÐÅÏ¢£»
web²ãµ÷ÓÃEJBÔ¶³Ì½Ó¿ÚÀ´·ÃÎÊÖмä¼þ²ã¡£web²ãÊ×ÏÈͨ¹ýÒ»¸öXMLÅäÖÃÎļþÖÐÅäÖõÄEJB½Ó¿ÚÐÅÏ¢À´µ÷ÓÃÏàÓ¦µÄEJBÔ¶³Ì½Ó¿Ú£»
¸ÃϵͳÖÐÒ»´Î²Ù×÷Éæ¼°µ½Á½¸öORACLE¿âÒÔ¼°Ò»¸öSQL SERVER¿âµÄ·ÃÎʺͲÙ×÷£¬¼´ÓÐÈý¸öÊý¾Ý¿âÁ¬½Ó£¬ÔÚÒ»¸öÊ ......