JUnitѧϰ±Ê¼Ç14 ¶ÔJSPºÍtaglib½øÐе¥Ôª²âÊÔ1
A test that can¡¯t be repeated is worthless.---Brian Marick ±¾ÕÂÄÚÈÝ£º ·Ö±ðʹÓÃCactusºÍmock objects¶ÔJSP½øÐе¥Ôª²âÊÔ ÓÃMavenÔËÐÐCactus¶ÔJSPµÄ²âÊÔ ÓÃCactus¶ÔTaglib½øÐе¥Ôª²âÊÔ ÓÃmock objectsºÍMockMaker¶ÔTaglib½øÐе¥Ôª²âÊÔ ±¾Õ½«¼ÌÐøÌÖÂÛÇ°ÃæµÄ¹ÜÀíÓ¦ÓóÌÐò£¬ÔÚÉÏÁ½ÆªµÄ±Ê¼ÇÖУ¬ÎÒÃǹØÐĵÄÊǸÃÓ¦ÓóÌÐòµÄservlet×é¼þ½øÐе¥Ôª²âÊÔ¡£±¾Õ½«¼¯ÖÐ×¢ÒâÁ¦ÓÚÊÇͼ×é¼þ——JSPºÍ×Ô¶¨Òå±ê¼Ç¿âtaglib¡£ »Ø¹Ë¹ÜÀíÓ¦ÓÃÈí¼þ£º(¿´²»µ½Í¼µãÕâÀï) ä¯ÀÀÆ÷½«·¢ËÍ»ØÒ»¸öHTTPÇëÇóµ½AdminServlet¡£·¢³öÒ»¸öSQL²éѯ×÷Ϊһ¸öHTTP²ÎÊý£¬AdminServlet»á»ñÈ¡¸Ã²ÎÊý¡£SecurityFilter½âÊ͸ÃHTTPÇëÇó²¢È·±£¸ÃSQLÊÇÎÞº¦µÄ£¨¼´ÊÇÒ»¸öSQL²éѯ£©¡£È»ºó£¬servletÔÚ¸ÃÊý¾Ý¿âÉÏÖ´Ðд˲éѯ£¬½«½á¹û´æ·ÅÓÚHTTP requestÖУ¬²¢µ÷Óýá¹ûÊÓͼ¡£JSP´ÓRequestÖÐÈ¡³ö½á¹û²¢Ê¹ÓÃÀ´×Ô±ê¼Ç¿âÖÐ×Ô¶¨ÒåµÄJSP±ê¼Ç½«Æä¸ñʽ»¯ºó£¬ÏÔʾ³öÀ´¡£ ʲôÊÇJSPµ¥Ôª²âÊÔ£¿ JSPµ¥Ôª²âÊÔ²¢²»ÊǹØÓÚ¶ÔÓɱàÒëJSPʱËù²úÉúµÄservlet½øÐе¥Ôª²âÊÔ¡£ÎÒÃǼÙÉèJSPÒѱ»Éè¼ÆºÃ£¬¼´ËüÀïÃæ²»°üº¬java´úÂ룬ÈκÎÒª´¦ÀíµÄ±íʾÂß¼¶¼±»·â×°ÔÚÒ»¸öjavabean»òtaglibÖС£¿ÉÒÔÓÃÁ½ÖÖ²»Í¬µÄ·½·¨À´½øÐе¥Ôª²âÊÔÒ»¸öjsp£º²âÊÔjsp±¾Éí»òÊDzâÊÔjsp±ê¼Ç¿â¡£ Äã¿ÉÒÔ½«jsp´Óºó¶Ë¹ÂÁ¢³öÀ´£¬·½·¨ÊÇͨ¹ýÄ£ÄâjspʹÓÃjavabean£¬È»ºó֤ʵ·µ»ØµÄÒ³°üº¬ÁËÔ¤ÆÚµÄÊý¾Ý¡£ÎÒÃǽ«Ê¹ÓÃCactusÀ´ÑÝʾÕâ¸ö²âÊÔÀà¡£ÒòΪmock objectsÖ»ÄÜ´¦Àíjava´úÂ룬ËùÒÔÄã²»ÄÜÓô¿mock objectsµÄ·½·¨µ¥¶ÀµÄ¶Ôjsp½øÐе¥Ôª²âÊÔ¡£ ÄãÒ²¿ÉÒÔÓÃÖîÈçHttpUnitÕâÑùµÄ¿ò¼ÜΪJSP±àд¹¦ÄܲâÊÔ¡£È»¶ø£¬ÕâÑùÔòÒâζ×űØÐëͬӦÓóÌÐòµÄºó¶Ë±£³ÖÍêȫһÖ£¬ÕâÓпÉÄÜ»áÊÇÊý¾Ý¿â¡£¶øÊ¹ÓÃCactusºÍmock objectsÏà½áºÏµÄ·½·¨£¬¾Í¿ÉÒÔ²»±Øµ÷Óúó¶Ë¶ø°ÑÄãµÄ×¢ÒâÁ¦¼¯ÖÐÔÚ¶ÔJSP½øÐе¥Ôª²âÊÔÉÏÁË¡£ ÄãÒ²¿ÉÒÔ¶ÔJSPÖÐʹÓõÄ×Ô¶¨Òå±ê¼Ç½øÐе¥Ôª²âÊÔ¡£ÕâÐèҪʹÓÃCactusºÍmockÁ½ÖÖ·½·¨¡£Á½ÖÖ·
Ïà¹ØÎĵµ£º
3. £¼jsp:forward page="" /£¾
ËüµÄµ×²ã²¿·ÖÊÇÓÉRequestDispatcherÀ´ÊµÏֵģ¬Òò´ËËü´øÓÐRequestDispatcher.forward()·½·¨µÄÓ¡¼Ç¡£
Èç¹ûÔÚ֮ǰÓкܶàÊä³ö,Ç°ÃæµÄÊä³öÒÑʹ»º³åÇøÂú,½«×Ô¶¯Êä³öµ½¿Í»§¶Ë,ÄÇô¸ÃÓï¾ä½«²»Æð×÷ÓÃ,ÕâÒ»µãÓ¦¸ÃÌØ±ð×¢Òâ¡£
ÁíÍâҪעÒ⣺Ëü²»Äܸıää¯ÀÀÆ÷µØÖ·£¬Ë¢ÐµĻ°»áµ¼ÖÂÖØ¸´Ìá½»
4. ÐÞ¸ÄHTTP ......
ÎÒµÄjsp±à³Ì»·¾³Ò²ÊÇ×î½ü²Å´î½¨ÆðÀ´µÄ£¬ÓõÄÊÇwindows2003£«ecplise£«tomcat£«lomboz£«sql Server 2000£¬´î½¨µÄ¹ý³ÌÖгÔÁ˲»ÉٵĿàÍ·£¬ÔڴµÄ¹ý³ÌÖÐ×ܽáÁËһЩ¾Ñ飬¶ÔÓÚjsp´î½¨ÔÚÍøÉÏÓв»ÉٵĽéÉÜ£¬´î½¨ÆðÀ´±È½ÏÈÝÒ×£¬ÏÂÃæÖ÷Òª½éÉÜÔÚjsp´î½¨ÆðÀ´ºóÁ¬½ÓÊý¾Ý¿âҪעÒâµÄµØ·½£º
£¨1£©Êý¾Ý¿âµÄ°æ±¾Ñ¡ÔñÒªÕýÈ·£¬Ñ¡ÔñµÄ°æ±¾ºÍ ......
ÒòΪҪʵÏÖÒ»¸öWebServer£¬Ð´ÍêÁËÒ»¸ö¼òµ¥µÄWebServerºóÍ»·¢ÆæÏ룬ºÎ²»ÊµÏÖÒ»¸öJSP µÄWebServerÄØ£¿
ÓÐÁËÕâ¸öÏë·¨ºó£¬¾Í¿ªÊ¼¿¼ÂÇJSPµÄʵÏÖÔÀí£¬ÆäʵJSPµÄʵÏÖÒ²ºÜ¼òµ¥£¬Ëµ°×Á˾ÍÊǽ«Æäת»»³ÉÒ»¸öJavaÎļþ£¬ÔÙ¶ÔÕâ¸öJavaÎļþ½øÐбàÒ룬Éú³ÉÀàÎļþ£¬½Ó×ÅÔÙÓÉ·þÎñÆ÷ʹÓÃÕâ¸öÀàÎļþ¡£´Ó×ÜÌåÉÏ·Ö£¬¿ÉÒÔ½«JSPÎļþµÄÄÚÈÝ»®·ÖΪÁ½ ......
<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
Color getRandColor(int fc,int bc){//¸ø¶¨·¶Î§»ñµÃËæ»úÑÕÉ«
Random random = new Random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+random.nextInt(bc-fc);
int g=fc+ran ......