µÚ6Õ¿κóÁ·Ï°
? Ñ¡ÔñÌâ
1. ¹ØÓÚ¹ýÂËÆ÷µÄÃèÊö£¬ÒÔϺÎÕßÕýÈ·£¿
£¨A£© Filter½Ó¿Ú¶¨ÒåÁËinit()¡¢service()Óëdestroy()·½·¨ £¨B£© »á´«ÈëServletRequestÓëServletResponseÖÁFilter £¨C£© ÒªÖ´ÐÐÏÂÒ»¸ö¹ýÂËÆ÷£¬±ØÐëÖ´ÐÐFilterChaingµÄnext()·½·¨ £¨D£© Èç¹ûҪȡµÃ³õʼ²ÎÊý£¬ÒªÊ¹ÓÃFilterConfigÎï¼þ ´ð°¸£ºB¡¢D
2. ¹ØÓÚÒÔÏÂweb.xmlµÄÉ趨£º
ÒÔÏÂÃèÊöºÎÕßÕýÈ·£¿
£¨A£© ¸ù¾Ý
URLÇëÇó
£¨B£© ¿ÉÒÔ͸¹ýFilterConfigÀ´¶ÁÈ¡USERÓëPASSWORD³õʼ²ÎÊý £¨C£© ³õʼ²ÎÊýÉ趨λÖôíÎó£¬
±êǩ֮ÖÐ
£¨D£©
Ìáʾ£ºÓÉÓÚ³õʼ²ÎÊýµÄÉ趨´íÎó£¬ÎÞ·¨Í¸¹ýFilterConfigÈ¡µÃ³õʼ²ÎÊý¡£
21
3. ¹ØÓÚÒÔϵÄweb.xmlÉ趨£º
ÒÔÏÂÃèÊöºÎÕßÕýÈ·£¿
£¨A£© µ±ÇëÇóadd.doʱ£¬Ö»»áÌ×ÓÃSecurityFilter
£¨B£© µ±ÇëÇóadd.doʱ£¬¹ýÂËÆ÷µÄÖ´ÐÐ˳ÐòΪSecurityFilter¡¢CharacterFilter
£¨C£© µ±ÇëÇólist.viewʱ£¬¹ýÂËÆ÷µÄÖ´ÐÐ˳ÐòΪSecurityFilter¡¢CharacterFilter
£¨D£© µ±ÇëÇólist.viewʱ£¬Ö»»áÌ×ÓÃSecurityFilter ´ð°¸£ºB¡¢D
4. ¹ØÓÚFilterChainµÄÃèÊö£¬ºÎÕßÕýÈ·£¿
£¨A£© Èç¹û²»ºô½ÐFilterChainµÄdoFilter()·½·¨£¬ÔòÇëÇóÂÔ¹ý½Ó
ÏÂÀ´µÄ¹ýÂËÆ÷¶øÖ±½Ó½»¸øServlet £¨B£© Èç¹ûÓÐÏÂÒ»¸ö¹ýÂËÆ÷£¬ºô½ÐFilterChainµÄdoFilter()·½·¨£¬
»á½«ÇëÇ󽻸øÏÂÒ»¸ö¹ýÂËÆ÷
£¨C£© Èç¹ûûÓÐÏÂÒ»¸ö¹ýÂËÆ÷£¬ºô½ÐFilterChainµÄdoFilter()·½
·¨£¬»á½«ÇëÇ󽻸øServlet
£¨D£© Èç¹ûûÓÐÏÂÒ»¸ö¹ýÂËÆ÷£¬ºô½ÐFilterChainµÄdoFilter()·½·¨Ã»ÓÐ×÷ÓÃ
´ð°¸£ºB¡¢C
5. ¹ØÓÚFilterConfigµÄÃèÊö£¬ºÎÕß´íÎó£¿
£¨A£© »áÔÚFilter½çÃæµÄinit()·½·¨ºô½Ðʱ´«Èë £¨B£© Ϊweb.xmlÖÐ
£¨C£© ¿É¶ÁÈ¡
22
´ð°¸£ºC
6. ÒÔϵijÌÐò´úÂ뽫ʵ×÷ÇëÇó°ü¹üÆ÷£º
public class MyRequestWrapper ________________ {
public MyRequstWrapper(HttpServletRequest request) { super(requset); } ¡. }
ÇëÎʿհ״¦Ó¦¸ÃÌîÉÏÄĸö³ÌÐò´úÂëÆ¬¶Î£¿
£¨A£© implements ServletRequest
£¨B£© extends ServletRequestWrapper £¨C£© implements HttpServletRequest
£¨D£© extends HttpServletRequestWrapper ´ð°¸£ºD
Ìáʾ£ºÒòΪ½¨¹¹Ê½ÖÐÖ±½ÓʹÓô«ÈëµÄHttpServletRequest¶ÔÏó¼°super()À´ºô½Ð¸¸Àà±ð½¨¹¹Ê½£¬ËùÒÔÒ»¶¨ÊǼ̳ÐHttpServletRequestWrapper¡£
7. ¹ØÓÚÇëÇó°ü¹üÆ÷£¬ÒÔÏÂÃèÊöºÎÕßÕýÈ·£¿
£¨A£© ¿ÉÒÔʵ×÷ServletRequest½çÃæ
£¨B£© ¿ÉÒԼ̳ÐServletRequestWrapperÀà±ð £¨C£© Ò»¶¨Òª¼Ì³ÐServletRequestWrapperÀà±ð £¨D£© HttpServletRequestWrapperÊÇ
ServletRequestWrapperµÄ×ÓÀà±ð
´ð°¸£ºA¡¢B¡¢D
Ìáʾ£ºÒª×Ô¼ºÊµ×÷ServletRequest½Ó¿ÚÀ´Êµ×÷ÇëÇó°ü¹üÆ÷Ò²ÊÇ¿ÉÒԵģ¬Ö»ÊÇËùÓеķ½·¨¶¼Òª×ÔÐÐʵ×÷¡£
8. ¹ØÓÚHttpServletRequestWrapper
HttpServletResponseWrapperµÄÃèÊö£¬ºÎÕßÓÐÎó£¿ £¨A£© ·Ö±ðʵ×÷ÁËHttpServletRequest½çÃæ
HttpServletResponse½çÃæ £¨B£© ·Ö±ð¼Ì³ÐÁËServletRequestWrapper
ServletResponseWrapperÀà±ð
£¨C£© ʵ×÷ʱ£¬ÖÁÉÙÒªÖØÐ¶¨ÒåÒ»¸ö¸¸Àà±ðÖеķ½·¨ £¨D£© ʵ×÷ʱ±ØÐëÔÚ½¨¹¹Ê½Öкô½Ð¸¸Àà±ð½¨¹¹Ê½ ´ð°¸£ºC
23
ÓëÓëÓë
9. ÔÚ¿ª·¢¹ýÂËÆ÷ʱ£¬ÒÔϺÎÕßÊÇÕýÈ·µÄ¹ÛÄ £¨A£© £¨B£© £¨C£© £¨D£© ´ð°¸£ºB¡¢D
±ØÐ뿼ÂÇǰºó¹ýÂËÆ÷Ö®¼äµÄ¹ØÏµ
¹ÒÉϹýÂËÆ÷ºó²»¸Ä±äÓ¦ÓóÌÐòÔÓеŦÄÜ
Éè¼ÆServletʱ±ØÐ뿼Âǵ½Î´À´¼Ó×°¹ýÂËÆ÷µÄÐèÇó ÿ¸ö¹ýÂËÆ÷ÒªÉè¼ÆÎª¶ÀÁ¢»¥²»Ó°ÏìµÄ×é¼þ
10. ¹ØÓÚFilter½çÃæÉϵÄdoFilter()·½·¨Ö®ËµÃ÷£¬ºÎÕßÓÐÎó£¿
£¨A£© »á´«ÈëÁ½¸ö²ÎÊýHttpServletRequest
HttpServletResponse £¨B£© »á´«ÈëÈý¸ö²Î
Êý
HttpServletRequest
¡¢¡¢
HttpServletResponse¡¢FilterChain
£¨C£© ǰһ¸ö¹ýÂËÆ÷ºô½ÐFilterChainµÄdoFilter()ºó£¬»áÖ´ÐÐÄ¿
ǰ¹ýÂËÆ÷µÄdoFilter()·½·¨
£¨D£© ǰһ¸ö¹ýÂËÆ÷µÄdoFilter()Ö´Ðйýºó£¬»áÖ´ÐÐĿǰ¹ýÂËÆ÷µÄ
doFilter()·½·¨
´ð°¸£ºA¡¢B¡¢D
Ìáʾ£ºFilterµÄdoFilter()·½·¨ÉÏÈý¸ö²ÎÊýÊÇServletRequest¡¢ServletResponse¡¢FilterChain¡£Ç°Ò»¸ö¹ýÂËÆ÷µÄdoFilter()Ö´ÐÐʱ£¬µ±ÖбØÐëºô½ÐFilterChainµÄdoFilter()·½·¨£¬²Å»áÖ´ÐÐĿǰ¹ýÂËÆ÷µÄdoFilter()·½·¨¡£
? ʵ×÷Ìâ
1. Ä£·Â±¾µ¥Ôª×ÛºÏÁ·Ï°£¬Öع¹µÚ4ÕÂÔª¿ÎºóÁ·Ï°ÖеÄÁôÑÔ°æ³ÌÐò£¬½«´Óµµ°¸¶Á
дÁôÑÔ°æÑ¶Ï¢µÄÖ°Ôð·â×°ÖÁÒ»¸öMessageServlceÀà±ðÖС£¡£
2. ÄãµÄÁôÑÔ°æ³ÌÐò²»ÔÊÐíʹÓÃÕßÊäÈëHTML±êÇ©£¬µ«¿ÉÒÔÔÊÐíʹÓÃÕßÊäÈëÒ»
Щ´úÂë×÷Щ¼òµ¥µÄÑùʽ¡£ÀýÈ磺 ? [b]´ÖÌå[/b] ? [i]бÌå[/i] ? [big]·Å´ó×ÖÌå[/big]
? [small]ËõС×ÖÌå[/small]
HTMLµÄ¹ýÂ˹¦ÄÜ£¬Äã¿ÉÒÔÖ±½ÓʹÓñ¾ÕÂËù¿ª·¢µÄ×Ö·û¹ýÂËÆ÷£¬²¢ÇÒÇëÁíÐпª·¢Ò»¸ö¹ýÂËÆ÷À´Íê³É´úÂëÌæ»»µÄ¹¦ÄÜ¡£
24