JSPÈëÃŽ̳Ì(DOC¸ñʽ)-µÚ15²¿·Ö
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 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¡¡Á½¸öÒ³ÃæÉϵÄÔÚÏßÓû§ÁбíÏÔʾЧ¹ûÍêÈ«Ò»Ñ