°Ë±¦Êé¿â > ÎÄѧÆäËûµç×ÓÊé > JSPÈëÃŽ̳Ì(DOC¸ñʽ) >

µÚ15²¿·Ö

JSPÈëÃŽ̳Ì(DOC¸ñʽ)-µÚ15²¿·Ö

С˵£º JSPÈëÃŽ̳Ì(DOC¸ñʽ) ×ÖÊý£º ÿҳ4000×Ö

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡




¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡request¡£getRequestDispatcher£¨¡¨/security/login¡£jsp¡¨£©¡£forward£¨req¡¡

¡¡¡¡¡¡uest£»¡¡response£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡/**¡¡¡¡

¡¡¡¡¡¡¡¡*¡¡×¢Ïú¡£¡¡¡¡

¡¡¡¡¡¡¡¡*/¡¡¡¡

¡¡¡¡¡¡public¡¡void¡¡logout£¨HttpServletRequest¡¡¡¡

¡¡¡¡¡¡request£»HttpServletResponse¡¡response£©¡¡throws¡¡Exception¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡request¡£getSession£¨£©¡£invalidate£¨£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡95¡¡/¡¡148¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡96¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡response¡£sendRedirect£¨request¡£getContextPath£¨£©¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¨/security/logoutSuccess¡£jsp¡¨£©£»¡¡¡¡

¡¡¡¡¡¡£ý¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡ÎÒÃÇÏȸù¾ÝÇëÇóÖеÄÓû§ÃûºÍÃÜÂëÈ¥Êý¾Ý¿âËÑË÷Óû§ÐÅÏ¢¡£Èç¹ûÄÜÕÒµ½£¬¡¡

¡¡¡¡¡¡ËµÃ÷Óû§ÊäÈëÎÞÎó¿ÉÒԵǼ£¬Õâʱ¸üÐÂÓû§×îºóµÇ¼ʱ¼ä£¬²¢½«¡¡user¡¡±£¡¡

¡¡¡¡¡¡´æµ½¡¡session¡¡ÖУ¬Í¬Ê±Ê¹Óá¡listener¡¡²Ù×÷ÔÚÏßÁÐ±í¡£¡¡¡¡



¡¡¡¡¡¡Èç¹ûÓû§Ãû»òÃÜÂë´íÎó£¬Ôò½«ÇëÇóת·¢ÖÁ/security/login¡£jsp¡¡Ò³Ã棬ÏÔ¡¡

¡¡¡¡¡¡Ê¾´íÎóÐÅÏ¢¡£¡¡¡¡



3¡£¡¡¡¡¿ØÖÆÓû§·ÃÎÊȨÏÞ¡¡¡¡



¡¡¡¡¡¡ÓëÓû§²Ù×÷Ïà¹ØµÄ»¹ÓС¡anni¡£utils¡£SecurityFilter£¬ÎÒÃÇʹÓÃËüÀ´¿ØÖÆ¡¡

¡¡¡¡¡¡Óû§µÄ·ÃÎÊȨÏÞ¡£¿ÉÒԲο¼Ö®Ç°µÄÌÖÂÛ£ºµÚ¡¡7¡£2¡¡½Ú¡¡¡¡¡°ÓÃfilter¡¡¿ØÖÆÓá¡

¡¡¡¡¡¡»§·ÃÎÊȨÏÞ¡±¡£¡¡¡¡



¡¡¡¡¡¡web¡£xml¡¡Öжԡ¡SecurityFilter¡¡µÄÅäÖÃÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡SecurityFilter¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡anni¡£utils¡£SecurityFilter¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡SecurityFilter¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡/*¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡ÒòΪfilter¡­mappingÌ«²»Áé»î£¬ÎÒÃÇÈÃSecurityFilter¹ýÂËËùÓеÄÇëÇ󣬡¡

¡¡¡¡¡¡ÔÚ´úÂëÀïÅжÏÄÄЩÇëÇóÐèÒª±£»¤¡£¡¡¡¡



¡¡¡¡¡¡public¡¡void¡¡doFilter£¨ServletRequest¡¡request£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ServletResponse¡¡response£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FilterChain¡¡chain£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡throws¡¡IOException£»¡¡ServletException¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡HttpServletRequest¡¡req¡¡=¡¡£¨HttpServletRequest£©¡¡request£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡HttpServletResponse¡¡res¡¡=¡¡£¨HttpServletResponse£©¡¡response£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡url¡¡=¡¡req¡£getServletPath£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡method¡¡=¡¡req¡£getParameter£¨¡¨method¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡¡¡£¨¡¨/create¡£jsp¡¨¡£equals£¨url£©¡¡£ü£ü¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨¡¨/thread¡£do¡¨¡£equals£¨url£©¡¡&&¡¡¡¨post¡¨¡£equals£¨method£©£©¡¡£ü£ü¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡96¡¡/¡¡148¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡97¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨¡¨/ment¡£do¡¨¡£equals£¨url£©¡¡&&¡¡¡¨post¡¨¡£equals£¨method£©£©£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡HttpSession¡¡session¡¡=¡¡req¡£getSession£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡¡¡£¨session¡£getAttribute£¨¡¨user¡¨£©¡¡==¡¡null£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡res¡£sendRedirect£¨req¡£getContextPath£¨£©¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨/security/securityFailure¡£jsp¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡chain¡£doFilter£¨request£»¡¡response£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÔÚ´ËÎÒÃÇÖ»±£»¤Èý¸öÇëÇó£º/create¡£jsp¡¡£¨½øÈë·¢²¼ÐÂÖ÷ÌâµÄÒ³Ã棩£¬¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡/thread¡£do£¿method=post¡¡£¨·¢²¼ÐÂÖ÷Ì⣩£¬/ment¡£do£¿method=post¡¡£¨·¢¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡²¼»Ø¸´£©¡£ÕâÈý¸ö²Ù×÷Ö»ÓÐÔÚÓû§µÇ¼֮ºó²ÅÄÜ·ÃÎÊ£¬Èç¹ûÓû§»¹Ã»Óеġ¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÇ¼¾Í»áÒ³ÃæÖض¨Ïòµ½/security/securityFailure¡£jsp£¬ÏÔʾȨÏÞ²»×ã¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÎÞ·¨·ÃÎʵÄÌáʾÐÅÏ¢¡£¡¡¡¡



10¡£3¡£2¡£¡¡Ö÷Ìâ»Ø¸´¹ÜÀí¡¡¡¡



Ö÷Ìâ»Ø¸´¹ÜÀí¹¦ÄÜ°üÀ¨£º²é¿´ËùÓÐÖ÷Ì⣬²é¿´Ä³Ò»Ö÷ÌâµÄÏêϸÐÅÏ¢ºÍ¶ÔÓ¦»Ø¸´£¬¡¡

·¢±íÐÂÖ÷Ì⣬·¢±í»Ø¸´¡£µã»÷Ö÷Ìâʱ»¹»á¼ÆËãµã»÷Êý¡£¡¡¡¡



¡¡¡¡¡¡1¡£¡¡¡¡²é¿´ËùÓÐÖ÷ÌâÐÅÏ¢¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡½øÈëÓ¦Óã¬index¡£jsp¡¡»áÁ¢¼´Ìøתµ½/forum¡£do£¿method=list£¬²¢ÔÚ¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡list¡£jsp¡¡ÖÐÏÔʾËùÓÐÖ÷Ì⣬°üÀ¨Ö÷Ìâ±êÌ⣬»Ø¸´Êý£¬×÷Õߣ¬µã»÷Êý£¬×î¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºó»Ø¸´Ê±¼ä£¬×îºó»Ø¸´ÈË¡£ÕâЩÐÅÏ¢°´ÕÕ¡°×îºó»Ø¸´Ê±¼ä¡±½øÐÐÄæÐòÅÅÁС£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊµÏÖ´úÂëÔÚ¡¡anni¡£web¡£ForumServlet¡¡µÄ¡¡list£¨£©·½·¨ÄÚ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡/**¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡*¡¡ÏÔʾËùÓÐÌû×Ó¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡private¡¡void¡¡list£¨HttpServletRequest¡¡request£»¡¡HttpServletResponse¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡response£©¡¡throws¡¡Exception¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡List¡¡list¡¡=¡¡forumDao¡£getAll£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡request¡£setAttribute£¨¡¨list¡¨£»¡¡list£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡request¡£getRequestDispatcher£¨¡¨/list¡£jsp¡¨£©¡£forward£¨request£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡response£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡97¡¡/¡¡148¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡98¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



µ÷Óá¡anni¡£dao¡£ForumDao¡¡µÄpagedQuery£¨£©·½·¨·µ»ØÎÒÃÇÐèÒªµÄÐÅÏ¢£¬Õâ¡¡

ÀïÖ»Óá¡domain¡¡Öж¨ÒåµÄÀàÒѾ­ÎÞ·¨Âú×ãÎÒÃÇÁË£¨ÏÔʾµÄÐÅÏ¢°üº¬ÁËÈý¸ö¡¡

±íµÄÐÅÏ¢£©£¬ÎªÁË·½±ãÆð¼ûÎÒÃÇÖ±½ÓʹÓÃÁË¡¡Map¡¡À´´«µÝÊý¾Ý¡£¡¡¡¡



public¡¡List¡¡getAll£¨£©¡¡throws¡¡Exception¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡Connection¡¡conn¡¡=¡¡null£»¡¡¡¡

¡¡¡¡¡¡¡¡Statement¡¡state¡¡=¡¡null£»¡¡¡¡

¡¡¡¡¡¡¡¡List¡¡list¡¡=¡¡new¡¡ArrayList£¨£©£»¡¡¡¡

¡¡¡¡

¡¡¡¡¡¡¡¡try¡¡¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡conn¡¡=¡¡DbUtils¡£getConn£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡state¡¡=¡¡conn¡£createStatement£¨£©£»¡¡¡¡

¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡sql¡¡=¡¡¡¨select¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨t¡£id£»¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨t¡£title£»¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨£¨select¡¡count£¨id£©¡¡from¡¡ment¡¡where¡¡¡¡

thread=t¡£id£©¡¡as¡¡reply£»¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨£¨select¡¡username¡¡from¡¡user¡¡where¡¡id=t¡£user£©¡¡as¡¡¡¡

author£»¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨t¡£hit£»¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨£¨select¡¡top¡¡1¡¡create_time¡¡from¡¡ment¡¡where¡¡¡¡

thread=t¡£id¡¡order¡¡by¡¡create_time¡¡desc£©¡¡as¡¡create_time£»¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨£¨select¡¡top¡¡1¡¡u¡£username¡¡from¡¡ment¡¡c£»user¡¡u¡¡¡¡

where¡¡c¡£thread=t¡£id¡¡and¡¡c¡£user=u¡£id¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨order¡¡by¡¡create_time¡¡desc£©¡¡as¡¡user¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨from¡¡thread¡¡t¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨order¡¡by¡¡user¡¡desc¡¨¡¡£»¡¡¡¡

¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ResultSet¡¡rs¡¡=¡¡state¡£executeQuery£¨sql£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while¡¡¡¡£¨rs¡£next£¨£©£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Map¡¡map¡¡=¡¡new¡¡HashMap£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨id¡¨£»¡¡rs¡£getLong£¨1£©£©£»¡¡//¡¡Ö÷¼ü¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨title¡¨£»¡¡rs¡£getString£¨2£©£©£»¡¡//¡¡±êÌâ¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨reply¡¨£»¡¡rs¡£getInt£¨3£©£©£»¡¡//¡¡»Ø¸´Êý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨author¡¨£»¡¡rs¡£getString£¨4£©£©£»¡¡//¡¡×÷Õß¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨hit¡¨£»¡¡rs¡£getInt£¨5£©£©£»¡¡//¡¡µã»÷Êý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨updateDate¡¨£»¡¡rs¡£getTimestamp£¨6£©£©£»¡¡//¡¡×îºó·¢¡¡

ÑÔʱ¼ä¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨user¡¨£»¡¡rs¡£getString£¨7£©£©£»¡¡//¡¡×îºó·¢ÑÔÈË¡¡¡¡

¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡list¡£add£¨map£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡finally¡¡¡¡£û¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡98¡¡/¡¡148¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡99¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DbUtils¡£close£¨null£»¡¡state£»¡¡conn£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡list£»¡¡¡¡

¡¡¡¡¡¡£ý¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡»òÐíÓÐÈË»áÆæ¹ÖΪʲô²»Ö±½ÓʹÓá¡ResultSet¡£ÕâÆäʵÊÇÒ»ÖÖÀíÄîÎÊÌ⣬¡¡

¡¡¡¡¡¡Èç¹ûÄã·µ»Ø¡¡ResultSet¡¡µ½¡¡jsp¡¡Ò³Ã棬µÄÈ·ÃâÈ¥ÁË·â×°³É¡¡Map¡¡µÄ²½Ö裬µ«ÊÇ¡¡

¡¡¡¡¡¡Í¬Ê±²úÉúÁËÁ½¸öÎÊÌâ¡£¡¡¡¡



¡¡¡¡¡¡µÚÒ»£¬Êý¾Ý¿â²Ù×÷¶ÔÓ¦µÄ´úÂëÂûÑÓµ½Ç°Ì¨Ò³Ã棬ÓÐÎ¥ÎÒÃÇ·Ö²ãÉè¼ÆµÄ³õÖÔ¡£¡¡

¡¡¡¡¡¡Èç¹û¾õµÃÎÒÃÇÕâÊǹý¶ÈÉè¼ÆµÄ»°£¬ÄÇôµÚ¶þ¸öÎÊÌâÔòÊǸüÑÏÖصģ¬½«¡¡

¡¡¡¡¡¡ResultSet¡¡·Åµ½¡¡jsp¡¡ÉϺÜÄÑ¿ØÖƺÎʱ¹Ø±ÕÊý¾Ý¿âÁ¬½Ó£¬Èç¹û·¢ÉúÁËÒì³£¿É¡¡

¡¡¡¡¡¡ÄÜÀ´²»¼°¹Ø±ÕÊý¾ÝÁ¬½Ó£¬Óò»Á˶೤ʱ¼ä¾Í»áºÄ¾¡×ÊÔ´ÁË¡£¡¡¡¡



¡¡¡¡¡¡ForumDao¡¡ÖУ¬ÃãÇ¿Æ´´Õ³öÈý¸ö±íÁ¬½Ó²éѯµÄ¡¡sql£¬»¹²»Çå³þÐÔÄÜÊÇ·ñÓб£¡¡

¡¡¡¡¡¡Ö¤¡£¡¡¡¡



2¡£¡¡¡¡ÏÔʾÖ÷ÌâÏêϸÐÅÏ¢¡¡¡¡



¡¡¡¡¡¡µã»÷Ö÷Ìâ±êÌâ/forum¡£do£¿method=view&id=1£¬»á½øÈëÏÔʾ¶ÔÓ¦ÏêϸÐÅÏ¢µÄ¡¡

¡¡¡¡¡¡Ò³Ãæ/view¡£jsp¡£¶¥²¿ÏÔʾµÄÊÇÖ÷ÌâÌû×ӵıêÌ⣬·¢²¼Ê±¼ä£¬×÷ÕߺÍÄÚÈÝ¡£¡¡

¡¡¡¡¡¡Ö÷ÌâÄÚÈÝÏÂÃæÁгöËùÓеĻظ´ÄÚÈÝ£¬Ò³Ãæµ×²¿Êǻظ´Ê¹ÓÃµÄ±íµ¥£¬Ö»Óеǡ¡

¡¡¡¡¡¡Â¼Ö®ºó²ÅÄÜʹÓᣡ¡¡¡



¡¡¡¡¡¡ForumServlet¡¡ÖеÄview£¨£©·½·¨ÓÃÀ´»ñµÃÎÒÃÇÐèÒªµÄÖ÷ÌâÐÅÏ¢ºÍ¶ÔÓ¦µÄ»Ø¡¡

¡¡¡¡¡¡¸´ÐÅÏ¢¡£¡¡¡¡



¡¡¡¡¡¡/**¡¡¡¡

¡¡¡¡¡¡¡¡*¡¡ÏÔʾÌû×ÓÄÚÈÝ¡£¡¡¡¡

¡¡¡¡¡¡¡¡*/¡¡¡¡

¡¡¡¡¡¡private¡¡void¡¡view£¨HttpServletRequest¡¡request£»¡¡HttpServletResponse¡¡¡¡

¡¡¡¡¡¡response£©¡¡throws¡¡Exception¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡long¡¡id¡¡=¡¡Long¡£parseLong£¨request¡£getParameter£¨¡¨id¡¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡Map¡¡thread¡¡=¡¡forumDao¡£viewThread£¨id£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡List¡¡list¡¡=¡¡forumDao¡£getmentsByThread£¨id£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡request¡£setAttribute£¨¡¨thread¡¨£»¡¡thread£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡request¡£setAttribute£¨¡¨list¡¨£»¡¡list£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡request¡£getRequestDispatcher£¨¡¨/view¡£jsp¡¨£©¡£forward£¨request£»¡¡¡¡

¡¡¡¡¡¡response£©£»¡¡¡¡

¡¡¡¡¡¡£ý¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡ÎÒÃÇ´ÓÇëÇóÖлñµÃÖ÷ÌâµÄ¡¡id£¬»ñµÃÖ÷ÌâÏêϸÐÅÏ¢ºÍ¶ÔÓ¦µÄ»Ø¸´ÐÅÏ¢ÁÐ±í£¬¡¡

¡¡¡¡¡¡ÕâÁ½ÏÊÇʹÓá¡Map¡¡´«µÝÊý¾Ý´«µÝµ½¡¡view¡£jsp¡¡Ò³ÃæÖÐÔÙʹÓá¡el¡¡ºÍ¡¡jstl¡¡

¡¡¡¡¡¡ÏÔʾ³öÀ´¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡99¡¡/¡¡148¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡100¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡ÔÚÏÔʾÖ÷ÌâÏêϸÐÅϢʱ£¬Ë³±ã½²Ö÷ÌâµÄµã»÷Êý¼ÓÒ»¡£¡¡¡¡



¡¡¡¡¡¡public¡¡Map¡¡viewThread£¨long¡¡id£©¡¡throws¡¡Exception¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡Connection¡¡conn¡¡=¡¡null£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡PreparedStatement¡¡state¡¡=¡¡null£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡Map¡¡map¡¡=¡¡new¡¡HashMap£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡try¡¡¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡conn¡¡=¡¡DbUtils¡£getConn£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡state¡¡=¡¡conn¡£prepareStatement£¨¡¨select¡¡¡¡

¡¡¡¡¡¡¡¡t¡£id£»t¡£title£»t¡£content£»t¡£create_time£»u¡£username¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨from¡¡thread¡¡t£»user¡¡u¡¡where¡¡t¡£user=u¡£id¡¡and¡¡t¡£id=£¿¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡state¡£setLong£¨1£»¡¡id£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ResultSet¡¡rs¡¡=¡¡state¡£executeQuery£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡¡¡£¨rs¡£next£¨£©£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨id¡¨£»¡¡rs¡£getLong£¨1£©£©£»¡¡//¡¡Ö÷¼ü¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨title¡¨£»¡¡rs¡£getString£¨2£©£©£»¡¡//¡¡±êÌâ¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨content¡¨£»¡¡rs¡£getString£¨3£©£©£»¡¡//¡¡ÄÚÈÝ¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨createTime¡¨£»¡¡rs¡£getTimestamp£¨4£©£©£»¡¡//¡¡·¢²¼Ê±¡¡

¡¡¡¡¡¡¡¡¼ä¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡map¡£put£¨¡¨username¡¨£»¡¡rs¡£getString£¨5£©£©£»¡¡//¡¡×÷ÕßÃû¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Ôö¼Óµã»÷Êý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡state¡¡=¡¡conn¡£prepareStatement£¨¡¨update¡¡thread¡¡set¡¡¡¡

¡¡¡¡¡¡hit=hit£«1¡¡where¡¡id=£¿¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡state¡£setLong£¨1£»¡¡id£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡state¡£executeUpdate£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡finally¡¡¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DbUtils¡£close£¨null£»¡¡state£»¡¡conn£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡map£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡ÎÒÃÇ°ÑÕâ¸ö¸üвÙ×÷·Åµ½²éѯ֮ºó£¬Ê¹Óá¡update¡¡½«¡¡hit¡¡×ֶμÓÒ»£¬Ò²ÊÇ¡¡

¡¡¡¡¡¡¡¡ÎªÁ˱ÜÃâÔÚÒì³£Çé¿öÏÂÕÒ²»µ½¶ÔÓ¦Ö÷Ìâʱ£¬²»±Ø³öÏÖ¸üÐÂÒì³£¡£¡¡¡¡



3¡£¡¡¡¡·¢²¼ÐÂÖ÷ÌâºÍ·¢²¼»Ø¸´¡¡¡¡



¡¡¡¡¡¡¡¡ÕâÁ½Ïî¶ÔÓ¦ÁË¡¡anni¡£web¡£ThreadServlet¡¡ºÍ¡¡anni¡£web¡£mentServlet¡¡ÖС¡

¡¡¡¡¡¡¡¡µÄpost£¨£©·½·¨¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡100¡¡/¡¡148¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡101¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ÎªÁ˼òÒ×Æð¼û£¬ÎÒÃǽö½öÔÚÒ³ÃæÉÏʹÓá¡javascript¡¡¼ìÑéÊäÈëµÄÊý¾Ý²»ÄÜ¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Îª¿Õ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡Ìá½»Ö®ºó»áµ÷ÓöÔÓ¦¡¡dao¡¡Öеġ¡save£¨£©·½·¨½«Êý¾Ý±£´æ½øÊý¾Ý¿â¡£×îºóÒ³¡¡

¡¡¡¡¡¡¡¡¡¡¡¡ÃæÖض¨Ïòµ½/forum¡£do£¿method=list¡¡»ò/forum¡£do£¿method=view&id=1¡£Êµ¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¼ÊÉÏËüÃǶ¼Êǵ¥´¿µÄ¡¡create¡¡²Ù×÷£¨CRUD¡¡ÖеÄC£©¡£¡¡¡¡



10¡£3¡£3¡£¡¡ÏÔʾÔÚÏßÓû§ÁÐ±í¡¡¡¡



ÎÒÃÇʹÓÃÁË¡¡HttpSessionBindingListener¡¡À´ÊµÏÖÔÚÏßÓû§ÁÐ±í¡£Ïêϸ½éÉܼû¡¡

µÚ¡¡8¡£2¡¡½Ú¡¡¡¡¡°Ê¹ÓÃHttpSessionBindingListener¡±¡£¡¡¡¡



/list¡£jsp¡¡ºÍ/view¡£jsp¡¡Á½¸öÒ³ÃæÉϵÄÔÚÏßÓû§ÁбíÏÔʾЧ¹ûÍêÈ«Ò»Ñ

·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©

Äã¿ÉÄÜϲ»¶µÄ