´«ÖDz¥¿Íjavaѧϰ javaweb¹ýÂËÆ÷£¨filter£©
ÎÒ½ñÌìѧϰÁ˹ýÂËÆ÷£¨filter£©µÄ֪ʶ£¬ÊÇ·ëÀÏʦ½²µÄ¿Î£¬ÎÒ×öÁ˼òµ¥µÄ±Ê¼Ç£º
Servlet¹ýÂËÆ÷£¨Filter£©£º²»ÏÞ¶¨ÓÚ¾ßÌåµÄÐÒé
Ò»¡¢ ʹÓÃÀ¹½ØÉèÖÃÇëÇó×Ö·û±àÂ룬¹ýÂË·Ç·¨ÎÄ×Ö£¬ÑéÖ¤¿Í»§ÊÇ·ñÒѾµÇ½£¬
¶þ¡¢ ±àд¹ýÂËÆ÷£º
a) ½¨Á¢Ò»¸öclass£¬ÊµÏÖFilter½Ó¿Ú£¬ÓÐÈý¸ö·½·¨£¬ÊǹýÂËÆ÷ÉúÃüÖÜÆÚµÄ·½·¨£¬init£¨£©³õʼ»¯£ºÖ´ÐÐÒ»´Î£¬doFilter£¨£©Íê³É¹ýÂËÈÎÎñ£ºÖ´Ðжà´Î£¬destroy£¨£©¹ýÂËÆ÷Ïú»Ù£ºÖ´ÐÐÒ»´Î£¬£¨ÏÈʵÀý»¯£¬ºó³õʼ»¯£©£¬ÓÐÇëÇóʱ²ÅÖ´ÐÐdoFilter·½·¨£¬
b) ÔÚweb.xmlÀïÃæ×¢²á¹ýÂËÆ÷: ( /* )´ú±íÀ¹½ØËùÓеÄÎļþ <filter><filter-name> </filter-name><filter-class><filter-class></filter> ÅäÖÃÓ³ÉäÐÅÏ¢£º<filter-mapping><filter-name></filter-name> <url-pattern>/*</url-pattern> </filter-maping>
c) ÔÚdoFilter£¨£©ÀïÃæ·ÅÐУºchain.doFilter(request,repsonse);
Èý¡¢ ³õʼ»¯·½·¨£ºInit(FilterConfig filterConfig )£º¶ÁÈ¡¹ýÂËÆ÷µÄ³õʼ»¯²ÎÊý£ºfilterConfig.getInitParameter(“nba”); ʹÓÃö¾Ù¶ÁÈ¡£º Enum em =filterConfig.getInitParamternames(); Êä³öÉÏÏÂÎIJÎÊý£»filterCOnfig.getServletcontext.getInitparamternames()
ËÄ¡¢ doFilter( )
Ïà¹ØÎĵµ£º
Ê×ÏÈÃ÷È·ÏÂÀà¼ÓÔØµÄ¶¨Ò壬Àà¼ÓÔØÊµ¼ÊÉϾÍÊǽ«java classÎļþ¼ÓÔØµ½java ÐéÄâ»úÖУ¬¸ù¾ÝJVM¹æ·¶µÄ¶¨Ò壬һ°ã·ÖΪ2ÖÖÀàÐ͵ÄÀà¼ÓÔØ£¬Ò»ÖÖÊÇÆô¶¯Àà¼ÓÔØÆ÷£¬ÁíÍâÒ»ÖÖÊÇÓû§×Ô¶¨ÒåÀà¼ÓÔØÆ÷¡£
Ò» Æô¶¯Àà¼ÓÔØÆ÷¡£
Æô¶¯Àà¼ÓÔØÆ÷Ò²ÓÐÒÔÏÂÈýÖÖ£ºBootstrap ClassLoader¡¢AppClassLoaderºÍExtClassLoader,ÕâÈýÖÖclassloaderÔÚjavaÐéÄâ» ......
¼°Ê±Ïû³ý²»Ê¹ÓõĶÔÏóµÄÒýÓÃ, ÀíÂÛÉÏ, ´øÓÐÄÚ´æ¹ÜÀíµÄÓïÑÔÊDz»´æÔÚÄÚ´æÐ¹Â©µÄ, µ«ÊÇÈç¹û¶Ô¶ÔÏóµÄ²Ù×÷²»µ±,Ò²ÊÇ¿ÉÄÜ»áÔì³ÉÄÚ´æÐ¹Â©. ÈçÓÐÒ»¸östack, Æäpopº¯ÊýÈçÏÂ. public Object pop() { if( Element.length() == 0) return nu ......
/* ¸ßÊÖÖ®×÷£¬±¾È˽÷ÒÔÊÕ²ØÕßÉí·Ý¹²ÏíÔ´Â룬¹©´ó¼Ò²Î¿¼Ö®! */
/*
* ÁбíADT½Ó¿Ú
*/
package dsa;
public interface List {
//²éѯÁÐ±íµ±Ç°µÄ¹æÄ£
public int getSize();
//ÅжÏÁбíÊÇ·ñΪ¿Õ
public boolean isEmpty();
//·µ»ØµÚÒ»¸öÔªËØ£¨µÄλÖã©
public Position first();
//· ......
1. doGet vs doPost
Õâ¸öÎÊÌ⣬ÀÏʦ½²µÃ²»ÊǺÜÇåÎú£¬½ö½ö½²ÁËdoGetÊÇ¿ÉÒÔÈ¡³ö²ÎÊýÖµÔÚurlÖеIJÎÊý¡£ÒÔÏÂÄÚÈÝcopy×ÔÍøÂ磺
“getÖ»ÓÐÒ»¸öÁ÷£¬²ÎÊý¸½¼ÓÔÚurlºó£¬µØÖ·ÐÐÏÔʾҪ´«Ë͵ÄÐÅÏ¢£¬´óС¸öÊýÓÐÑϸñÏÞÖÆÇÒÖ»ÄÜÊÇ×Ö·û´®¡£
postµÄ²ÎÊýÊÇͨ¹ýÁíÍâµÄÁ÷´«µÝµÄ£¬ ²»Í¨¹ýurl£¬ËùÒÔ¿ÉÒԺܴó£¬Ò²¿ÉÒÔ´« ......