Servlet&JSP¿ÎºóϰÌâ½â´ð ÏÂÔØ±¾ÎÄ

µÚ6Õ¿κóÁ·Ï°

? Ñ¡ÔñÌâ

1. ¹ØÓÚ¹ýÂËÆ÷µÄÃèÊö£¬ÒÔϺÎÕßÕýÈ·£¿

£¨A£© Filter½Ó¿Ú¶¨ÒåÁËinit()¡¢service()Óëdestroy()·½·¨ £¨B£© »á´«ÈëServletRequestÓëServletResponseÖÁFilter £¨C£© ÒªÖ´ÐÐÏÂÒ»¸ö¹ýÂËÆ÷£¬±ØÐëÖ´ÐÐFilterChaingµÄnext()·½·¨ £¨D£© Èç¹ûҪȡµÃ³õʼ²ÎÊý£¬ÒªÊ¹ÓÃFilterConfigÎï¼þ ´ð°¸£ºB¡¢D

2. ¹ØÓÚÒÔÏÂweb.xmlµÄÉ趨£º

SecurityFilter

cc.openhome.SecurityFilter

SecurityFilter *.do

USER

caterpillar

PASSWORD 123456

ÒÔÏÂÃèÊöºÎÕßÕýÈ·£¿

£¨A£© ¸ù¾Ý£¬¹ýÂËÆ÷»áÌ×ÓÃÔÚËùÓÐÒÔ.do½áβµÄ

URLÇëÇó

£¨B£© ¿ÉÒÔ͸¹ýFilterConfigÀ´¶ÁÈ¡USERÓëPASSWORD³õʼ²ÎÊý £¨C£© ³õʼ²ÎÊýÉ趨λÖôíÎ󣬵ȱêǩӦ·ÅÔÚ

±êǩ֮ÖÐ

£¨D£© Ó¦¸ÄΪ²ÅÊÇÕýÈ·É趨 ´ð°¸£ºA¡¢C

Ìáʾ£ºÓÉÓÚ³õʼ²ÎÊýµÄÉ趨´íÎó£¬ÎÞ·¨Í¸¹ýFilterConfigÈ¡µÃ³õʼ²ÎÊý¡£

21

3. ¹ØÓÚÒÔϵÄweb.xmlÉ趨£º

SecurityFilter /add.do

SecurityFilter *.view

CharacterFilter /add.do

ÒÔÏÂÃèÊöºÎÕßÕýÈ·£¿

£¨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£© ¿É¶ÁÈ¡±êÇ©ÖÐËùÉ趨µÄ³õʼ²ÎÊý £¨D£© ¿ÉʹÓÃgetInitParameter()·½·¨¶ÁÈ¡³õʼ²ÎÊý

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