ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

Struts2 ÃæÊÔÌâ·ÖÎö
2014-09-29 02:30:04 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:57´Î
Tags£ºStruts2 ÊÔÌâ·ÖÎö


1. ¼òÊö Struts2 µÄ¹¤×÷Á÷³Ì:



¢Ù. ÇëÇó·¢Ë͸ø StrutsPrepareAndExecuteFilter


¢Ú. StrutsPrepareAndExecuteFilter Åж¨¸ÃÇëÇóÊÇ·ñÊÇÒ»¸ö Struts2 ÇëÇó


¢Û. Èô¸ÃÇëÇóÊÇÒ»¸ö Struts2 ÇëÇó£¬Ôò StrutsPrepareAndExecuteFilter °ÑÇëÇóµÄ´¦Àí½»¸ø ActionProxy


¢Ü. ActionProxy ´´½¨Ò»¸ö ActionInvocation µÄʵÀý£¬²¢½øÐгõʼ»¯


¢Ý. ActionInvocation ʵÀýÔÚµ÷Óà Action µÄ¹ý³Ìǰºó£¬Éæ¼°µ½Ïà¹ØÀ¹½ØÆ÷£¨Intercepter£©µÄµ÷Óá£


¢Þ. Action Ö´ÐÐÍê±Ï£¬ActionInvocation ¸ºÔð¸ù¾Ý struts.xml ÖеÄÅäÖÃÕÒµ½¶ÔÓ¦µÄ·µ»Ø½á¹û¡£µ÷Óýá¹ûµÄ execute ·½·¨£¬äÖȾ½á¹û¡£


¢ß. Ö´Ðи÷¸öÀ¹½ØÆ÷ invocation.invoke() Ö®ºóµÄ´úÂë


¢à. °Ñ½á¹û·¢Ë͵½¿Í»§¶Ë



2. Struts2 À¹½ØÆ÷ ºÍ ¹ýÂËÆ÷ µÄÇø±ð£º



¢Ù¡¢¹ýÂËÆ÷ÒÀÀµÓÚServletÈÝÆ÷£¬¶øÀ¹½ØÆ÷²»ÒÀÀµÓÚServletÈÝÆ÷¡£


¢Ú¡¢Struts2 À¹½ØÆ÷Ö»ÄÜ¶Ô Action ÇëÇóÆð×÷Ó㬶ø¹ýÂËÆ÷Ôò¿ÉÒÔ¶Ô¼¸ºõËùÓÐÇëÇóÆð×÷Óá£


¢Û¡¢À¹½ØÆ÷¿ÉÒÔ·ÃÎÊ Action ÉÏÏÂÎÄ(ActionContext)¡¢ÖµÕ»ÀïµÄ¶ÔÏó(ValueStack)£¬¶ø¹ýÂËÆ÷²»ÄÜ.


¢Ü¡¢ÔÚ Action µÄÉúÃüÖÜÆÚÖУ¬À¹½ØÆ÷¿ÉÒÔ¶à´Îµ÷Ó㬶ø¹ýÂËÆ÷Ö»ÄÜÔÚÈÝÆ÷³õʼ»¯Ê±±»µ÷ÓÃÒ»´Î¡£



3. ΪʲôҪʹÓà Struts2 & Struts2 µÄÓŵ㣺



¢Ù. »ùÓÚ MVC ¼Ü¹¹£¬¿ò¼Ü½á¹¹ÇåÎú¡£


¢Ú. ʹÓà OGNL: OGNL ¿ÉÒÔ¿ì½ÝµÄ·ÃÎÊÖµÕ»ÖеÄÊý¾Ý¡¢µ÷ÓÃÖµÕ»ÖжÔÏóµÄ·½·¨


¢Û. À¹½ØÆ÷: Struts2 µÄÀ¹½ØÆ÷ÊÇÒ»¸ö Action ¼¶±ðµÄ AOP, Struts2 ÖеÄÐí¶àÌØÐÔ¶¼ÊÇͨ¹ýÀ¹½ØÆ÷À´ÊµÏÖµÄ, ÀýÈçÒì³£´¦Àí£¬ÎļþÉÏ´«£¬ÑéÖ¤µÈ¡£À¹½ØÆ÷ÊÇ¿ÉÅäÖÃÓëÖØÓõÄ


¢Ü. ¶àÖÖ±íÏֲ㼼Êõ. È磺JSP¡¢FreeMarker¡¢Velocity µÈ



4. Struts2 ÈçºÎ·ÃÎÊ HttpServletRequest¡¢HttpSession¡¢ServletContext Èý¸öÓò¶ÔÏó



¢Ù. Óë Servlet API ½âñîµÄ·ÃÎÊ·½Ê½



> ͨ¹ý ActionContext ·ÃÎÊÓò¶ÔÏó¶ÔÓ¦µÄ Map ¶ÔÏó


> ͨ¹ýʵÏÖ Aware ½Ó¿Úʹ Struts2 ×¢Èë¶ÔÓ¦µÄ Map ¶ÔÏó



¢Ú. Óë Servlet API ñîºÏµÄ·ÃÎÊ·½Ê½


> ͨ¹ý ServletActionContext Ö±½Ó»ñÈ¡ Servlet API ¶ÔÏó


> ͨ¹ýʵÏÖ ServletXxxAware ½Ó¿ÚµÄ·½Ê½Ê¹ Struts2 ×¢Èë¶ÔÓ¦µÄ¶ÔÏó



5. Struts2 ÖеÄĬÈϰü struts-default ÓÐʲô×÷Óã¿



¢Ù. struts-default °üÊÇ struts2 ÄÚÖõģ¬Ëü¶¨ÒåÁË struts2 ÄÚ²¿µÄÖÚ¶àÀ¹½ØÆ÷ºÍ Result ÀàÐÍ£¬¶ø Struts2 ºÜ¶àºËÐĵŦÄܶ¼ÊÇͨ¹ýÕâЩÄÚÖõÄÀ¹½ØÆ÷ʵÏÖ£¬È磺´ÓÇëÇóÖаÑÇëÇó²ÎÊý·â×°µ½action¡¢ÎļþÉÏ´«ºÍÊý¾ÝÑéÖ¤µÈµÈ¶¼ÊÇͨ¹ýÀ¹½ØÆ÷ʵÏֵġ£µ±°ü¼Ì³ÐÁËstruts-default°ü²ÅÄÜʹÓÃstruts2ΪÎÒÃÇÌṩµÄÕâЩ¹¦ÄÜ¡£


¢Ú.struts-default °üÊÇÔÚ struts-default.xml Öж¨Ò壬struts-default.xml Ò²ÊÇ Struts2 ĬÈÏÅäÖÃÎļþ¡£Struts2 ÿ´Î¶¼»á×Ô¶¯¼ÓÔØ struts-default.xmlÎļþ¡£


¢Û. ͨ³£Ã¿¸ö°ü¶¼Ó¦¸Ã¼Ì³Ð struts-default °ü¡£



6. ˵³ö struts2 ÖÐÖÁÉÙ 5 ¸öµÄĬÈÏÀ¹½ØÆ÷



exception£»fileUpload£»i18n£»modelDriven£»params£»prepare£»token£»tokenSession£»validation µÈ



7. ̸̸ ValueStack£º



¢Ù. ValueStack ¹á´©Õû¸ö Action µÄÉúÃüÖÜÆÚ£¬±£´æÔÚ request ÓòÖУ¬ËùÒÔ ValueStack ºÍ request µÄÉúÃüÖÜÆÚÒ»Ñù. µ± Struts2 ½ÓÊÜÒ»¸öÇëÇóʱ£¬»áѸËÙ´´½¨ ActionContext£¬ValueStack£¬Action. È»ºó°Ñ Action ´æ·Å½ø ValueStack£¬ËùÒÔ Action µÄʵÀý±äÁ¿¿ÉÒÔ±» OGNL ·ÃÎÊ¡£ÇëÇóÀ´µÄʱºò£¬Action¡¢ValueStack µÄÉúÃü¿ªÊ¼£»ÇëÇó½áÊø£¬Action¡¢ValueStackµÄÉúÃü½áÊø


¢Ú. ÖµÕ»ÊǶàʵÀýµÄ£¬ÒòΪAction ÊǶàÀýµÄ(ºÍ Servlet ²»Ò»Ñù£¬Servelt Êǵ¥ÀýµÄ)£¬¶øÃ¿¸ö Action ¶¼ÓÐÒ»¸ö¶ÔÓ¦µÄÖµÕ»£¬Action ¶ÔÏóĬÈϱ£´æÔÚÕ»¶¥£»


¢Û. ValueStack ±¾ÖÊÉϾÍÊÇÒ»¸ö ArrayList(²é¿´Ô´´úÂëµÃµ½)£»


¢Ü. ʹÓà OGNL ·ÃÎÊÖµÕ»µÄÄÚÈÝʱ£¬²»ÐèÒª#ºÅ£¬¶ø·ÃÎÊ request¡¢session¡¢application¡¢attr ʱ£¬ÐèÒª¼Ó#ºÅ£»


¢Ý. Struts2 ÖØÐ´ÁË request µÄ getAttribute ·½·¨£¬ËùÒÔ¿ÉÒÔʹÓà EL Ö±½Ó·ÃÎÊÖµÕ»ÖеÄÄÚÈÝ



8. ActionContext¡¢ServletContext¡¢pageContextµÄÇø±ð £¿



¢Ù. ActionContext Struts2 µÄ API£ºÊǵ±Ç°µÄ Action µÄÉÏÏÂÎÄ»·¾³


¢Ú. ServletContext ºÍ PageContext ÊÇ Servlet µÄ API



9. Struts2 ÓÐÄļ¸ÖÖ½á¹ûÀàÐÍ



²Î¿´ struts-default.xml ÖеÄÏà¹ØÅäÖãºdispatcher¡¢chain¡¢redirect µÈ.



10. À¹½ØÆ÷µÄÉúÃüÖÜÆÚÓ빤×÷¹ý³Ì



ÿ¸öÀ¹½ØÆ÷¶¼ÊÇÐèҪʵÏÖ Interceptor ½Ó¿Ú


> init()£ºÔÚÀ¹½ØÆ÷±»´´½¨ºóÁ¢¼´±»µ÷ÓÃ, ËüÔÚÀ¹½ØÆ÷µÄÉúÃüÖÜÆÚÄÚÖ»±»µ÷ÓÃÒ»´Î. ¿ÉÒÔÔڸ÷½·¨ÖжÔÏà¹Ø×ÊÔ´½øÐбØÒªµÄ³õʼ»¯£»


> intercept(ActionInvocation invocation)£ºÃ¿À¹½ØÒ»¸ö¶¯×÷ÇëÇ󣬸÷½·¨¾Í»á±»µ÷ÓÃÒ»´Î£»


> destroy£º¸Ã·½·¨½«ÔÚÀ¹½ØÆ÷±»Ïú»Ù֮ǰ±»µ÷ÓÃ, ËüÔÚÀ¹½ØÆ÷µÄÉúÃüÖÜÆÚÄÚÒ²Ö»±»µ÷ÓÃÒ»´Î£»



11. ÈçºÎÔÚ Struts2 ÖÐʹÓà Ajax ¹¦ÄÜ



¢Ù. JSON plugin


¢Ú. DOJO plugin


¢Û. DWR plugin


¢Ü. ʹÓà Stream ½á¹ûÀàÐÍ.


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºSQL Server DBAÃæÊÔÌâ ¨C Ö÷ÒªÊǰ.. ÏÂһƪ£ºÊý¾Ý¿âcommit²Ù×÷ÊÇ·ñÓ¦¸ÃÔÚÒ»¸ö..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ: