±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔسö´¦£ºhttp://blog.csdn.net/royaki/archive/2009/05/07/4159279.aspx
1¡¢½¨Á¢Ò»¸öServlet²¢ÇÒʵÏÖFilter½Ó¿Ú
¸ÃÀàÐèҪʵÏÖFilter½Ó¿ÚÖеÄinit() doFilter() destory()·½·¨
ÆäÖÐinit()·½·¨×Ô¶¯ÔÚÏîÄ¿Æô¶¯µÄʱºò¼ÓÔØ£¬doFilter()ÔÚµ÷ÓÃxmlÅäÖõÄ·¾¶ÊǼÓÔØ£¬destory()·½·¨ÔÚÍ˳öÏîÄ¿µÄʱºò½øÐС£
public class TestFilter implements Filter{
public void init(FilterConfig filterConfig) throws ServletException{
System.out.println("³õʼ»¯Filter");
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws Exception{
System.out.println("½øÐÐdoFilter");
chain(request,response); //ʹÓÃÕâÒ»¾ä¼ÌÐøServletÇëÇó
}
public void destory(){
System.out.println("¹ýÂËÆ÷Ïú»Ù");
}
}
2¡¢ÔÚxmlÖÐÅäÖÃFilter
<filter>
<filter-name></filter-name>
<filter-class></filter-class>
</filter>
<filter-mapping>
<filter-name></filter-name>
<url-pattern& ......
1¡¢½¨Á¢Ò»¸öServlet²¢ÇÒʵÏÖFilter½Ó¿Ú
¸ÃÀàÐèҪʵÏÖFilter½Ó¿ÚÖеÄinit() doFilter() destory()·½·¨
ÆäÖÐinit()·½·¨×Ô¶¯ÔÚÏîÄ¿Æô¶¯µÄʱºò¼ÓÔØ£¬doFilter()ÔÚµ÷ÓÃxmlÅäÖõÄ·¾¶ÊǼÓÔØ£¬destory()·½·¨ÔÚÍ˳öÏîÄ¿µÄʱºò½øÐС£
public class TestFilter implements Filter{
public void init(FilterConfig filterConfig) throws ServletException{
System.out.println("³õʼ»¯Filter");
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws Exception{
System.out.println("½øÐÐdoFilter");
chain(request,response); //ʹÓÃÕâÒ»¾ä¼ÌÐøServletÇëÇó
}
public void destory(){
System.out.println("¹ýÂËÆ÷Ïú»Ù");
}
}
2¡¢ÔÚxmlÖÐÅäÖÃFilter
<filter>
<filter-name></filter-name>
<filter-class></filter-class>
</filter>
<filter-mapping>
<filter-name></filter-name>
<url-pattern>/*</url-pattern> //ÕâÀïÏë¶ÔÄĸ ......
/**
* »ñµÃʵЧʱ¼ä,µ±Ç°Ê±¼äÍÆ³Ù1¸öÔµÄʱ¼ä<br>
*
* @return
*/
private String getInvalidationTime() {
String invalidationTime = "";
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, Calendar.MONTH + 2);
invalidationTime = new SimpleDateFormat("yyyyÄêMMÔÂddÈÕHHʱ").format(cal
.getTime());
System.out.println("####getInvalidationTime()-->invalidationTime:"
+ invalidationTime);
return invalidationTime;
} ......
/**
* »ñµÃµ±Ç°Ê±¼äһСʱǰµÄʱ¼ä£¬¸ñʽ»¯³Éyyyy-MM-dd HH:mm:ss:SS<br>
*
* @return µ±Ç°Ê±¼äһСʱǰµÄʱ¼ä
*/
public String getOneHoursAgoTime() {
String oneHoursAgoTime = "";
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR, 1);
oneHoursAgoTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")
.format(cal.getTime());
System.out.println("####getOneHoursAgoTime()-->oneHoursAgoTime:"
+ oneHoursAgoTime);
  ......
±í´ïʽÒâÒ壺
1.×Ö·û
x ×Ö·û x¡£ÀýÈça±íʾ×Ö·ûa
\\ ·´Ð±Ïß×Ö·û¡£ÔÚÊéдʱҪдΪ\\\\¡££¨×¢Ò⣺ÒòΪjavaÔÚµÚÒ»´Î½âÎöʱ,°Ñ\\\\½âÎö³ÉÕýÔò±í´ïʽ\\£¬ÔÚµÚ¶þ´Î½âÎöʱÔÙ½âÎöΪ\£¬ËùÒÔ·²ÊDz»ÊÇ1.1Áоٵ½µÄתÒå×Ö·û£¬°üÀ¨1.1µÄ\\,¶øÓÖ´øÓÐ\µÄ¶¼ÒªÐ´Á½´Î£©
\0n ´øÓа˽øÖÆÖµ 0µÄ×Ö·û n (0 <= n <= 7)
\0nn ´øÓа˽øÖÆÖµ 0µÄ×Ö·û nn (0 <= n <= 7)
\0mnn ´øÓа˽øÖÆÖµ 0µÄ×Ö·û mnn£¨0 <= m <= 3¡¢0 <= n <= 7£©
\xhh ´øÓÐÊ®Áù½øÖÆÖµ 0xµÄ×Ö·û hh
\uhhhh ´øÓÐÊ®Áù½øÖÆÖµ 0xµÄ×Ö·û hhhh
\t ÖÆ±í·û ('\u0009')
\n ÐÂÐУ¨»»ÐУ©·û ('\u000A')
\r »Ø³µ·û ('\u000D')
\f »»Ò³·û ('\u000C')
\a ±¨¾¯ (bell) ·û ('\u0007')
\e תÒå·û ('\u001B')
\cx ¶ÔÓ¦ÓÚ x µÄ¿ØÖÆ·û
2.×Ö·ûÀà
[abc] a¡¢b»ò c£¨¼òµ¥Àࣩ¡£ÀýÈç[egd]±íʾ°üº¬ÓÐ×Ö·ûe¡¢g»òd¡£
[^abc] ......
ÔÚ·Ö²¼Ê½·þÎñ¿ò¼ÜÖУ¬Ò»¸ö×î»ù´¡µÄÎÊÌâ¾ÍÊÇÔ¶³Ì·þÎñÊÇÔõôͨѶµÄ£¬ÔÚJavaµ×²ãÁìÓòÖÐÓкܶà¿ÉʵÏÖÔ¶³ÌͨѶµÄ¼¼Êõ£¬ÀýÈ磺RMI¡¢MINA¡¢ESB¡¢Burlap¡¢SOAP¡¢EJBºÍJMS µÈ£¬ÔÚj2eeÖÐ,¶Ôjavaµ×²ãÔ¶³ÌͨѶµÄ¼¼Êõ½øÐÐÁË·â×°,ÐγÉÁË Hessian ¡¢ HttpInvoker ¡¢ XFire ¡¢ Axis µÈ¶àÖÖÐÎʽµÄÔ¶³Ìµ÷Óü¼Êõ¡£ µ«¶Ô¸ß¼¶³ÌÐòÔ±¶øÑÔÈÔÐèÒªÕÆÎÕJavaµ×²ãÁìÓòÖÐÔ¶³ÌͨѶµÄ¼¼Êõ,ÓÈÆäÊÇrmi,xml-rpc,JMS¡£
1.Ô¶³Ì·þÎñ»ù±¾ÔÀí
1)µ×²ãÐÒé
¡¡¡¡ÒªÊµÏÖÍøÂç»úÆ÷¼äµÄͨѶ£¬Ê×ÏȵÃÀ´¿´¿´¼ÆËã»úÏµÍ³ÍøÂçͨÐŵĻù±¾ÔÀí£¬Ôڵײã²ãÃæÈ¥¿´£¬ÍøÂçͨÐÅÐèÒª×öµÄ¾ÍÊǽ«Á÷´Óһ̨¼ÆËã»ú´«Êäµ½ÁíÍâһ̨¼ÆËã»ú£¬»ùÓÚ´«ÊäÐÒéºÍÍøÂçIOÀ´ÊµÏÖ£¬ÆäÖд«ÊäÐÒé±È½Ï³öÃûµÄÓÐhttp¡¢tcp¡¢udpµÈµÈ£¬http¡¢tcp¡¢udp¶¼ÊÇÔÚ»ùÓÚSocket¸ÅÄîÉÏΪijÀàÓ¦Óó¡¾°¶øÀ©Õ¹³öµÄ´«ÊäÐÒé£¬ÍøÂçIO£¬Ö÷ÒªÓÐbio¡¢nio¡¢aioÈýÖÖ·½Ê½£¬ËùÓеķֲ¼Ê½Ó¦ÓÃͨѶ¶¼»ùÓÚÕâ¸öÔÀí¶øÊµÏÖ£¬Ö»ÊÇΪÁËÓ¦ÓõÄÒ×Ó㬸÷ÖÖÓïÑÔͨ³£¶¼»áÌṩһЩ¸üΪÌù½üÓ¦ÓÃÒ×ÓõÄÓ¦ÓòãÐÒé¡£
2)Ó¦Óü¶ÐÒé
¡¡¡¡Ô¶³Ì·þÎñͨѶ£¬ÐèÒª´ïµ½µÄÄ¿±êÊÇÔÚһ̨¼ÆËã»ú·¢ÆðÇëÇó£¬ÁíÍâһ̨»úÆ÷ÔÚ½ÓÊÕµ½ÇëÇóºó½øÐÐÏàÓ¦µÄ´¦Àí²¢½«½á¹û·µ»Ø¸øÇëÇó¶Ë£¬ÕâÆäÖÐÓÖ»áÓÐÖîÈçone way reque ......