1¡¢jspºÍservletµÄ Çø±ð¡¢¹²Í¬µã¡¢¸÷×ÔÓ¦Óõķ¶Î§£¿£¿
JSPÊÇServlet¼¼ ÊõµÄÀ©Õ¹£¬±¾ÖÊÉϾÍÊÇServletµÄ¼òÒ×·½Ê½¡£JSP±àÒëºóÊÇ¡°Ààservlet¡±¡£ServletºÍJSP×î Ö÷ÒªµÄ²»Í¬µãÔÚÓÚ£¬ServletµÄÓ¦ÓÃÂß¼ÊÇÔÚJavaÎÄ ¼þÖУ¬²¢ÇÒÍêÈ«´Ó±íʾ²ãÖеÄHTMLÀï·ÖÀ뿪À´¡£¶øJSPµÄÇé¿öÊÇJavaºÍHTML¿É ÒÔ×éºÏ³ÉÒ»¸öÀ©Õ¹ÃûΪ.jspµÄÎļþ¡£JSP²àÖØÓÚÊÓͼ£¬ServletÖ÷ ÒªÓÃÓÚ¿ØÖÆÂß¼¡£ÔÚstruts¿ò¼ÜÖÐ,JSPλÓÚMVCÉè ¼ÆģʽµÄÊÓͼ²ã,¶øServletλÓÚ¿ØÖƲã.
2¡¢cookieºÍsessionµÄ ×÷Óá¢Çø±ð¡¢Ó¦Ó÷¶Î§£¬sessionµÄ¹¤×÷ÔÀí£¿£¿£¿
Cookie:Ö÷ ÒªÓÃÔÚ±£´æ¿Í»§¶Ë£¬ÆäÖµÔÚ¿Í»§¶ËÓë·þÎñ¶ËÖ®¼ä´«ËÍ£¬²»°²È«£¬´æ´¢µÄÊý¾ÝÁ¿ÓÐÏÞ¡£
Session:±£ ´æÔÚ·þÎñ¶Ë£¬Ã¿Ò»¸ösessionÔÚ·þÎñ¶ËÓÐÒ»¸ösessionID×÷Ò»¸ö±ê ʶ¡£´æ´¢µÄÊý¾ÝÁ¿´ó£¬°²È«ÐԸߡ£Õ¼Ó÷þÎñ¶ËµÄÄÚ´æ×ÊÔ´¡£
3¡¢jstlÊÇ Ê²Ã´£¿ÓŵãÓÐÄÄЩ£¿£¿
JSTL£¨JSP Standard¡¡Tag¡¡Library¡¡ £¬JSP±ê ×¼±êÇ©¿â)ÊÇÒ»¸ö²»¶ÏÍêÉƵĿª·ÅÔ´´úÂëµÄJSP±êÇ©¿â£¬ÓÉËĸö¶¨ÖÆ±ê ¼Ç¿â£¨core¡¢format¡¢xmlºÍsql£© ºÍÒ»¶ÔͨÓñê¼Ç¿âÑéÖ¤Æ÷£¨ScriptFreeTLVºÍPermittedTaglibsTLV£© ×é³É¡£ÓŵãÓУº
1¡¢ÔÚÓ¦ÓóÌÐò·þÎñÆ÷Ö®¼äÌṩ ÁËÒ»ÖµĽӿڣ¬×î´ó³ÌÐòµØÌá¸ßÁËWEBÓ¦ÓÃÔÚ¸÷Ó¦Ó÷þÎñÆ÷Ö®¼äµÄÒÆÖ²¡£
2¡¢¼ò»¯ÁËJSPºÍWEBÓ¦ ÓóÌÐòµÄ¿ª·¢¡£
3¡¢ÒÔÒ»ÖÖͳһµÄ·½Ê½¼õÉÙÁËJSPÖÐ µÄscriptlet´ú ÂëÊýÁ¿£¬¿ÉÒԴﵽûÓÐÈκÎscriptlet´úÂëµÄ³ÌÐò¡£ÔÚÎÒÃǹ«Ë¾µÄÏîÄ¿ÖÐÊDz»ÔÊÐíÓÐÈκεÄscriptlet´ú Âë³öÏÖÔÚJSPÖС£
4¡¢ÔÊÐíJSPÉè ¼Æ¹¤¾ßÓëWEBÓ¦ÓóÌÐò¿ª·¢µÄ½øÒ»²½¼¯³É¡£ÏàÐŲ»¾Ã¾Í»áÓÐÖ§³ÖJSTLµÄIDE¿ª ·¢¹¤¾ß³öÏÖ¡£
4¡¢j2eeµÄ ÓÅÔ½ÐÔÖ÷Òª±íÏÖÔÚÄÄЩ·½Ã棿MVCģʽ
a¡¢J2EE»ù ÓÚJAVA¼¼Êõ£¬Óëƽ̨ÎÞ¹Ø
b¡¢J2EEÓµ Óпª·Å±ê×¼£¬Ðí¶à´óÐ͹«Ë¾ÊµÏÖÁ˶Ըù淶֧³ÖµÄÓ¦Ó÷þÎñÆ÷¡£ÈçBEA ,IBM,ORACLEµÈ¡£
c¡¢J2EEÌá ¹©Ï൱רҵµÄͨÓÃÈí¼þ·þÎñ¡£
d¡¢J2EEÌá ¹©ÁËÒ»¸öÓÅÐãµÄÆóÒµ¼¶Ó¦ÓóÌÐò¿ò¼Ü£¬¶Ô¿ìËÙ¸ßÖÊÁ¿µÄ¿ª·¢ÏµÍ³´òÏÂÁË»ù´¡¡£
ModelÄ£ ÐÍ£ºÓ¦ÓóÌÐòµÄÖ÷Ì岿·Ö£¬ÓÃÓÚ±íʾҵÎñÂß¼¡£
ViewÊÓ Í¼£ºÓ¦ÓóÌÐòÖÐÓû§½çÃæÏà¹ØµÄ²¿·Ö£¬ÊÇÓû§¿´µ½²¢ÓëÖ®½»»¥µÄ½çÃæ¡£
Controller¿Ø ÖÆÆ÷£ºÓÃÓÚ¸ù¾ÝÓû§µÄÊäÈ룬¿ØÖÆÓû§½çÃæÊý¾ÝÏÔʾ£¬¸üÐÂModel¶ÔÏó״̬¡£
MVCÄ£ ʽµÄ³öÏÖ²»½öʵÏÖÁ˹¦ÄÜÄ£¿éºÍÏÔʾģ¿éµÄ·ÖÀ룬ͬʱ»¹Ìá¹»ÁËÓ¦ÓÃϵͳµÄ¿Éά»¤¡¢¿ÉÀ©Õ¹ÐÔ¡¢¿ÉÒÆÖ²ÐÔ¡¢ºÍ×齨µÄ¿É¸´ÓÃÐÔ¡£
5¡¢StrutsµÄ Óŵã
a¡¢ ʵÏÖMVCÄ£ ʽ£¬½á¹¹ÇåÎú£¬Ê¹¿ª·¢ÕßÖ»Ðè¹Ø×¢ÒµÎñÂß¼µÄʵÏÖ¡£
b¡¢ ÓзḻµÄtag¿ÉÒÔÓã¬ÄÜ´ó´óÌá¹»¿ª·¢Ð§ÂÊ£¬Ëõ¶Ì¿ª·¢Ê±¼ä¡£
c¡¢ Ò³Ãæµ¼º½¡£Í¨¹ýÒ»¸öÅäÖÃÎļþ£¬¼´¿É°ÑÎÕÕû¸öϵͳ¸÷²¿·ÖÖ®¼äµÄÁªÏµ£¬Õâ¶ÔÓÚºóÆÚµÄά»¤ÓкܴóµÄºÃ´¦
d¡¢ ÌṩException´¦ Àí»úÖÆ
e¡¢ Ö§³ÖL18N
6¡¢ ΪʲôҪÓÃstruts£¿
JSP¡¢Servlet¡¢JavaBean¼¼ ÊõµÄ³öÏÖ¸øÎÒÃǹ¹½¨Ç¿´óµÄÆóÒµÓ¦ÓÃϵͳÌṩÁË¿ÉÄÜ¡£µ«ÓÃÕâЩ¼¼Êõ¹¹½¨µÄϵͳ·Ç³£µÄ·±ÂÒ£¬ËùÒÔÔÚ´ËÖ®ÉÏ£¬ÎÒÃÇÐèÒªÒ»¸ö¹æÔò¡¢Ò»¸ö°ÑÕâЩ¼¼Êõ×éÖ¯ÆðÀ´µÄ¹æÔò£¬ Õâ¾ÍÊÇ¿ò¼Ü£¬Struts±ãÓ¦Ô˶øÉú¡£
»ùÓÚStruts¿ª ·¢µÄÓ¦ÓÃÓÉ3Àà×é¼þ¹¹³É£º¿ØÖÆÆ÷×é¼þ¡¢Ä£ÐÍ×é¼þ¡¢ÊÓͼ×é¼þ
7¡¢Sturt1µÄ ºËÐÄÀà¡¢ºËÐıêÇ©¿â£¿
ActionServlet¿Ø ÖÆÆ÷¡¢ActionMapping×´ ̬¸Ä±äʼþ¡¢Action¿Ø ÖÆÆ÷µÄÒ»²¿·Ö¡¢ActionForwardÓû§Ö¸Ïò¡¢ActionForm״̬¸Ä ±äµÄÊý¾Ý
Html±ê Ç©¡¢bean±ê Ç©¡¢logic±ê Ç©¡¢tiles±ê Ç©¡¢nested±ê Ç©
8¡¢struts1Óësturts2µÄ Çø±ð£¨struts2ÊÇstruts1ºÍwebworkµÄ ½áºÏÌ壩
1¡¢struts1Òª ÇóActionÀà ¼Ì³ÐÒ»¸ö³éÏó»ùÀ࣬¶ø²»Êǽӿڡ£
struts2µÄactionÀà ¿ÉÒÔʵÏÖÒ»¸öaction½Ó¿Ú£¬Ò²¿ÉÒÔʵÏÖÆäËû½Ó¿Ú¡£
2¡¢sturts1 actionÊÇ µ¥Àýģʽ£¬Ïß³ÌÊÇ°²È«µÄ¡£
struts2 actionÏß³ÌÊDz»°²È«µÄ£¬actionΪÿһ¸öÇëÇó¶¼Éú ³ÉÁËÒ»¸öʵÀý¡£
3¡¢sturts1¹ý È¥ÒÀÀµserlet API£¬²»ÈÝÒײâÊÔ¡£
struts2²» ÒÀÀµÓÚÈÝÆ÷£¬ÔÊÐíActionÍÑÀëÈÝÆ÷µ¥¶À±»²âÊÔ¡£
4¡¢Struts1ʹ ÓÃActionForm¶Ô Ï󲶻ñÊäÈë¡£ËùÓеÄActionForm±ØÐë¼Ì³ÐÒ»¸ö»ùÀà¡£
Struts 2Ö±½ÓʹÓÃActionÊôÐÔ×÷ΪÊäÈëÊô ÐÔ£¬Ïû³ýÁ˶Եڶþ¸öÊäÈë¶ÔÏóµÄÐèÇó¡£
5¡¢Struts1Õû ºÏÁËJSTL£¬ Òò´ËʹÓÃJSTL EL¡£ÕâÖÖELÓлù±¾¶ÔÏóͼ±éÀú£¬µ«ÊÇ¶Ô ¼¯ºÏºÍË÷ÒýÊôÐÔµÄÖ§³ÖºÜÈõ¡£
Struts2¿É ÒÔʹÓÃJSTL£¬ µ«ÊÇÒ²Ö§³ÖÒ»¸ö¸üÇ¿´óºÍÁé»îµÄ±í´ïʽÓïÑÔ££¡±Object Graph Notation Language¡± (OGNL).
6¡¢Struts 1ʹ Óñê×¼JSP»ú ÖưѶÔÏó°ó¶¨µ½Ò³ÃæÖÐÀ´·ÃÎÊ¡£
Struts 2ʹÓá±ValueStack¡±¼¼ Êõ£¬Ê¹taglibÄÜ ¹»·ÃÎÊÖµ¶ø²»ÐèÒª°ÑÄãµÄÒ³Ã棨view£©ºÍ¶ÔÏó°ó¶¨ÆðÀ´¡£
7¡¢Struts 1 ActionFormÊôÐÔͨ³£¶¼ÊÇStringÀàÐÍ¡£Struts1ʹ ÓÃCommons-Beanutils½ø ÐÐÀàÐÍת»»¡£
Struts2ʹÓÃOGNL½øÐÐÀàÐÍת»»¡£Ìṩ»ù ±¾ºÍ³£ÓöÔÏóµÄת»»Æ÷¡£
8¡¢Struts 1Ö§ ³ÖÔÚActionFormµÄvalidate·½ ·¨ÖÐÊÖ¶¯Ð£Ñ飬»òÕßͨ¹ýCommons ValidatorµÄÀ©Õ¹À´Ð£Ñé¡£
Struts2Ö§ ³Öͨ¹ývalidate·½ ·¨ºÍXWorkУ Ñé¿ò¼ÜÀ´½øÐÐУÑé¡£
9¡¢Struts1Ö§ ³Öÿһ¸öÄ£¿éÓе¥¶ÀµÄRequest Processors£¨ÉúÃüÖÜÆÚ£©£¬µ«ÊÇÄ£¿éÖеÄËùÓÐAction±Ø Ðë¹²ÏíÏàͬµÄÉúÃüÖÜÆÚ¡£
Struts2Ö§ ³Öͨ¹ýÀ¹½ØÆ÷¶ÑÕ»£¨Interceptor Stacks£©ÎªÃ¿Ò»¸öAction´´ ½¨²»Í¬µÄÉúÃüÖÜÆÚ¡£¶ÑÕ»Äܹ»¸ù¾ÝÐèÒªºÍ²»Í¬µÄActionÒ»ÆðʹÓá£
9¡¢ ¹ýÂËÆ÷ºÍÀ¹½ØÆ÷µÄÇø±ð
1¡¢ À¹½ØÆ÷ÊÇ»ùÓÚjavaµÄ·´Éä»úÖƵģ¬¶ø¹ýÂËÆ÷ÊÇ»ùÓÚº¯Êý»Øµ÷
2¡¢ ¹ýÂËÆ÷ÒÀÀµÓÚservletÈÝÆ÷£¬¶øÀ¹½ØÆ÷²»ÒÀÀµÓÚservletÈÝÆ÷
3¡¢ À¹½ØÆ÷Ö»ÄܶÔactionÇëÇóÆð×÷Ó㬶ø¹ýÂËÆ÷Ôò¿ÉÒÔ¶Ô¼¸ºõËùÓеÄÇëÇóÆð×÷ÓÃ
4¡¢ À¹½ØÆ÷¿ÉÒÔ·ÃÎÊactionÉÏÏÂÎÄ¡¢ÖµÕ»ÀïµÄ¶ÔÏ󣬶ø¹ýÂËÆ÷²»ÄÜ
5¡¢ ÔÚactionµÄ ÉúÃüÖÜÆÚÖУ¬À¹½ØÆ÷¿ÉÒÔ¶à´Î±»µ÷Ó㬶ø¹ýÂËÆ÷Ö»ÔÚÈÝÆ÷³õʼ»¯Ê±µ÷ÓÃÒ»´Î
À¹ ½ØÆ÷£º ÊÇÔÚÃæÏòÇÐÃæ±à³ÌµÄ¾ÍÊÇÔÚÄãµÄservice»òÕßÒ»¸ö·½·¨£¬Ç°µ÷ÓÃÒ»¸ö·½·¨£¬»òÕßÔÚ·½·¨ºóµ÷ÓÃÒ»¸ö·½·¨±ÈÈ綯̬´úÀí ¾ÍÊÇÀ¹½ØÆ÷µÄ¼òµ¥ÊµÏÖ£¬ÔÚÄãµ÷Ó÷½·¨Ç°´òÓ¡³ö×Ö·û´®£¨»òÕß×öÆäËüÒµÎñÂß¼µÄ²Ù×÷£©£¬Ò²¿ÉÒÔÔÚÄãµ÷Ó÷½·¨ºó´òÓ¡³ö×Ö·û´®£¬ÉõÖÁÔÚÄãÅ׳öÒì³£µÄʱºò×öÒµÎñÂß¼ µÄ²Ù×÷¡£
¹ý ÂËÆ÷£ºÊÇÔÚjava webÖУ¬ Äã´«ÈëµÄrequest,responseÌáÇ°¹ýÂ˵ôһЩÐÅÏ¢£¬»òÕßÌáÇ°ÉèÖÃһЩ²ÎÊý£¬È»ºóÔÙ´«Èëservlet»ò ÕßstrutsµÄaction½ø ÐÐÒµÎñÂß¼£¬±ÈÈç¹ýÂ˵ô·Ç·¨url£¨²»ÊÇlogin.doµÄµØÖ·ÇëÇó£¬ Èç¹ûÓû§Ã»Óеǽ¶¼¹ýÂ˵ô£©,»òÕßÔÚ´«Èëservlet»òÕßstrutsµÄactionÇ° ͳһÉèÖÃ×Ö·û¼¯£¬»òÕßÈ¥³ýµôһЩ·Ç·¨×Ö·û.
10¡¢HibernateÊÇ Ò»¸ö¿ª·ÅÔ´´úÂëµÄ¶Ô