struts2ÀíÂÛ¿¼ÊÔÌâÄ¿ ÏÂÔØ±¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2025/7/3 7:44:01ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

1.MVCµÄ¸÷¸ö²¿·Ö¶¼ÓÐÄÇЩ¼¼ÊõÀ´ÊµÏÖ?ÈçºÎʵÏÖ?

´ð:MVCÊÇModel£­View£­ControllerµÄ¼òд¡£Model ´ú±íµÄÊÇÓ¦ÓõÄÒµÎñÂß¼­£¨Í¨¹ýJavaBean£¬EJB×é¼þʵÏÖ£©£¬ View ÊÇÓ¦ÓõıíÊ¾Ãæ£¨ÓÉJSPÒ³Ãæ²úÉú£©£¬Controller ÊÇÌṩӦÓõĴ¦Àí¹ý³Ì¿ØÖÆ£¨Ò»°ãÊÇÒ»¸öServlet£©£¬Í¨¹ýÕâÖÖÉè¼ÆÄ£ÐͰÑÓ¦ÓÃÂß¼­£¬´¦Àí¹ý³ÌºÍÏÔʾÂß¼­·Ö³É²»Í¬µÄ×é¼þʵÏÖ¡£ÕâЩ×é¼þ¿ÉÒÔ½øÐн»»¥ºÍÖØÓá£

2.˵˵struts1Óëstruts2µÄÇø±ð ? ? ? ? ? ? ?

¶¼ÊÇMVCµÄWEB¿ò¼Ü£»

struts1µÄǰ¶Ë¿ØÖÆÆ÷ÊÇÒ»¸öServlet£¬Ãû³ÆÎªActionServlet£¬

struts1µÄactionÐèÒª¼Ì³ÐActionÀ࣬struts2µÄaction¿ÉÒÔ²»¼Ì³ÐÈκÎÀࣻ Struts1ÒÀÀµÓëservletµÄAPI

struts1¶Ôͬһ¸ö·¾¶µÄËùÓÐÇëÇó¹²ÏíÒ»¸öActionʵÀý£¬struts2¶Ôͬһ¸ö·¾¶µÄÿ¸öÇëÇó·Ö±ðʹÓÃÒ»¸ö¶ÀÁ¢ActionʵÀý¶ÔÏó£¬ËùÓжÔÓÚstruts2µÄAction²»Óÿ¼ÂÇḬ̈߳²È«ÎÊÌ⣻

ÔÚstruts1ÖÐʹÓÃformbean·â×°ÇëÇó²ÎÊý£¬ÔÚstruts2ÖÐÖ±½ÓʹÓÃactionµÄÊôÐÔÀ´·â×°ÇëÇó²ÎÊý£» struts1ÖеĶà¸öÒµÎñ·½·¨·ÅÔÚÒ»¸öActionÖÐʱ£¨¼´¼Ì³ÐDispatchActionʱ£©£¬ÒªÃ´¶¼Ð£Ñ飬Ҫô¶¼²»Ð£Ñ飻¶ÔÓÚstruts2£¬¿ÉÒÔÖ¸¶¨Ö»¶Ôij¸ö·½·¨½øÐÐУÑ飬µ±Ò»¸öAction¼Ì³ÐÁËActionSupportÇÒÔÚÕâ¸öÀàÖÐÖ»±àдÁËvalidateXxx()·½·¨£¬ÄÇôÔòÖ»¶Ôxxx()·½·¨½øÐÐУÑ飻

3.ת·¢ºÍÖØ¶¨ÏòµÄÇø±ð? ? ?

4.Struts2Ö´ÐÐÁ÷³Ì ? ? ? ? ?

¿Í»§¶Ë·¢³öÒ»¸öÖ¸ÏòservletÈÝÆ÷µÄÇëÇó(tomcat)

Õâ¸öÇëÇó¾­¹ýһϵÁеĹýÂËÆ÷£¨Filter£©£¬×îºó´ïµ½StrutsPrepareAndExecuteFilter

¹ýÂËÆ÷ÊÇstruts2¿ò¼ÜµÄÐÄÔ࣬ѯÎÊActionMapperÀàÀ´²éÕÒÇëÇóÖÐÐèÒªÓõ½µÄAction£¬

Èç¹ûÕÒµ½ÐèÒªµ÷ÓõÄAction£¬¹ýÂËÆ÷»á°ÑÇëÇóµÄ´¦Àí½»¸øActionProxy¡£ActionProxyΪActionµÄ´úÀí¶ÔÏó¡£ ActionProxy

´´½¨Ò»¸ö

ActionInvocation

µÄʵÀý£¬²¢µ÷ÓÃ

ActionInvocation

µÄ

invoke(),ActionInvocationʵÀý°üº¬ÁËһϵÁеÄÀ¹½ØÆ÷£¬ÔÚµ÷ÓÃActionµÄ¹ý³Ìǰ£¬Éæ¼°µ½Ïà¹ØÀ¹½ØÆ÷£¨Intercepter£©µÄµ÷Óᣠ?

5.À¹½ØÆ÷µÄÉúÃüÖÜÆÚ ? ? ? ? ?

ÿ¸öÀ¹½ØÆ÷¶¼ÊµÏÖÁËInterceptor½Ó¿ÚµÄjavaÀà

init(): ÔÚÀ¹½ØÆ÷¶ÔÏó±»´´½¨ºóÁ¢¼´µ÷Óã¬Ö»»áµ÷ÓÃÒ»´Î£¬Ò»°ãÓÃÀ´½øÐÐÏà¹Ø×ÊÔ´µÄ³õʼ»¯ intercept(ActionInvocation invocation)£ºÃ¿¸öÀ¹½ØÒ»¸ö¶¯×÷ÇëÇ󣬸÷½·¨¾Í»á±»µ÷ÓùýÒ»´Î destory(): ¸Ã·½·¨½«ÔÚÀ¹½ØÆ÷±»Ïú»ÙǰÌõÓã¬Ö»»áµ÷ÓÃÒ»´Î£¬Ò»°ãÓÃÀ´ÊÍ·Å×ÊÔ´ Struts2ĬÈϵ÷ÓÃ18¸öÀ¹½ØÆ÷

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

struts2

µÄ¹ýÂËÆ÷

ת·¢£º·þÎñ¶ËÌø×ª£¬ÔÚ¿Í»§¶Ëä¯ÀÀÆ÷µØÖ·À¸Öв»»áÏÔʾ³öתÏòºóµÄµØÖ·£¬Ò»´ÎÇëÇó£»

ÖØ¶¨Ïò£º¿Í»§¶ËÌø×ª£¬ä¯ÀÀÆ÷½«»áµÃµ½Ìø×ªµÄµØÖ·£¬²¢ÖØÐ·¢ËÍÇëÇóÁ´½Ó£¬Á½´ÎÇëÇó¡£ÔÚÓÐЩÇé¿öÏ£¬±ÈÈ磬ÐèÒªÌø×ªµ½Ò»¸öÆäËü·þÎñÆ÷ÉϵÄ×ÊÔ´£¬Ôò±ØÐëʹÓÃÖØ¶¨Ïò¡£

struts2µÄǰ¶Ë¿ØÖÆÆ÷ÊÇÒ»¸öfilter£¬ÔÚstruts2.1ÖнÐStrutsPrepareAndExecuteFilter£»

Struts2²»ÒÀÀµÓëServletµÄAPI

6.Struts2ÓÐÄÄЩÓŵã ? ? ? ? ? ? ?

7.Struts2³£Á¿µÄÐ޸ķ½Ê½£¿

³£Á¿¿ÉÒÔÔÚstruts.xml»òstruts.propertiesÖÐÅäÖà ? ?

8.Struts2ÈçºÎ·ÃÎÊHttpServletRequest£¬HttpSession,ServletContext,HttpServletResponse? ·½Ê½Ò»£ºÖ÷¶¯»ñÈ¡

HttpServletRequest request =ServletActionContext.getRequest();

HttpSession session =request.getSession();

ServletContext application =session.getServletContext(); ÔÚstruts.xmlÖÐÅäÖó£Á¿ ÔÚstruts.propertiesÖÐÅäÖó£Á¿

Strtus.action.extension=do

ÔÚÈí¼þÉè¼ÆÉÏstruts2µÄÓ¦Óò»ÒÀÀµÓÚServlet APIºÍStruts API£¬ÊôÓÚÎÞÇÖÈëʽÉè¼Æ; Ç¿´óµÄÀ¹½ØÆ÷£¬ÊµÏÖÁËÈç²ÎÊýÀ¹½ØÊäÈ룬ÎļþÉÏ´«£¬Ð£ÑéµÈ¹¦ÄÜ ÀàÐÍת»»Æ÷£¬ÊµÏÖÁË×Ö·û´®ÓëÌØÊâÊý¾ÝÀàÀàµÄת»» Struts2¿ÉÒÔ¶ÔÖ¸¶¨Ä³¸ö·½·¨½øÐÐУÑé

ÌṩÁËÈ«¾Ö·¶Î§¡£°ü·¶Î§ºÍaction·¶Î§µÄ¹ú¼Ê»¯×ÊÔ´Îļþ¹ÜÀí ΪӦÓóÌÐòÌí¼ÓÁËÈ«¾ÖµÄresult£¬ºÍÉùÃ÷ʽÒì³£´¦Àí ¿ÉÒÔʵÏÖÄ£¿é»¯¹ÜÀí£¬½«Ó¦ÓóÌÐòÄ£¿é»¯

HttpServletResponse response=ServletActionContext.getResponse();

·½Ê½¶þ£ºÒÀÀµ¿ò¼Ü×¢Èë

¶¨ÒåÀàʵÏÖimplements ServletRequestAware,ServletResponseAware£¬×¢ÈëÇëÇó¶ÔÏóºÍÏìÓ¦¶ÔÏó£¬session¶ÔÏóºÍapplication¶ÔӦͨ¹ýrequest¼ä½Ó»ñµÃ¡£

9.Struts2ÈçºÎ¹ÜÀíaciton£¬ÕâÖÖ¹ÜÀí·½Ê½ÓÐʲôºÃ´¦£¿

Struts2¿ò¼ÜʹÓðü¹ÜÀíAction£¬°üµÄ×÷ÓúÍjavaÖеÄÀà°üÏàËÆ£¬Ö÷Òª¹ÜÀíÒ»×éÒµÎñ¹¦ÄÜÏà¹ØµÄaction¡£ÔÚʵ¼ÊÓ¦ÓÃÖУ¬ÎÒÃÇÓ¦¸Ã°ÑÒ»×éÒµÎñ¹¦ÄÜÏà¹ØµÄAction·ÅÔÚͬһ¸ö°üÏ¡£

10.Strus2ÖÐУÑéµÄÖ´ÐÐÁ÷³Ì ? ? ? ?

11.½éÉÜActionContext£¬ServletContext£¬pageContext?

ActionContextÊǵ±Ç°ActionµÄÉÏÏÂÎÄ£¬Í¨¹ýActionContext¿ÉÒÔ»ñÈ¡request£¬session.applicationdµÈÓÚActionÓйصĶÔÏóÒýÓá£

ServletContextÊÇÓò¶ÔÏó£¬ÉúÃüÖÜÆÚ°éËæÕû¸öwebÓ¦Óá£

ÀàÐÍת»»²»¹ÜÊÇ·ñ³É¹¦ºó£¬¶¼»á½øÐÐУÑé

Ïȵ÷ÓÃvalidateXxx()½øÐÐУÑé,Ö»»áУÑéactionÖз½·¨ÃûΪxxx()µÄ·½·¨£¬Èç¹ûУÑéʧ°Ü£¬Ìí¼ÓУÑéʧ°ÜÐÅÏ¢

ÔÙµ÷ÓÃvalidate()·½·¨£¬»áУÑéactionÖÐËùÓÐÓëexecute·½·¨Ç©ÃûÏàͬµÄ·½·¨£¬Èç¹ûУÑéʧ°Ü£¬Ìí¼ÓУÑéʧ°ÜÐÅÏ¢

Èç¹ûУÑéʧ°Ü£¬ÔòÌø×ªµ½name=¡°input¡±µÄresultÖ¸¶¨µÄÒ³Ãæ£¬·ñÔò£¬µ÷ÓÃactionµÄ¾ßÌå·½·¨

pageContextÒ²ÊÇÒ»¸öÓò¶ÔÏ󣬯ä×÷Ó÷¶Î§Ö»Êǵ±Ç°Ò³Ãæ¡£ 12.AjaxµÄÓŵã ? ? ?

Ò³ÃæÎÞˢУ¬Óû§µÄÌåÑé·Ç³£ºÃ¡£ Óë·þÎñÆ÷ͨÐÅ£¬¾ßÓиü¼ÓѸËÙµÄÏìÓ¦ÄÜÁ¦¡£

¿ÉÒÔ°ÑÒÔǰһЩ·þÎñÆ÷¸ºµ£µÄ¹¤×÷ת¼Þµ½¿Í»§¶Ë£¬ÀûÓÿͻ§¶ËÏÐÖõÄÄÜÁ¦À´´¦Àí£¬¼õÇá·þÎñÆ÷ºÍ´ø¿íµÄ¸ºµ££¬½ÚÔ¼¿Õ¼äºÍ¿í´ø×âÓóɱ¾¡£²¢ÇÒ¼õÇá·þÎñÆ÷µÄ¸ºµ££¬ajaxµÄÔ­ÔòÊÇ¡°°´ÐèÈ¡Êý¾Ý¡±£¬¿ÉÒÔ×î´ó³Ì¶ÈµÄ¼õÉÙÈßÓàÇëÇ󣬺ÍÏìÓ¦¶Ô·þÎñÆ÷Ôì³ÉµÄ¸ºµ£¡£ ?

13.AjaxµÄȱµã ? ? ? ? ?

14.XMLHttpRequest¶ÔÏóµÄ³£ÓÃÊôÐԺͷ½·¨ ³£ÓÃÊôÐÔ£º

readyStateÊôÐÔ£ºÇëÇóµÄ״̬£¬ÓÐ5¸ö¿Éȡֵ 0=δ³õʼ»¯ £¬1=ÕýÔÚ¼ÓÔØ 2=ÒÔ¼ÓÔØ£¬3=½»»¥ÖУ¬4=Íê³É

responseText ÊôÐÔ: ·þÎñÆ÷µÄÏìÓ¦£¬±íʾΪһ¸ö×Ö·û´® reponseXML ÊôÐÔ£º·þÎñÆ÷µÄÏìÓ¦£¬±íʾΪXML¸ñʽµÄ¶ÔÏó

status £º·þÎñÆ÷µÄHTTP״̬Â룬200¶ÔÓ¦ok 400¶ÔÓ¦not found¡£

³£Ó÷½·¨£º

open(¡°method¡±,¡±URL¡±) ½¨Á¢¶Ô·þÎñÆ÷µÄµ÷Óã»

µÚÒ»¸ö²ÎÊýÊÇHTTPÇëÇ󣬷½Ê½¿ÉÒÔΪGET£¬POST»òÈκηþÎñÆ÷ËùÖ§³ÖµÄÄúÏëµ÷Óõķ½Ê½¡£ µÚ¶þ¸ö²ÎÊýÊÇÇëÇóÒ³ÃæµÄURL¡£ send()·½·¨£¬·¢Ë;ßÌåÇëÇó

15.̸̸XMLHttpRequest¶ÔÏó

AjaxµÄºËÐÄÊÇJavaScript¶ÔÏóXMLHttpRequest¡£¸Ã¶ÔÏóÔÚInternet Explorer 5ÖÐÊ×´ÎÒýÈ룬ËüÊÇÒ»ÖÖÖ§³ÖÒì²½ÇëÇóµÄ¼¼Êõ¡£¼ò¶øÑÔÖ®£¬XMLHttpRequestʹÄú¿ÉÒÔʹÓÃJavaScriptÏò·þÎñÆ÷Ìá³öÇëÇó²¢´¦ÀíÏìÓ¦£¬¶ø²»×èÈûÓû§¡£Í¨¹ýXMLHttpRequest¶ÔÏó£¬Web¿ª·¢ÈËÔ±¿ÉÒÔÔÚÒ³Ãæ¼ÓÔØÒÔºó½øÐÐÒ³ÃæµÄ¾Ö²¿¸üС£

ÆÆ»µä¯ÀÀÆ÷ºóÍ˰´Å¥µÄÕý³£ÐÐΪ¡£

°²È«ÎÊÌâ AJAX±©Â¶ÁËÓë·þÎñÆ÷½»»¥µÄϸ½Ú¡£ ¶ÔËÑË÷ÒýÇæµÄÖ§³Ö±È½ÏÈõ¡£ ÆÆ»µÁ˳ÌÐòµÄÒì³£»úÖÆ¡£ ²»ÈÝÒ×µ÷ÊÔ¡£

²»ÐèÒªÏÂÔØ²å¼þ»òÕßС³ÌÐò