ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 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ÖÐÅäÖó£Á¿
ÔÚÈí¼þÉè¼ÆÉÏ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±©Â¶ÁËÓë·þÎñÆ÷½»»¥µÄϸ½Ú¡£ ¶ÔËÑË÷ÒýÇæµÄÖ§³Ö±È½ÏÈõ¡£ ÆÆ»µÁ˳ÌÐòµÄÒì³£»úÖÆ¡£ ²»ÈÝÒ×µ÷ÊÔ¡£
²»ÐèÒªÏÂÔØ²å¼þ»òÕßС³ÌÐò