±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcsdn£¬½éÉÜÁËSSHºÍSSM¶¨Òå,SSH
ºÍ SSM µÄʵÏÖÔÀí, SpringMVC ¿ò¼ÜÖ´Ðв½Öè , Hibernate
ºÍ MyBatis Á½ÖÖ ORM ¿ò¼Ü¶Ô±ÈµÈ¡£ |
|
µ±ÏÂÁ÷ÐеÄÁ½ÖÖÆóÒµ¿ª·¢MVC¿ªÔ´¿ò¼Ü£¬ÊÇÎÒÃÇJava³ÌÐòÔ³±Ø±¸ÖªÊ¶ÄÜÁ¦¡£MVC£¬¼´Ä£ÐÍ(model)£ÊÓͼ(view)£¿ØÖÆÆ÷(controller)µÄËõд£¬Ò»ÖÖÈí¼þÉè¼Æµä·¶£¬ÓÃÒ»ÖÖÒµÎñÂß¼¡¢Êý¾Ý¡¢½çÃæÏÔʾ·ÖÀëµÄ·½·¨×éÖ¯´úÂ룬½«ÒµÎñÂß¼¾Û¼¯µ½Ò»¸ö²¿¼þÀïÃæ£¬ÔڸĽøºÍ¸öÐÔ»¯¶¨ÖƽçÃæ¼°Óû§½»»¥µÄͬʱ£¬²»ÐèÒªÖØÐ±àдҵÎñÂß¼¡£¿ò¼ÜÖ®ËùÒÔÁ÷ÐУ¬ÔÚÓÚÆäÒ׸´Óúͼò»¯¿ª·¢£¬¾«ËèÔÚ˼Ïë£¬ÕÆÎÕÁ˺ËÐÄ˼Ï룬ÎÒÃÇÕÆÎÕÆäËûÀàËÆ¿ò¼ÜÒ²²»»áÓÐÎÊÌ⣬½¨Òé´ó¼ÒÓо«Á¦µÄ»°¶ÁһϿò¼ÜÔ´Â룬ÓÈÆäÊÇSpring¡£
SSHºÍSSM¶¨Òå
SSH ͨ³£Ö¸µÄÊÇ Struts2 ×ö¿ØÖÆÆ÷(controller)£¬spring ¹ÜÀí¸÷²ãµÄ×é¼þ£¬hibernate
¸ºÔð³Ö¾Ã»¯²ã¡£
SSM ÔòÖ¸µÄÊÇ SpringMVC ×ö¿ØÖÆÆ÷(controller)£¬Spring ¹ÜÀí¸÷²ãµÄ×é¼þ£¬MyBatis
¸ºÔð³Ö¾Ã»¯²ã¡£
¹²Í¬µã£º1.SpringÒÀÀµ×¢ÈëDIÀ´¹ÜÀí¸÷²ãµÄ×é¼þ¡£2.ʹÓÃÃæÏòÇÐÃæ±à³ÌAOP¹ÜÀíÊÂÎï¡¢ÈÕÖ¾¡¢È¨Ï޵ȡ£
²»Í¬µã£º1.Struts2 ºÍ SpringMVC ¿ØÖÆÆ÷(controller)¿ØÖÆÊÓͼºÍÄ£Ð͵Ľ»»¥»úÖÆµÄ²»Í¬£¬
Struts2ÊÇActionÀ༶±ð£¬SpringMVCÊÇ·½·¨¼¶±ð£¬¸üÈÝÒ×ʵÏÖRESTful·ç¸ñ¡£
SSH ºÍ SSM µÄʵÏÖÔÀí
1.Struts2 µÄʵÏÖÔÀí

Struts2¿ò¼ÜÖ´Ðв½Ö裨Struts2ʹÓÃFilterǶÈ룩£º
1¡¢¿Í»§¶Ë³õʼ»¯Ò»¸öÖ¸ÏòServletÈÝÆ÷£¨ÀýÈçTomcat£©µÄÇëÇó
2¡¢Õâ¸öÇëÇó¾¹ýһϵÁеĹýÂËÆ÷£¨Filter£©£¨ÕâЩ¹ýÂËÆ÷ÖÐÓÐÒ»¸ö½Ð×öActionContextCleanUpµÄ¿ÉÑ¡¹ýÂËÆ÷£¬Õâ¸ö¹ýÂËÆ÷¶ÔÓÚStruts2ºÍÆäËû¿ò¼ÜµÄ¼¯³ÉºÜÓаïÖú
3¡¢½Ó×ÅFilterDispatcher±»µ÷Óã¬FilterDispatcherѯÎÊActionMapperÀ´¾ö¶¨Õâ¸öÇëÇóÊÇ·ñÐèÒªµ÷ÓÃij¸öAction
4¡¢Èç¹ûActionMapper¾ö¶¨ÐèÒªµ÷ÓÃij¸öAction£¬FilterDispatcher°ÑÇëÇóµÄ´¦Àí½»¸øActionProxy
5¡¢ActionProxyͨ¹ýConfiguration ManagerѯÎÊ¿ò¼ÜµÄÅäÖÃÎļþ£¬ÕÒµ½ÐèÒªµ÷ÓõÄActionÀà
6¡¢ActionProxy´´½¨Ò»¸öActionInvocationµÄʵÀý¡£
7¡¢ActionInvocationʵÀýʹÓÃÃüÃûģʽÀ´µ÷Óã¬ÔÚµ÷ÓÃActionµÄ¹ý³Ìǰºó£¬Éæ¼°µ½Ïà¹ØÀ¹½ØÆ÷£¨Intercepter£©µÄµ÷Óá£
8¡¢Ò»µ©ActionÖ´ÐÐÍê±Ï£¬ActionInvocation¸ºÔð¸ù¾Ýstruts.xmlÖеÄÅäÖÃÕÒµ½¶ÔÓ¦µÄ·µ»Ø½á¹û¡£·µ»Ø½á¹ûͨ³£ÊÇ£¨µ«²»×ÜÊÇ£¬Ò²¿É
ÄÜÊÇÁíÍâµÄÒ»¸öActionÁ´£©Ò»¸öÐèÒª±»±íʾµÄJSP»òÕßFreeMarkerµÄÄ£°æ¡£
9¡¢½«´¦Àí½á¹û·µ»Ø¸ø¿Í»§¶Ë
2.SpringMVC µÄʵÏÖÔÀí

SpringMVC¿ò¼ÜÖ´Ðв½Ö裨SpringMVCʹÓÃServletǶÈ룩£º
1¡¢¿Í»§¶Ë·¢³öÒ»¸öhttpÇëÇó¸øweb·þÎñÆ÷£¬web·þÎñÆ÷¶ÔhttpÇëÇó½øÐнâÎö£¬Èç¹ûÆ¥ÅäDispatcherServletµÄÇëÇóÓ³Éä·¾¶£¨ÔÚweb.xmlÖÐÖ¸¶¨£©£¬webÈÝÆ÷½«ÇëÇóת½»¸øDispatcherServlet.
2¡¢DipatcherServlet½ÓÊÕµ½Õâ¸öÇëÇóÖ®ºó½«¸ù¾ÝÇëÇóµÄÐÅÏ¢£¨°üÀ¨URL¡¢Http·½·¨¡¢ÇëÇó±¨ÎÄÍ·ºÍÇëÇó²ÎÊýCookieµÈ£©ÒÔ¼°HandlerMappingµÄÅäÖÃÕÒµ½´¦ÀíÇëÇóµÄ´¦ÀíÆ÷£¨Handler£©¡£
3-4¡¢DispatcherServlet¸ù¾ÝHandlerMappingÕÒµ½¶ÔÓ¦µÄHandler,½«´¦ÀíȨ½»¸øHandler£¨Handler½«¾ßÌåµÄ´¦Àí½øÐзâ×°£©£¬ÔÙÓɾßÌåµÄHandlerAdapter¶ÔHandler½øÐоßÌåµÄµ÷Óá£
5¡¢Handler¶ÔÊý¾Ý´¦ÀíÍê³ÉÒԺ󽫷µ»ØÒ»¸öModelAndView()¶ÔÏó¸øDispatcherServlet¡£
6¡¢Handler·µ»ØµÄModelAndView()Ö»ÊÇÒ»¸öÂß¼ÊÓͼ²¢²»ÊÇÒ»¸öÕýʽµÄÊÓͼ£¬DispatcherSevletͨ¹ýViewResolver½«Âß¼ÊÓͼת»¯ÎªÕæÕýµÄÊÓͼView¡£
7¡¢Dispatcherͨ¹ýmodel½âÎö³öModelAndView()ÖеIJÎÊý½øÐнâÎö×îÖÕÕ¹ÏÖ³öÍêÕûµÄview²¢·µ»Ø¸ø¿Í»§¶Ë¡£
Hibernate ºÍ MyBatis Á½ÖÖORM¿ò¼Ü¶Ô±È
Á½ÕßµÄÏàͬµã
HibernateÓëMyBatis¶¼¿ÉÒÔÊÇͨ¹ýSessionFactoryBuiderÓÉXMLÅäÖÃÎļþÉú³ÉSessionFactory£¬È»ºóÓÉSessionFactory
Éú³ÉSession£¬×îºóÓÉSessionÀ´¿ªÆôÖ´ÐÐÊÂÎñºÍSQLÓï¾ä¡£ÆäÖÐSessionFactoryBuider£¬SessionFactory£¬SessionµÄÉúÃüÖÜÆÚ¶¼ÊDz¶àµÄ¡£
HibernateºÍMyBatis¶¼Ö§³ÖJDBCºÍJTAÊÂÎñ´¦Àí¡£
Á½Õ߸÷×ÔÓÅÊÆ
MyBatis¿ÉÒÔ½øÐиüΪϸÖµÄSQLÓÅ»¯£¬¿ÉÒÔ¼õÉÙ²éѯ×ֶΡ£
MyBatisÈÝÒ×ÕÆÎÕ£¬¶øHibernateÃż÷½Ï¸ß¡£
HibernateµÄDAO²ã¿ª·¢±ÈMyBatis¼òµ¥£¬MybatisÐèҪά»¤SQLºÍ½á¹ûÓ³Éä¡£
Hibernate¶Ô¶ÔÏóµÄά»¤ºÍ»º´æÒª±ÈMyBatisºÃ£¬¶ÔÔöɾ¸Ä²éµÄ¶ÔÏóµÄά»¤Òª·½±ã¡£
HibernateÊý¾Ý¿âÒÆÖ²ÐԺܺã¬MyBatisµÄÊý¾Ý¿âÒÆÖ²ÐÔ²»ºÃ£¬²»Í¬µÄÊý¾Ý¿âÐèҪд²»Í¬SQL¡£
HibernateÓиüºÃµÄ¶þ¼¶»º´æ»úÖÆ£¬¿ÉÒÔʹÓõÚÈý·½»º´æ¡£MyBatis±¾ÉíÌṩµÄ»º´æ»úÖÆ²»¼Ñ£¬¸üвÙ×÷²»ÄÜÖ¸¶¨Ë¢ÐÂÖ¸¶¨¼Ç¼£¬»áÇå¿ÕÕû¸ö±í£¬µ«ÊÇÒ²¿ÉÒÔʹÓõÚÈý·½»º´æ¡£
Hibernate ·â×°ÐԺã¬ÆÁ±ÎÁËÊý¾Ý¿â²îÒ죬×Ô¶¯Éú³ÉSQLÓï¾ä£¬Ó¦¶ÔÊý¾Ý¿â±ä»¯ÄÜÁ¦½ÏÈõ£¬SQLÓï¾äÓÅ»¯À§ÄÑ¡£
MyBatis½öʵÏÖÁËSQLÓï¾äºÍ¶ÔÏóµÄÓ³É䣬ÐèÒªÕë¶Ô¾ßÌåµÄÊý¾Ý¿âдSQLÓï¾ä£¬Ó¦¶ÔÊý¾Ý¿â±ä»¯ÄÜÁ¦½ÏÇ¿£¬SQLÓï¾äÓÅ»¯½ÏΪ·½±ã¡£
×ܽá
SSMºÍSSH²»Í¬Ö÷ÒªÔÚMVCʵÏÖ·½Ê½£¬ÒÔ¼°ORM³Ö¾Ã»¯·½Ã治ͬ£¨HiibernateÓëMybatis£©¡£SSMÔ½À´Ô½ÇáÁ¿¼¶ÅäÖ㬽«×¢½â¿ª·¢·¢»Óµ½¼«Ö£¬ÇÒORMʵÏÖ¸ü¼ÓÁé»î£¬SQLÓÅ»¯¸ü¼ò±ã£»¶øSSH½Ï×¢ÖØÅäÖÿª·¢£¬ÆäÖеÄHiibernate¶ÔJDBCµÄÍêÕû·â×°¸üÃæÏò¶ÔÏ󣬶ÔÔöɾ¸Ä²éµÄÊý¾Ýά»¤¸ü×Ô¶¯»¯£¬µ«SQLÓÅ»¯·½Ãæ½ÏÈõ£¬ÇÒÈëÃÅÃż÷ÉԸߡ£
¸½Spring¼Ò×壺
|