ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一本视频,国产99视频精品免费视频36,√新版天堂资源在线资源http://www.aygfsteel.com/jackylpz/category/8341.html目标 --> æ¯å¤©éƒ½è¦è±¡è¿‡òq´ä¸€æ øP¼åQï¼zh-cnFri, 02 Mar 2007 06:47:16 GMTFri, 02 Mar 2007 06:47:16 GMT60谈谈蜂蜜的好处和¾ŸŽå®¹ç”¨æ³• http://www.aygfsteel.com/jackylpz/archive/2006/12/21/89304.html˜q‡å¹´˜q‡å¹´Thu, 21 Dec 2006 08:12:00 GMThttp://www.aygfsteel.com/jackylpz/archive/2006/12/21/89304.htmlhttp://www.aygfsteel.com/jackylpz/comments/89304.htmlhttp://www.aygfsteel.com/jackylpz/archive/2006/12/21/89304.html#Feedback0http://www.aygfsteel.com/jackylpz/comments/commentRss/89304.htmlhttp://www.aygfsteel.com/jackylpz/services/trackbacks/89304.html¾ŸŽå®¹ä½›_“åQï¼èŠÞq²‰å’Œèœ‚èŠÞq²‰
一ã€å¸¸é£Ÿèœ‚蜜å¯ä¿å¥åº·é•¿å¯?
蜂蜜是工蜂采èŠÞpœœåœ¨å°l中酿æˆã€‚æ ¹æ®é‡‡èœœå­£èŠ‚ä¸åŒè€Œæœ‰æ˜¥ã€å¤ã€å†¬èœœä¹‹åˆ†ï¼Œä»¥å†¬èœœè´¨é‡æœ€å¥½ã€‚从野外如树上ã€å²©‹zžç­‰é‡‡å–者称为野蜂蜜åQŒåˆå«çŸ³èœœæˆ–岩蜜åQŒè´¨é‡æœ€å¥½ï¼Œä½†äñ”釿œ‰é™ï¼Œå› è€Œå¸‚é¢ä¸Šè§åˆ°çš„多是äh工养蜂所å–的蜂蜜。蜂蜜对äºÞZ½“å¥åº·çš„å¥½å¤„æ—©å·²äØ“äºÞZ»¬è®¤è¯†ã€‚《神农本è‰ç»ã€‹æŠŠèœœåˆ—为有益于人的上å“åQŒå¤å¸Œè…Šäºø™®¤ä¸ø™œ‚蜜是“天èµçš„½C¼ç‰©â€ï¼Œè€Œå°åº¦çš„《å é™€¾l》则说蜂蜜å¯ç›Šå¯¿å»¶å¹´ã€‚我国æ¢ä»£å医陶弘景说过åQšâ€œé“家之丸,多用蜂蜜åQŒä¿®ä»™ä¹‹äººï¼Œå•食蜂蜜åQŒè°“能长生。â€è¿™¿U说法虽有夸张之嫌,但ä»å……分说明了蜂蜜在è¥å…»åŠåŒ»ç–—上的作用ã€?

è¥å…»åˆ†æžè¡¨æ˜ŽåQŒèœ‚èœœä¸­å«æœ‰å¤§çº¦35åQ…è‘¡è„ç³–åQ?0åQ…æžœ¾p–,˜q™ä¸¤¿U糖都å¯ä»¥ä¸¾l过消化作用而直接被äºÞZ½“æ‰€å¸æ”¶åˆ©ç”¨ã€‚èœ‚èœœè¿˜å«æœ‰ä¸Žäh体血清浓度相˜q‘çš„å¤šç§æ— æœºç›ï¼Œ˜q˜å«æœ‰ä¸€å®šæ•°é‡çš„¾l´ç”Ÿç´ B1ã€B2ã€B6åŠé“ã€é’™ã€é“œã€é”°ã€ç£·ã€é’¾½{‰ã€‚èœ‚èœœä¸­å«æœ‰æ·€¾_‰é…¶ã€è„‚肪酶ã€è{化酶½{‰ï¼Œæ˜¯é£Ÿç‰©ä¸­å«é…¶æœ€å¤šçš„一¿U。酶是帮助äh体消化ã€å¸æ”¶å’Œä¸€¾pÕdˆ—物质代谢åŠåŒ–å­¦å˜åŒ–的促进物。蜂蜜的气味芳香å¯å£åQŒä»Žè¥å…»å’Œä¿å¥ä­h值æ¥çœ‹ï¼Œä¸ä»…是滋补ã€ç›Šå¯¿åšgòq´ä¹‹å“ï¼Œåˆæ˜¯æ²È—…之良è¯ã€?

èœ‚èœœä½œäØ“è¯ç”¨åQŒåœ¨ä¸­å›½å·²æœ‰æ•°åƒòq´çš„历å²åQŒåŠŸæ•ˆè‰¯å¥½ã€‚æ˜Žä»£åŒ»å­¦å®¶æŽæ—¶ç指出:“蜂蜜入è¯ä¹‹åŠŸæœ‰äº”ï¼šæ¸…çƒ­ä¹Ÿï¼›è¡¥ä¸­ä¹Ÿï¼›æ¶¦ç‡¥ä¹Ÿï¼›è§£æ¯’ä¹Ÿï¼›æ­¢ç—›ä¹Ÿã€‚ç”Ÿåˆ™æ€§å‡‰åQŒæ•…能清热。熟则性温åQŒæ•…能补中。甘而和òq»I¼Œæ•…能解毒。柔而濡泽,故能润燥。缓å¯ä»¥åŽÀL€¥ï¼Œæ•…能止心腹肌肉创伤之痛,和å¯ä»¥è‡´ä¸­ï¼Œæ•…能调和百è¯åQŒè€Œä¸Žç”˜è‰åŒåŠŸã€‚â€?

在äÍ床上åQŒèœ‚蜜ä¸ä»…å¯ä»¥æ²»ç–—胃炎,˜q˜å¯ä»¥åœ¨èœ‚蜜中加上æŸäº›è¯ç‰©æ²»ç–—æºƒç–¡ç—…ã€‚å¦‚æ¯æ™¨ç”¨æ¸©å¼€æ°´å†²èœ‚蜜6克,½Iø™…¹æœæˆ–用丹å?5克,木香6克,炙甘è?克,煎æ±å†²èœ‚蜜æœåQŒå¯æ²È–—胃å二指肠溃疡以åŠå„¿Uèƒƒç—›ç—‡ã€‚äØ“ä»€ä¹ˆèœ‚èœœæœ‰æ­¤ç–—æ•ˆå‘¢åQŸåŽŸæ¥èœ‚蜜是一¿U潜在的¼„±æ€§é£Ÿç‰©ï¼Œå®ƒæ‰€å«çš„锰等无机ç›ï¼Œæœ‰ä¿ƒ˜q›é£Ÿç‰©çš„æ¶ˆåŒ–å’ŒåŒåŒ–作用,从而å‡è½»èƒƒè‚ è´Ÿæ‹…而缓解症状ã€?

若用蜂蜜30å…‹ï¼Œç‚’æž£ä»æœ«15克,åˆ?‹Æ¡å†²æœï¼Œæœ‰å¾ˆå¥½çš„å®å¿ƒå®‰ç¥žä½œç”¨åQŒå¯æ²Õd¿ƒæ…Œã€å¤±çœ ã€å¥å¿˜ã€å¤šæ¢¦ã€‚如加入五味å­?克,æŸå­ä»?克,˜q˜å¯ä»¥å¢žå¼ø™®°å¿†åŠ›åQŒæ”¹å–„智能ã€?

如果高血压ã€è‚è„ç—…ã€å¿ƒè„病患者,早晚½Iø™…¹é¥?æ¯èœ‚蜜水åQŒå¯¹ä¸Šè¿°ç–„¡—…凿œ‰ä¸€å®šçš„疗效。若用丹å‚ã€é¦–乌å„15å…‹ï¼Œæ°´ç…Žå–æ±åQŒå†²èœ‚蜜1汤匙内æœåQŒåŠŸæ•ˆæ›´ä½Ÿë€‚ç”¨èœ‚èœœ30克,¾_„¡›3克,加凉开水调匀åQŒæ¯å¤©æ—©æ™šå„æœ?‹Æ¡ï¼Œæœ‰è‰¯å¥½çš„æ¶¦è‚ é€šä¾¿ä½œç”¨åQŒå°¤å…‰™€‚宜于è€å¹´äººã€ä½“å¼Þp€…ã€ç—…åŽæœ‰ä¾¿ç§˜çš„æ‚£è€…ã€?

当有呼å¸é“ç—…å˜ï¼Œå‡ºçŽ°é˜´è™šè‚ºç‡¥åQŒä¹…å’Ïx— ç—°æ—¶åQŒå¯ç”¨æ¬¾å†¬èб10克,癑ֈ15克,玉竹15å…‹ï¼Œç…Žæ°´å–æ±åQŒè°ƒå…¥èœ‚èœ?汤匙饮用。也å¯åœ¨½Iºå¿ƒé›ªæ¢¨ä¸­æ”¾˜q›èœ‚蜜适é‡åQŒé𔿰´ç‚–æœï¼Œå¯æ¶ˆé™¤å› æ°”候干燥引èµïLš„咽喉òq²ç‡¥ã€å‘痒的感觉åQŒåƈ有利于气½Ž¡ä¸­çš„积痰顺利咳出。因此,呼帾pÈ»Ÿç–„¡—…æ²Õd¥½ä¹‹åŽåQŒå¦‚能ç»å¸”R¥®æœèœ‚蜜,ä¸ä½†å¯é˜²æ­¢æ—§ç—…å¤å‘,˜q˜æœ‰å¼ºå£®ä¹‹åŠŸã€?

对于生长期的儿童åQŒèœ‚èœœå¸¸æ˜¯ä»–ä»¬ç´§å–œçˆ±çš„é£Ÿç‰©ï¼Œèœ‚èœœä¸­å«æœ‰é“å’Œå¶é…¸ï¼Œå¸¸åƒå¯ä»¥é¢„防和纠正儿童的贫血ã€?

此外åQŒèœ‚蜜还有润肌白肤的作用åQŒç”±äºŽèœ‚蜜è¥å…ÖM¸°å¯Œè€Œå¤šæ ·åŒ–åQŒåˆæ˜“被äºÞZ½“叿”¶åˆ©ç”¨åQŒå¯¹äºŽçš®è‚¤æœ‰æ»‹æ¶¦ä½œç”¨åQŒå°¤å…¶æ˜¯å†¬å­£æ°”候干燥时åQŒå¤šåƒèœ‚蜜能防止皮肤皲裂。很多高¾U§çš„化妆å“,是由蜂蜜æç‚¼è€Œæˆçš„,å¯è§å®ƒå¯¹çš®è‚¤æœ‰è‰¯å¥½çš„ä¿æŠ¤ä½œç”¨ã€‚å¦‚èƒ½é•¿æœŸå†…æœåŠå¤–敷外涂åQŒæœ‰åŠ©ç¾Žå®¹ï¼Œ˜q˜èƒ½ç›Šå¯¿å»¶å¹´ã€?
二ã€è‡ªåˆ¶èœ‚蜜é¢è†?
蜂蜜黄瓜é¢è†œåQˆç¾Žç™½é™¤çš±ï¼‰
å–鲜黄瓜æ±åР入奶¾_‰ã€èœ‚蜜适é‡åQŒé£Žæ²¹ç²¾æ•°æ»´è°ƒåŒ€åŽæ¶‚é¢ï¼Œ20åQ?0åˆ†é’ŸåŽæ´—净åQŒæˆ–ž®†é»„瓜洗净切薄片直接脓于脸部,å…ähœ‰æ¶¦è‚¤ã€å¢žç™½ã€é™¤çšÞqš„作用ã€?
蜂蜜白芷é¢è†œåQˆåŽ»æ–‘ç¾Žç™½ï¼‰
1ã€å–白芷10克,白附å­?0克,å…Þq ”¾l†æœ«åQŒåŠ æ°´å’Œèœ‚èœœé€‚é‡è°ƒå¥–æ•·é¢åQ?0åˆ†é’ŸåŽæ´—净åQŒæœ‰¼œ›çš±ã€æ¶ˆæ–‘ã€å¢žç™½ä½œç”¨ï¼Œé€‚用于é¢éƒ¨è‰²ç´ æ²‰ç€æˆ–黄è¤å¢žæ–‘患者ã€?
2ã€ææ–™ï¼šç™½èŠ·6克;蛋黄1个;蜂蜜 1大匙åQ›å°é»„瓜æ±?1ž®åŒ™åQ›æ©„榄æÑa3ž®åŒ™ã€?
åšæ³•åQ?
1.先将白芷¾_‰æœ«åQŒè£…在碗中,加入蛋黄æ…å‡åŒ€ã€?
2.å†åŠ å…¥èœ‚èœœå’Œž®é»„瓜æ±åQŒè°ƒåŒ€åŽæ¶‚æŠ¹äºŽè„æ€¸ŠåQŒçº¦äºŒå分钟åŽï¼Œå†ç”¨æ¸…水冲洗òq²å‡€ã€?
3.脸洗净åŽï¼Œç”¨åŒ–å¦†æ£‰æ²‘Ö–Š™„æ¦„æ²¹ï¼Œæ•·äºŽè„æ€¸ŠåQŒçº¦5分钟ã€?
4.ç„¶åŽå†ä»¥çƒ­æ¯›å·¾è¦†ç›–åœ¨è„æ€¸ŠåQŒæ­¤æ—¶åŒ–妆棉ä¸éœ€æ‹¿æŽ‰ã€?
5.½{‰æ¯›å·‘Ö†·å´åŽåQŒå†æŠŠæ¯›å·‘Ö’ŒåŒ–妆‹‚‰å–下,‹z—净脔Rƒ¨å›_¯ã€?
蜂蜜çç ¾_‰é¢è†?
准备一个干净的å°ç“¶å­åQŒå€’入大åŠç“¶çç ç²‰åQŒå†¾~“缓倒入蜂蜜åQŒè¾¹å€’è¾¹æ…æ‹ŒåQŒä‹É蜂蜜和çç ç²‰å……分混åˆåQŒæ³¨æ„蜂蜜ä¸è¦å€’å¾—˜q‡å¤šåQŒè°ƒæˆç³Šçжå³å¯ã€‚这样é¢è†œå°±åšå¥½äº†ã€?
使用å‰ï¼Œå…ˆç”¨æ¸©æ°´æŠŠè„¸‹z—净åQŒç„¶åŽç”¨ž®æ£‰½{¾è˜¸ç€è°ƒå¥½å¾—é¢è†œå‡åŒ€å¾—涂在脸上,ä¸è¦å¤ªåŽšåQŒè–„薄一层å³å¯ï¼Œ˜q?-2ž®æ—¶åŽæ´—掉,å¯ä»¥ä½¿è„¸å…‰æ»‘åQŒæœ‰å…‰æ³½ã€?
¾U¢é…’蜂蜜é¢è†œåQˆç¾Žç™½æ»‹å…»ï¼‰
¾U¢é…’中的葡è„é…’é…¸ž®±æ˜¯æžœé…¸åQŒèƒ½å¤Ÿä¿ƒ˜q›è§’质新城代谢,淡化色素åQŒè®©çš®è‚¤æ›´ç™½çš™å…‰æ»‘ã€‚èœ‚èœœå…·æœ‰ä¿æ¹¿å’Œæ»‹å…»çš„功效ã€?
æ–ÒŽ³•åQšå°†ä¸€ž®æ¯¾U¢é…’åŠ?åˆ?勺å­èœ‚蜜调至‹¹“稠的状æ€åŽåQŒå‡åŒ€çš„æ•·åœ¨è„¸ä¸Šï¼Œå…«åˆ†òq²åŽç”¨æ¸©æ°´æ´—òq²å‡€ã€?
注æ„åQšé…’¾_¾è¿‡æ•的人慎用ï¼

蜂蜜åŒä»é¢è†œåQˆåŽ»æ–‘ï¼‰

冬瓜ä»å†…å«è„‚肪æÑaé…¸ã€ç“œèƒºé…¸½{‰æˆåˆ†ï¼Œæœ‰æÙEæ–‘çš„åŠŸæ•ˆã€‚æ¡ƒä»æœ‰ä¸°å¯Œçš„维他命Eã€ç»´ä»–命B6åQŒä¸ä»…帮助肌肤抗氧化åQŒè¿˜èƒ½å‡ž®‘ç‚÷å¤–çº¿çš„ä¼¤å®Ÿë€‚èœ‚èœœçš„ä¿æ¹¿æ•ˆæžœå’Œæ»‹å…Èš„功效åQŒè®©é¢è†œçš„æ•ˆæžœæ›´å¥½ã€?
æ–ÒŽ³•åQšå°†å†¬ç“œå­ä»ã€æ¡ƒä»æ™’òq²å޼‚¨æˆ¾l†åˆ†åQŒåР入适é‡èœ‚èœœæ··åˆæˆç²˜½E è†çŠÓž¼Œæ¯æ™šç¡å‰æ¶‚在斑点上,½W¬äºŒå¤©æ—©æ™¨æ´—净åQŒæ•·ä¸‰ä¸ªæ˜ŸæœŸåŽï¼Œæ–‘ç‚¹ä¼šé€æ¸å˜æÙEåQŒæ²»ç–—æ—¶è¦æ³¨æ„防晒ã€?

蜂蜜甘æÑaé¢è†œåQˆè¡¥æ°ß_¼‰

蜂蜜一勺,甘æÑa一勺,对两勺水åQŒå……åˆ†æØœåˆï¼ŒåÏxˆé¢è†œè†ï¼Œä½¿ç”¨æ—¶è½»è½ÀL¶‚于脸部和颈部åQŒåÅžæˆè–„膜,20åQ?5分钟åŽå°å¿ƒå°†é¢è†œåŽÀLމå›_¯åQŒè¿™¿Ué¢è†œå¯ç”¨äºŽæ™®é€šã€å¹²ç‡¥æ€§è¡°èŽçš®è‚¤ï¼Œæ¯å‘¨1-2‹Æ¡ï¼Œ30åQ?5天一个疗½E‹ã€?

蜂蜜番茄é¢è†œåQˆç¾Žç™½é™¤çš±ï¼‰

å…ˆå°†ç•ªèŒ„åŽ‹çƒ‚å–æ±åQŒåР入适é‡èœ‚蜜和少讔R¢¾_‰è°ƒæˆè†çŠÓž¼Œæ¶‚于é¢éƒ¨ä¿æŒ20åQ?0分钟åQŒå…·æœ‰ä‹É皮肤滋润ã€ç™½å«©ã€æŸ”软的作用åQŒé•¿æœŸä‹É用还å…ähœ‰¼œ›æ–‘除皱和治疗皮肤痤疮等功能ã€?

蜂蜜柠檬é¢è†œåQˆé˜²æ™’)

生鸡蛋一个,蜂蜜一ž®åŒ™åQŒæŸ æª¬åŠä¸ªï¼Œé¢ç²‰é€‚é‡åQŒæØœåˆåŽæ…拌æˆè†çŠÓž¼Œæ•·é¢åŽå…¥ç¡ï¼Œ½W¬äºŒå¤©ç”¨æ¸©æ°´‹z—å‡€ã€‚åšæŒä‹É用有较显著的防晒作用ã€?

蜂蜜敷é¢

蜂蜜能供¾l™çš®è‚¤å…»åˆ†åÆˆèƒ½ä¿æŒè‚Œè‚¤å¼¹æ€§ï¼Œå› æ­¤ä¹Ÿè¢«¿UîCؓ是“è¥å…ÀL•·é¢â€ã€‚将蜂蜜加在é¢ç²‰æˆ–麦¾_‰ä¹‹ä¸­ï¼Œæ…拌æˆç³ŠçŠÓž¼Œåœ¨æ´—å®Œè„¸åŽæ•·åœ¨è„¸éƒ¨ï¼Œ¾U¦è¿‡30分钟åŽç”¨æ¸©æ°´‹z—掉便å¯ä»¥äº†ã€‚因蜂蜜中有异味åQŒå¯é€‚当加入几滴柠檬æ±ä»¥å‡å°‘味é“ã€?

蜂蜜酸奶é¢è†œ(收敛毛孔)

1ã€èœ‚蜜和酸奶ä»?åQ?çš„æ¯”ä¾‹æ‹Œåœ¨ä¸€èµøP¼Œæ¶‚åœ¨è„æ€¸ŠåQ?5分钟åŽç”¨æ¸…æ°´‹z—去å›_¯åQŒæ­¤‹ÆùN¢è†œæ˜¯æ”¶æ•›æ¯›å­”çš„ã€?

2ã€é…¸ç‰›å¥¶ã€èœ‚èœœã€æŸ æª¬æ±å?00毫克åQŒåŠ 5¾_’维生素E调匀åQŒæ•·é¢åƈä¿ç•™15分钟,ç„¶åŽç”¨æ¸…水洗净。此法å¯ä¿ƒè¿›çš®è¡¨ä¸Šçš„æ­È»†èƒžè„±è½ï¼Œæ–°ç»†èƒžå†ç”Ÿï¼Œä»Žè€Œè¾¾åˆ°å¥¾ŸŽçš®è‚¤çš„目的ã€?

三ã€èœ‚蜜洗é¢ç¾Žå®Ò޳•

å–æ–°é²œã€çº¯å‡€ã€æµ…è‰ŒÓ€ä¸æ˜“结晶的优质天然蜂蜜åQŒè£…å…¥å°å£ç¾Žå®¹ç”¨çŽÈ’ƒå®¹å™¨å†…(炎热å¤å­£™åÀL”¾¾|®å†°½ŽÞp´®è—室内)ã€?

æ¯æ¬¡‹z—脸æ—Óž¼Œå…ˆç”¨æ¸©æ°´æ¸…æ´—é¢ï¼Œç„¶åŽå€’出适é‡èœ‚蜜于手掌心åQŒåŒæŽŒå¯¹æ“(如果感觉太稠åQŒå¯ç”¨æŒ‡ž®–蘸å–少釿°´æ··åˆå‡åŒ€åQ‰ï¼Œç„¶åŽåŒæ‰‹åœ¨é¢éƒ¨å‘上å‘外打圈按摩,é‡ç‚¹åœ¨ä¸‹˜q°å‡ ä¸ªéƒ¨ä½ç»†è‡´æŒ‰æ‘©ï¼šçœÆD§’鱼尾¾U¹å¤„åQŒç”¨åŒæ‰‹æŒ‡è‚šä½œçŽ¯çŠ¶æŒ‰æ‘©ï¼›é¢éƒ¨æŠ¬å¤´¾U¹ä½œåž‚直按摩åQ›éËE冀两侧环状按摩åQŒéËEæ¢è¾¹¾~˜ä½œä¸Šä¸‹æŒ‰æ‘©åQ›é¢ˆ™åšwƒ¨ä½ç”±ä¸‹è€Œä¸ŠæŒ‰æ‘©åQ›è€Ïxœµä¸¤ä¾§ä¸Šä¸‹æŒ‰æ‘©åQ›å£éƒ¨å››å‘¨ä½œå…«å­—或倒八字按摩。按摩完毕,用温水清‹z—干净åQŒæ¶‚æ½è¥å…ÀLŠ¤è‚¤å“ã€?

蜂蜜‹z—é¢ä¸ä»…½Ž€å•方便,而且¾ŸŽå®¹æ•ˆæžœå分显著åQŒåšæŒ?周以上就能明显感觉到é¢éƒ¨‹z白¾l†è…»åQŒè‡ªç„¶çº¢æ¶¦ï¼Œå¯Œæœ‰å…‰æ³½åQŒçš±¾U¹å‡ž®‘。ä‹É用åŽè‚Œè‚¤æ— ç´§¾läh„ŸåQŒèˆ’适自ç„Óž¼Œé•¿æœŸä½¿ç”¨åQŒæ•ˆæžœå°¤å…¶æ˜Žæ˜¾ã€‚蜂蜜洗é¢è¿˜å¯¹çš®è‚¤è¿‡æ•ã€çš®è‚¤å¹²ç‡¥å…·æœ‰é˜²æ²ÀL•ˆæžœã€‚åŒæ—Óž¼Œæ¯å¤©æ—©æ™šå†…æœçŽ‹æµ†èœœï¼Œæ•ˆæžœæ›´å¥½ã€?

å››ã€èœ‚蜜å‡è‚¥æ³•

蜂蜜是一¿U天然的è¥å…»å‰‚,它包å«å¯ä»¥ç‡ƒçƒ§äh体能é‡çš„良质¾p–分ã€ç»´ç”Ÿç´ ä»¥åŠçŸ¿ç‰©è´¨ç­‰ã€‚在一日三˜¡ä¸­åQŒåªè¦åŠ å…¥ä¸€ç‚¹èœ‚èœœï¼Œž®±å¯ä»¥é¿å…脂肪在äºÞZ½“中积èšä¸‹æ¥ã€?

蜂蜜å…ähœ‰ä¼˜è‰¯çš„æ€èŒæ•ˆæžœä¸Žè§£æ¯’效果åQŒå®ƒæœ‰åŠ©äºŽæŠŠä½“å†…¿U¯èšä¸‹çš„废物排出体外åQŒè®©å…¨èín的新陈代谢功能得到改善,使得那些ç”׃ºŽä¸èƒ½å¾ˆå¥½åœ°æ¶ˆè€—而在体内¿U¯èšä¸‹æ¥çš„å¤šä½™è„‚è‚ªä½œä¸ø™ƒ½é‡è€Œå¾—到燃烧。蜂蜜的¾p–分如能从胃˜qé€åˆ°è¡€æ¶²ä¸­åQŒå°±ä¼šå˜æˆèƒ½é‡ï¼Œå¾ˆå¿«åœ°æ¶ˆé™¤ç–²åŠŸë€‚ç”±äºŽè¡€¾p–å€ég¸Šå‡ï¼Œ½Iø™…¹æ„Ÿä¹Ÿæ¶ˆå¤±äº†ã€?

Aã€èœ‚蜜加白醋å‡è‚¥æ³•:

在日帔R¥®é£Ÿè§„律ä¸å˜çš„æƒ…况下,ž®†èœ‚蜜和白醋ä»?åQ?的比例食用,具体æ–ÒŽ³•如下åQ?
1ã€æ—©˜¡å‰20分钟½Iø™…¹å–?
2ã€ä¸­˜¡å’Œæ™šé¤åŽç«‹åˆÕd–
注æ„åQšæŒ‘é€‰ç™½é†‹æ—¶è¦é€‰æ‹©¾l大¾cŸë€é«˜æ¢ã€é»„豆等加工而æˆçš„,ž®½é‡é¿å…嫿œ‰åŒ–å­¦å“çš„åQŒåŒæ—¶å¾è®®ä¸è¦ä‹Éç”¨æžœé†‹ï¼Œå› äØ“æžœé†‹æ˜¯ä¿å¥é†‹åQŒç›¸å¯¹äºŽå‡è‚¥ž®±é€Šè‰²äº›ã€‚蜂蜜和白醋的比例å¯ä»¥æ ¹æ®ä¸ªäººéœ€è¦è°ƒæ•´ã€?

Bã€æ—©é¥­ä»¥å‰å¯ä»¥åœ¨å–水时加入蜂蜜,åˆé¥­ä¸Žæ™šé¥­æ—¶åˆ™åƒž®‘é‡çš„粥。一般äh在åƒèœ‚蜜两天åŽå°±æ„Ÿè§‰åˆ°èín体轻æ¾ï¼Œå¿ƒæƒ…愉快。五天以åŽå¯ä»¥åƒé¢æ¡¾cÕd®¹æ˜“消化的东西åQŒç„¶åŽæ…¢æ…¢æ¢å¤åŽŸæ¥çš„饮食ã€?蜂蜜å¯ä»¥æ¶ˆé™¤ä½“内垃圾åQŒä‹ÉäºÞZ½“æ¢å¤åŽŸæ¥çš„æ–°é™ˆä»£è°¢åŠŸèƒ½ã€?

五ã€èœ‚蜜的其它¾ŸŽå®¹ç”¨æ³•

1 ã€ç”¨èœ‚蜜作è¥å…ÀL•·é¢å‰‚

把蜂蜜加在颾_‰ä¸­åQŒæ‹Œæˆç³ŠçŠÓž¼Œ‹z—脸时敷于脸部,30分钟åŽç”¨æ¸©å¼€æ°´æ´—净。蜂蜜对于皮肤没有刺‹È€æ€§ï¼Œç”¨äºŽä¿å…»çš®è‚¤å分有效ã€?

2ã€èœ‚蜜å¯ä»¥æ¶ˆé™¤ç²‰åˆ?

把脸‹z—净åŽï¼Œç”¨æ£‰½{¾è˜¸ž®‘é‡èœ‚蜜åQŒç›´æŽ¥æ¶‚在粉åˆÞZ¸Šã€‚在ž®±å¯å‰ä‹É用,éžå¸¸æœ‰æ•ˆã€?
èœ‚èœœä¸­å«æœ‰å¤§é‡çš„¾l´ç”Ÿç´ ã€æ°}基酸åŠå¤š¿U活性物质,å¯è°ƒèŠ‚å†…åˆ†æ³Œã€æŠ‘åˆ¶çš®è„‚è…º˜q‡å¤šåˆ†æ³Œè„‚肪åQŒæ”¹å–„脂肪酸代谢òq¶æ”¹å–„血液åó@环ã€å¢žå¼ºæ¯›¾l†è¡€½Ž¡åŠŸèƒ½ï¼Œä¿ƒè¿›è¡€æ¶²å°†è¥å…»˜qé€åˆ°çš®è‚¤å±‚,而且蜂蜜˜q˜æœ‰å¾ˆå¥½çš„æŠ‘èŒæ€èŒä½œç”¨ï¼Œèƒ½æœ‰æ•ˆçš„æŠ‘制和æ€ç­æ¯›å›Šä¸­çš„细èŒã€‚因此,蜂蜜ä¸ä½†ä¸ä¼šä¿ƒé•¿é’春痘,相å˜q˜èƒ½é˜²æ²»é’春痘,使皮肤å˜çš„光滑柔润ã€?

3ã€ç”¨èœ‚蜜制作冰æÊ޾_?
é¦™çš‚å«æœ‰¼„±æ€§ï¼Œä¼šæ´—åŽÈš®è‚¤è„‚肪,加一点蜂蜜就å¯ä»¥è¡¥æ•‘ã€?

4ã€ç”¨èœ‚蜜按摩íw«ä½“

蜂蜜的粘性å¯ä»¥é˜²æ­¢çš®è‚¤æ°´åˆ†è’¸å‘。日晒而脱皮的åŽé¢ˆã€èƒŒéƒ¨ã€é¢å¤´ç­‰å¤„,涂上蜂蜜轻轻按摩åQŒç«‹åŒ™ƒ½æ”¹å–„ã€‚èœ‚èœœä¸­åŠ å…¥Š™„榄æ²ÒŽˆ–å©´æÑaåQŒåœ¨é¢éƒ¨è½»è½»æŒ‰æ‘©åQŒèœ‚蜜便能渗入皮肤内。ä¸çŸ¥ä¸è§‰é—´ç”׃ºŽèœ‚蜜的滋å…ÖM¸ä½†ä¼šç”Þq²—¾p™å˜å¾—细嫩,而且˜q˜ä¼šå……满光泽ã€?

5ã€æÊŽå‰æ¶¦è‚?

æ²æÊŽå‰ç”¨èœ‚蜜ä¿å…»ã€‚åœ¨æ²æÊŽä¹‹å‰åQŒç”¨èœ‚蜜涂全íw«ï¼Œž®¤å…¶æ˜¯è„šåº•ã€è†ç›–。手肘等部ä½è¦å¤šä¸€ç‚V€?0分钟åŽï¼Œ˜q›å…¥‹¹´çŽ×‹¹¸æˆöåQŒç„¶åŽå†ç”¨é¦™çš‚æˆ–æ²æÊŽéœ²æ´—ä¸€é,‹z—完澡åŽåQŒä¼šè§‰å¾—å…¨èín滑腻如å‡è„‚ã€?

6ã€èœ‚蜜美å‘ç´ 

ç”¨ä¸€å‹ø™œ‚èœœä¸ŽåŠæ¯ç‰›å¥¶æ··åˆåœ¨ä¸€èµøP¼Œ‹z—完头åŽç”¨è¿™¿UæØœåˆæ¶²åœ¨å¤´ä¸ŠæŒ‰æ‘©ï¼Œ˜q?5åˆ†é’ŸåŽæ´—净åQŒå¤´å‘会å˜å¾—光滑ã€?

7ã€èœ‚蜜美å®Ò޶²

Aã€å–蜂蜜åŠ?倿°´½E€é‡ŠåŽæ¯å¤©æ¶‚æ•·é¢éƒ¨åQŒç„¶åŽç”¨æ‰‹è½»è½ÀLŒ‰æ‘©ï¼Œå¯ä‹É皮肤光派l†å«©åQŒå‡ž®‘çš±¾U¹ï¼Œä¿æŒè‡ªç„¶¾U¢æ¶¦åQŒè¿˜èƒ½é˜²æ­¢æ–°çš„çš±¾U¹å‡ºçްã€?

Bã€èœ‚èœ?0克,一个鸡蛋清åQŒæ…æ‹ŒåŽæ”„¡“¶ä¸­å¯†ž®å¤‡ç”¨ï¼Œå¯ä‹É用一周左åŸë€‚å¤å­£æ”¾åœ¨å†°½Ž±å†…ä¿å­˜åQŒç”¨æ—¶å€’少许在手掌中,å‡åŒ€æ¶‚于é¢éƒ¨åQŒä¿ç•™åŠž®æ—¶æ¸…æ°´‹z—净åQŒèƒ½ç´§ç¾ƒé¢éƒ¨çš®è‚¤åQŒæ¶ˆé™¤çš±¾U¹ï¼Œå¢žåŠ è¥å…»åQŒæ´å‡€ã€å¢žç™½çš®è‚¤ã€‚早晚å„一‹Æ¡ï¼ŒæŒç®‹ä¸€ä¸ªæœˆåŽï¼Œé¢éƒ¨çš®è‚¤å…‰æ»‘ã€ç»†è……R€ç™½å‡€ã€é•¿æœŸä‹É用效果更佟ë€?

8ã€è‡ªåˆ¶èœ‚蜜é¢éœ?

Aã€å°†è‹ÒŽžœç…®ç†ŸåQŒæ£çƒ‚,加入蜂蜜与äã^è„‚ï¼Œåˆ¶æˆæ¶¦è‚¤é¢è†œè†æ•·é¢ï¼Œé•¿æœŸä½¿ç”¨å¯ä×o肤æ´å¦‚玉ã€?

Bã€èœ‚èœ?0克,柠檬æ±ä¸€æ±¤åŒ™åQŒç”œæä»åŠæ±¤åŒ™ï¼Œè›‹æ¸…两个åQŒæ·€¾_‰é€‚é‡åQŒåˆ¶æˆèÊYè†ï¼Œæ—©æ™šæ“¦ç”¨åQŒå¯æ»‹æ¶¦çš®è‚¤åQŒå¢žåŠ å¼¹æ€§ã€?

å…­ã€èœ‚蜜疗法治感冒

æˆ‘ä»¬ä¿—ç§°çš„â€œä¼¤é£Žâ€æˆ–“感冒â€ï¼Œ¾pÀLŒ‡é¼…R€å’½ã€å–‰éƒ¨çš„æ„ŸæŸ“(上呼å”R“感染)åQŒæ˜¯æœ€å¸¸è§çš„呼å”R“感染性疾病,因病原体ä¸åŒè€Œåˆ†ä¸ºç—…毒性和¾l†èŒæ€§ä¸¤å¤§ç±»ã€‚病毒性å ä¸Šæ„Ÿå‘ç—…çš?0%以上åQŒä¸€èˆ¬é€šè¿‡å«æœ‰ç—…毒的飞沫或¾l污染的用具˜q›è¡Œä¼ æ’­åQ›ç»†èŒæ€§æ„ŸæŸ“å¯ç›´æŽ¥æ„ŸæŸ“或ç‘ôå‘于病毒感染之åŽåQŒä»¥æº¶è¡€æ€§é“¾çƒèŒä¸ºæœ€å¸¸è§ã€‚äÍ床以å‘çƒ­ã€æ¶å¯’ã€å¤´ç—›ã€éËEå¡žã€æµæ¶•ã€å’³å—½ã€å’½ç—›ã€å£°å˜¶ç­‰ä¸ºåŸºæœ¬ç‰¹å¾ã€‚å…¶æ²È–—æ–šw’ˆæ˜¯åº”˜q…速å‡è½È—…情ã€ç¾ƒçŸ­ç—…½E‹ã€é¢„防åˆòq¶ç—‡ã€‚蜂产å“åŠå…¶é…æ–¹å¯ÒŽ­¤æœ‰è‰¯å¥½çš„预防作用ã€?

1ã€èœœå§œæ„Ÿå†’饮

é…æ–¹åQšèœ‚蜜ã€å§œæ±å„适é‡ã€?
用法åQšå°†èœ‚蜜ã€å§œæ±æŒ‰1âˆ?的比例é…刉™¥®ç”¨ã€?

ä¸ÀL²»åQšæ™®é€šæ„Ÿå†’ã€?

2ã€æŸ æª¬èœœèŒ?

é…æ–¹åQšèœ‚èœ?00克,柠檬1个ã€?
用法åQšå°†æŸ æª¬æ¦¨æ±åQŒæº¶è§£åœ¨800æ¯«å‡æ²¸æ°´ä¸­ï¼Œä¸?00å…‹èœ‚èœœæØœåˆï¼Œä½œäØ“1天的用é‡ã€?

ä¸ÀL²»åQšæµè¡Œæ€§æ„Ÿå†’或普通型感冒ã€?

3ã€é²œèœœçº¢èŒ?

é…æ–¹åQšèœ‚èœ?0克,¾U¢èŒ¶è‹¥å¹²ã€?
用法åQšèœ‚èœ?0克冲‹¹“红茉™¥®ç”¨ã€?

ä¸ÀL²»åQšæµè¡Œæ€§æ„Ÿå†’或普通型感冒ã€?

4ã€è’œèœœé¥®

é…æ–¹åQšèœ‚蜜ã€å¤§è’œå„适é‡ã€?
用法åQšå°†å¤§è’œå‰¥çš®ã€æ´—净ã€ç£¨¼„Žï¼ŒåŠ ç­‰é‡èœ‚èœœæØœåŒ€åQ›æ—¥æœ?‹Æ¡ï¼Œæ¯æ¬¡1匙蒜蜜,用温开水冲æœã€?

ä¸ÀL²»åQšæµè¡Œæ€§æ„Ÿå†’ã€?

5ã€ç™½èŠèœœèƒ¶èŒ¶

é…æ–¹åQšèœ‚蜜ã€èœ‚胶水溶液(当地蜂äñ”å“å…¬å¸è´­ä¹?å„适é‡åQŒæ­ç™½èŠ1å…‹ã€?
用法åQ𿲏æ°?æ¯å†²æ³¡æ­ç™½èŠåQŒå¾…水温é™è‡³40℃时兑入蜂蜜15å…‹ã€èœ‚胶水溶液5~10æ»´æØœåˆåŽä»£èŒ¶é¥®ã€?

ä¸ÀL²»åQšä¸»æ²ÀL„Ÿå†’ã€?

6ã€èœœå¥¶æ„Ÿå†’茶

é…æ–¹åQšèœ‚èœ?5克,牛奶1æ¯ã€?
用法åQšå°†é²œç‰›å¥¶ç…®æ²¸ï¼Œå¾…温度é™è‡?0℃时加入蜂蜜饮之åQŒæ—¥æœ?‹Æ¡ã€?

ä¸ÀL²»åQšæ„Ÿå†’ã€?

7ã€é’©è—¤èœœèŒ?

é…æ–¹åQšèœ‚蜜ã€é’©è—¤å„15克,¾l¿èŒ¶1å…‹ã€?
用法åQšé’©è—¤åŠ æ°?00毫å‡åQŒç…®æ²?分钟åQŒåŽ»æ¸£ï¼ŒåŠ å…¥èœ‚èœœä¸Žç»¿èŒÓž¼›æ—¥æœ1剂,åˆ?‹Æ¡æ¸©æœã€?

ä¸ÀL²»åQšæµè¡Œæ€§æ„Ÿå†’ã€?

说明åQšæµè¡Œæ€§æ„Ÿå†’由病毒引è“våQŒè¡¨çŽîCØ“é¼Õd¡žã€å–·åšã€å’½ç—›ã€å£°å˜¶ã€å’³å—½ã€å‘烧ã€å¤´ç—›ã€èín痛,外周血白细胞凞®‘ç­‰åQŒåƈ有æµè¡Œè¶‹åŠÑ€?
普通感冒å³â€œä¼¤é£Žâ€ï¼Œå¤šç”±ç—…毒引è“våQŒå…¨íw«è¡¨çŽ°è¾ƒ‹¹è¡Œæ€§æ„Ÿå†’轻微,如头痛ã€ç‰™ç—›ã€å‘热等ã€?

七ã€èœ‚蜜加牛奶¾~“解消除痛ç»

æ¯æ™šç¡å‰å–一æ¯åР䏀勸™œ‚蜜的热牛å¥Óž¼Œå›_¯¾~“解甚至消除痛ç»ä¹‹è‹¦ã€‚由于牛奶å«é’‘Ö¤šåQŒè€Œèœ‚èœœå«æœ‰ä¸°å¯Œçš„é•。而研½I¶è¡¨æ˜Žï¼Œé’‘Ö¯¹¼œžç»å†²åŠ¨çš„ä¼ å¯¹{€è¡€æ¶²çš„å‡å›º˜q‡ç¨‹éƒ½è“vé‡è¦çš„作用,它能¾~“和情çÈAã€æŠ‘åˆ¶ç–¼ç—›ã€é˜²æ­¢æ„ŸæŸ“åŠå‡å°‘¾l期å¤Þp¡€é‡ï¼›é•对大脑中枢¼œžç»å…ähœ‰é•‡é™ä½œç”¨åQŒèƒ½è°ƒèŠ‚å¿ƒç†åQŒæ¶ˆé™¤ç´§å¼ å¿ƒç†ï¼Œå‡è½»åŽ‹åŠ›ã€?

˜q™é‡Œå†å¤šè¯´ä¸€ç‚¹ï¼š
å¦ä¸€ä¸ªå¯¹ä»˜ç—›¾l的对策是æœç”¨ç»´ç”Ÿç´ ¾c»è¯ç‰©ã€‚Bæ—维生素åQŒç‰¹åˆ«æ˜¯B6对ç»å‰ç´§å¼ ç—‡æœ‰æ˜¾è‘—疗效,它能½E›_®šæƒ…çÈAåQŒå¸®åŠ©ç¡çœ ï¼Œä½¿äh¾_‘ÖŠ›å……æ²›åQŒåƈ能å‡è½»è…¹éƒ¨ç–¼ç—›ã€‚é¦™è•‰ä¸­å«æœ‰è¾ƒå¤šçš„Bæ—维生素åQŒç—›¾lçš„JMä¸å¦¨å¤šåƒä¸€äº›ï¼Œè¯•试看有没有效果ã€?br />

中国å大蜂蜜榜中æ¦?1 汪æ°èœœèœ‚å›?中国驰å商标,江西çœå牌äñ”å“? 2 冠生å›?(中国驰å商标,国家特大型集å›? 3 百花ç‰?全国蜂äñ”å“龙头ä¼ä¸šï¼ŒåŒ—京å牌) 4 è€èœ‚å†?全国知å蜂蜜å“牌) 5 åšå£«ç‰?全国知å蜂蜜å“牌) 6 蜂之è¯?全国知å蜂蜜å“牌) 7 é¢å›­ç‰?全国知å蜂蜜å“牌) 8 è€å±±ç‰?全国知å蜂蜜å“牌) 9 天éªèŠÞq‰Œ(全国知å蜂蜜å“牌) 10 天新蜂äñ”å“?img src ="http://www.aygfsteel.com/jackylpz/aggbug/89304.html" width = "1" height = "1" />

˜q‡å¹´ 2006-12-21 16:12 å‘表评论
]]>
使用 Spring 更好地处ç?Struts 动作http://www.aygfsteel.com/jackylpz/archive/2006/04/16/41354.html˜q‡å¹´˜q‡å¹´Sun, 16 Apr 2006 10:24:00 GMThttp://www.aygfsteel.com/jackylpz/archive/2006/04/16/41354.htmlhttp://www.aygfsteel.com/jackylpz/comments/41354.htmlhttp://www.aygfsteel.com/jackylpz/archive/2006/04/16/41354.html#Feedback0http://www.aygfsteel.com/jackylpz/comments/commentRss/41354.htmlhttp://www.aygfsteel.com/jackylpz/services/trackbacks/41354.html使用 Spring æ›´å¥½åœ°å¤„ç?nbsp;Struts åŠ¨ä½œ
ä¸‰ç§æ•´åˆ Struts åº”用½E‹åºä¸?nbsp;Spring çš„æ–¹å¼?/u>
 
¾U§åˆ«: ä¸­çñ”

George Franciscus , è´Ÿè´£äº? Nexcel

2005 òq?nbsp;11 æœ?nbsp;03 æ—?br />
   Struts Recipes çš„åˆè‘—è€?nbsp;George Franciscus ž®†ä»‹¾lå¦ä¸€ä¸ªé‡å¤§çš„ Struts æ•´åˆ½Hé—¨ ?? ˜q™æ¬¡æ˜¯å°† Struts åº”用½E‹åºå¯¼å…¥ Spring æ¡†æž¶ã€‚请跟隠GeorgeåQŒä»–ž®†å‘您展½Cºå¦‚何改å?nbsp;Struts åŠ¨ä½œåQŒä‹É得管ç?nbsp;Struts åŠ¨ä½œž®±åƒ½Ž¡ç† Spring beans é‚£æ ·ã€‚结果是一个增强的 web æ¡†æž¶åQŒè¿™ä¸ªæ¡†æž¶å¯ä»¥æ–¹ä¾¿åœ°åˆ©ç”¨ Spring AOP çš„优åŠÑ€?br />您肯定已¾lå¬è¯´è¿‡æŽ§åˆ¶åè{ (IOC) è®¾è®¡æ¨¡å¼åQŒå› ä¸ºå¾ˆé•¿ä¸€ŒD‰|—¶é—´ä»¥æ¥ä¸€ç›´åœ¨‹¹ä¼ å…³äºŽå®ƒçš„ä¿¡æ¯ã€‚如果您在ä“Q何功能中使用˜q?nbsp;Spring æ¡†æž¶åQŒé‚£ä¹ˆæ‚¨ž®ÞqŸ¥é“其原ç†çš„ä½œç”¨ã€‚åœ¨æœ¬æ–‡ä¸­ï¼Œæˆ‘åˆ©ç”¨è¿™ä¸€åŽŸç†æŠŠä¸€ä¸?nbsp;Struts åº”用½E‹åºæ³¨å…¥ Spring æ¡†æž¶åQŒæ‚¨ž®†äº²íw«ä½“会到 IOC æ¨¡å¼çš„强大ã€?br />
   ž®†ä¸€ä¸?nbsp;Struts åº”用½E‹åºæ•´åˆ˜q?nbsp;Spring æ¡†æž¶å…ähœ‰å¤šæ–¹é¢çš„优点。首先,Spring æ˜¯äؓ解决一些关äº?nbsp;JEE çš„真实世界问题而设计的åQŒæ¯”如夿‚性ã€ä½Žæ€§èƒ½å’Œå¯‹¹‹è¯•性,½{‰ç­‰ã€‚第二,Spring æ¡†æž¶åŒ…å«ä¸€ä¸?nbsp;AOP å®žçްåQŒå…许您ž®†é¢å‘æ–¹é¢æŠ€æœ¯åº”ç”¨äºŽé¢å‘对象的代ç ã€‚第三,一些ähå¯èƒ½ä¼šè¯´ Spring æ¡†æž¶åªæœ‰å¤„熠Struts æ¯?nbsp;Struts å¤„ç†è‡ªå·±å¥½ã€‚但是这是观炚w—®é¢˜ï¼Œæˆ‘æ¼”½CÞZ¸‰¿Uå°† Struts åº”用½E‹åºæ•´åˆåˆ?nbsp;Spring æ¡†æž¶çš„æ–¹æ³•åŽåQŒå…·ä½“由您自己决定ä‹É用哪一¿Uã€?br />
   æˆ‘所演示的方法都是执行è“væ¥ç›¸å¯¹ç®€å•çš„åQŒä½†æ˜¯å®ƒä»¬å´å…ähœ‰æ˜Žæ˜¾ä¸åŒçš„优ç‚V€‚我为æ¯ä¸€¿U方法创å»ÞZº†ä¸€ä¸ªç‹¬ç«‹è€Œå¯ç”¨çš„例å­åQŒè¿™æ äh‚¨ž®±å¯ä»¥å®Œå…¨ç†è§£æ¯¿U方法。请å‚阅 ä¸‹è² éƒ¨åˆ†èŽ·å¾—å®Œæ•´ä¾‹å­æºä»£ç ã€‚请å‚阅 å‚考资料,下負Struts MVC å’?nbsp;Spring æ¡†æž¶ã€?br />

ä¸ÞZ»€ä¹?nbsp;Spring ˜q™ä¹ˆäº†ä¸èµøP¼Ÿ



   Spring çš„创立è€?nbsp;Rod Johnson ä»¥ä¸€¿U批判的眼光看待 Java™ ä¼ä¸šè½¯äšgå¼€å‘,òq¶ä¸”æè®®å¾ˆå¤šä¼ä¸šéšùN¢˜éƒ½èƒ½å¤Ÿé€šè¿‡æˆ˜ç•¥åœîC‹Éç”?nbsp;IOC æ¨¡å¼åQˆä¹Ÿ¿UîC½œä¾èµ–注入åQ‰æ¥è§£å†³ã€‚当 Rod å’Œä¸€ä¸ªå…·æœ‰å¥‰çŒ®ç²¾¼œžçš„开放æºç å¼€å‘者团队将˜q™ä¸ªç†è®ºåº”用于实跉|—¶åQŒç»“果就产生äº?nbsp;Spring æ¡†æž¶ã€‚简­a€ä¹‹ï¼ŒSpring æ˜¯ä¸€ä¸ªè½»åž‹çš„容器åQŒåˆ©ç”¨å®ƒå¯ä»¥ä½¿ç”¨ä¸€ä¸ªå¤–éƒ?nbsp;XML é…置文äšg方便地将对象˜qžæŽ¥åœ¨ä¸€èµ—÷€‚æ¯ä¸ªå¯¹è±¡éƒ½å¯ä»¥é€šè¿‡æ˜„¡¤ºä¸€ä¸?nbsp;JavaBean å±žæ€§æ”¶åˆîC¸€ä¸ªåˆ°ä¾èµ–对象的引用,留给您的½Ž€å•ä“QåŠ¡å°±åªæ˜¯åœ¨ä¸€ä¸?nbsp;XML é…置文äšg中把它们˜qžæŽ¥å¥½ã€?br />
 
IOC å’?nbsp;Spring


   IOC æ˜¯ä¸€¿Uä‹É应用½E‹åºé€»è¾‘外在化的设计模å¼åQŒæ‰€ä»¥å®ƒæ˜¯è¢«æ³¨å…¥è€Œä¸æ˜¯è¢«å†™å…¥å®¢æˆ·æœÞZ»£ç ä¸­ã€‚å°† IOC ä¸ŽæŽ¥å£ç¼–½E‹åº”用结åˆï¼Œž®±åƒ Spring æ¡†æž¶é‚£æ ·åQŒäñ”生了一¿U架构,˜q™ç§æž¶æž„能够å‡å°‘客户机对特定实现逻辑的ä¾èµ–。请å‚阅 å‚考资æ–?nbsp;了解更多关于 IOC å’?nbsp;Spring çš„ä¿¡æ¯ã€?br /> 
   ä¾èµ–注入是一个强大的ç‰ÒŽ€§ï¼Œä½†æ˜¯ Spring æ¡†æž¶èƒ½å¤Ÿæä¾›æ›´å¤šç‰ÒŽ€§ã€‚Spring æ”¯æŒå¯æ’拔的事务½Ž¡ç†å™¨ï¼Œå¯ä»¥¾l™æ‚¨çš„äº‹åŠ¡å¤„ç†æä¾›æ›´òq¿æ³›çš„选择范围。它集æˆäº†é¢†å…ˆçš„æŒä¹…æ€§æ¡†æžÓž¼Œòq¶ä¸”æä¾›ä¸€ä¸ªä¸€è‡´çš„异常层次¾l“构。Spring ˜q˜æä¾›äº†ä¸€¿Uä‹É用é¢å‘æ–¹é¢ä»£ç ä»£æ›¿æ­£å¸¸çš„é¢å‘对象代ç çš„ç®€å•æœºåˆ¶ã€?br />
   Spring AOP å…许您ä‹É用拦截器 åœ¨ä¸€ä¸ªæˆ–多个执行点上拦截应用½E‹åºé€»è¾‘。加强应用程åºåœ¨æ‹¦æˆªå™¨ä¸­çš„æ—¥å¿—记录逻辑会äñ”生一个更å¯è¯»çš„ã€å®žç”¨çš„代ç åŸºç¡€åQŒæ‰€ä»¥æ‹¦æˆªå™¨òq¿æ³›ç”¨äºŽæ—¥å¿—记录。您很快ž®×ƒ¼šçœ‹åˆ°åQŒäØ“äº†å¤„ç†æ¨ªåˆ‡å…³æ³¨ç‚¹åQŒSpring AOP å‘布了它自己的拦截器åQŒæ‚¨ä¹Ÿå¯ä»¥ç¼–写您自己的拦截器ã€?br />

整删Struts å’?nbsp;Spring



   ä¸?nbsp;Struts ç›æ€¼¼åQŒSpring å¯ä»¥ä½œäؓ一ä¸?nbsp;MVC å®žçŽ°ã€‚è¿™ä¸¤ç§æ¡†æž¶éƒ½å…·æœ‰è‡ªå·Þqš„优点和缺点,ž®½ç®¡å¤§éƒ¨åˆ†ähåŒæ„ Struts åœ?nbsp;MVC æ–šw¢ä»ç„¶æ˜¯æœ€å¥½çš„。很多开å‘团队已¾l学会在旉™—´ç´§è¿«çš„æ—¶å€™åˆ©ç”?nbsp;Struts ä½œäؓ构造高å“质软äšg的基¼‹€ã€‚Struts å…ähœ‰å¦‚此大的推动力,以至于开å‘å›¢é˜Ÿå®æ„¿æ•´å?nbsp;Spring æ¡†æž¶çš„ç‰¹æ€§ï¼Œè€Œä¸æ„¿æ„è½¬æ¢æˆ?nbsp;Spring MVC。没必覘q›è¡Œè½¬æ¢å¯ÒŽ‚¨æ¥è¯´æ˜¯ä¸€ä¸ªå¥½æ¶ˆæ¯ã€‚Spring æž¶æž„å…许您将 Struts ä½œäØ“ Web æ¡†æž¶˜qžæŽ¥åˆ°åŸºäº?nbsp;Spring çš„业务和æŒä¹…层。最åŽçš„¾l“æžœž®±æ˜¯çŽ°åœ¨ä¸€åˆ‡æ¡ä»‰™ƒ½å…·å¤‡äº†ã€?br />
   åœ¨æŽ¥ä¸‹æ¥çš„å°½H门中,您将会了解到三秞®?nbsp;Struts MVC æ•´åˆåˆ?nbsp;Spring æ¡†æž¶çš„æ–¹æ³•。我ž®†æ­½Cºæ¯¿U方法的¾~ºé™·òq¶ä¸”å¯Òޝ”它们的优ç‚V€?nbsp;一旦您了解到所有三¿U方法的作用åQŒæˆ‘ž®†ä¼šå‘您展示一个ä×o人兴奋的应用½E‹åºåQŒè¿™ä¸ªç¨‹åºä‹Éç”¨çš„æ˜¯è¿™ä¸‰ç§æ–ÒŽ³•中我最喜欢的一¿Uã€?br />

三个ž®çªé—?/h4>

   æŽ¥ä¸‹æ¥çš„æ¯ç§æ•´åˆæŠ€æœ¯ï¼ˆæˆ–者çªé—¨ï¼‰éƒ½æœ‰è‡ªå·±çš„优点和特点。我å爱其中的一¿U,但是我知é“这三ç§éƒ½èƒ½å¤ŸåŠ æ·±æ‚¨å¯?nbsp;Struts å’?nbsp;Spring çš„ç†è§£ã€‚在处ç†å„ç§ä¸åŒæƒ…况的时候,˜q™å°†¾l™æ‚¨æä¾›ä¸€ä¸ªå¹¿é˜”的选择范围。方法如下:

使用 Spring çš?nbsp;ActionSupport ¾cÀL•´å?nbsp;Structs

   ä½¿ç”¨ Spring çš?nbsp;DelegatingRequestProcessor è¦†ç›– Struts çš?nbsp;RequestProcessor 
ž®?nbsp;Struts Action ½Ž¡ç†å§”托¾l?nbsp;Spring æ¡†æž¶
装è²åº”用½E‹åºçŽ¯å¢ƒ

   æ— è®ºæ‚¨ä‹É用哪¿U技术,都需è¦ä‹Éç”?nbsp;Spring çš?nbsp;ContextLoaderPlugin ä¸?nbsp;Struts çš?nbsp;ActionServlet è£…è² Spring åº”用½E‹åºçŽ¯å¢ƒã€‚å°±åƒæ·»åŠ ä“Q何其他æ’ä»¶ä¸€æ øP¼Œ½Ž€å•åœ°å‘æ‚¨çš?nbsp;struts-config.xml æ–‡äšgæ·ÕdŠ è¯¥æ’ä»Óž¼Œå¦‚下所½Cºï¼š
  1. <plug-in className=
  2.   "org.springframework.web.struts.ContextLoaderPlugIn">
  3.     <set-property property=
  4.       "contextConfigLocation" value="/WEB-INF/beans.xml"/>
  5.  </plug-in>
 

   å‰é¢å·²ç»æåˆ°˜q‡ï¼Œåœ?nbsp;下負部分åQŒæ‚¨èƒ½å¤Ÿæ‰‘Öˆ°˜q™ä¸‰ä¸ªå®Œå…¨å¯ä½¿ç”¨çš„例å­çš„完整æºä»£ç ã€‚æ¯ä¸ªä¾‹å­éƒ½ä¸ÞZ¸€ä¸ªä¹¦¾cæœç´¢åº”ç”¨ç¨‹åºæä¾›ä¸€¿Uä¸åŒçš„ Struts å’?nbsp;Spring çš„æ•´åˆæ–¹æ³•。您å¯ä»¥åœ¨è¿™é‡Œçœ‹åˆîC¾‹å­çš„è¦ç‚¹åQŒä½†æ˜¯æ‚¨ä¹Ÿå¯ä»¥ä¸‹è½½åº”用程åºä»¥æŸ¥çœ‹æ‰€æœ‰çš„¾l†èŠ‚ã€?br />
½Hé—¨ 1. ä½¿ç”¨ Spring çš?nbsp;ActionSupport


   æ‰‹åŠ¨åˆ›å¾ä¸€ä¸?nbsp;Spring çŽ¯å¢ƒæ˜¯ä¸€¿Uæ•´å?nbsp;Struts å’?nbsp;Spring çš„æœ€ç›´è§‚的方å¼ã€‚äØ“äº†ä‹É它å˜å¾—æ›´½Ž€å•,Spring æä¾›äº†ä¸€äº›å¸®åŠ©ã€‚äØ“äº†æ–¹ä¾¿åœ°èŽ·å¾— Spring çŽ¯å¢ƒåQŒorg.springframework.web.struts.ActionSupport ¾cÀL供了一ä¸?nbsp;getWebApplicationContext() æ–ÒŽ³•。您所åšçš„åªæ˜¯ä»?nbsp;Spring çš?nbsp;ActionSupport è€Œä¸æ˜?nbsp;Struts Action ¾cÀL‰©å±•您的动作,如清å?nbsp;1 æ‰€½Cºï¼š

清啠1. ä½¿ç”¨ ActionSupport æ•´åˆ Struts

  1. package ca.nexcel.books.actions;
  2.  
  3. import java.io.IOException;
  4.  
  5. import javax.servlet.ServletException;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8.  
  9. import org.apache.struts.action.ActionError;
  10. import org.apache.struts.action.ActionErrors;
  11. import org.apache.struts.action.ActionForm;
  12. import org.apache.struts.action.ActionForward;
  13. import org.apache.struts.action.ActionMapping;
  14. import org.apache.struts.action.DynaActionForm;
  15. import org.springframework.context.ApplicationContext;
  16. import org.springframework.web.struts.ActionSupport;
  17.  
  18. import ca.nexcel.books.beans.Book;
  19. import ca.nexcel.books.business.BookService;
  20.  
  21. public class SearchSubmit extends ActionSupport {   |(1)
  22.  
  23.  
  24.   public ActionForward execute(
  25.     ActionMapping mapping,
  26.     ActionForm form,
  27.     HttpServletRequest request,
  28.     HttpServletResponse response)
  29.     throws IOExceptionServletException {
  30.  
  31.     DynaActionForm searchForm = (DynaActionForm) form;
  32.     String isbn = (String) searchForm.get("isbn");
  33.         
  34.     //the old fashion way
  35.     //BookService bookService = new BookServiceImpl();
  36.         
  37.     ApplicationContext ctx = 
  38.       getWebApplicationContext();    |(2)
  39.     BookService bookService = 
  40.       (BookService) ctx.getBean("bookService");   |(3)
  41.         
  42.   Book book = bookService.read(isbn.trim());
  43.  
  44.     if (null == book) {
  45.       ActionErrors errors = new ActionErrors();
  46.       errors.add(ActionErrors.GLOBAL_ERROR,new ActionError
  47.         ("message.notfound"));
  48.       saveErrors(request, errors);
  49.       return mapping.findForward("failure") ;
  50.   }
  51.  
  52.     request.setAttribute("book", book);
  53.     return mapping.findForward("success");
  54.   }
  55. }
  56.  


   è®©æˆ‘们快速æ€è€ƒä¸€ä¸‹è¿™é‡Œåˆ°åº•å‘生了什么。在 (1) å¤„,我通过ä»?nbsp;Spring çš?nbsp;ActionSupport ¾c»è€Œä¸æ˜?nbsp;Struts çš?nbsp;Action ¾c»è¿›è¡Œæ‰©å±•,创å¾äº†ä¸€ä¸ªæ–°çš?nbsp;Action。在 (2) å¤„,我ä‹Éç”?nbsp;getWebApplicationContext() æ–ÒŽ³•获得一ä¸?nbsp;ApplicationContextã€‚äØ“äº†èŽ·å¾—ä¸šåŠ¡æœåŠ¡ï¼Œæˆ‘ä‹É用在 (2) å¤„获得的环境åœ?nbsp;(3) å¤„查找一ä¸?nbsp;Spring beanã€?br />
˜q™ç§æŠ€æœ¯å¾ˆ½Ž€å•åÆˆä¸”æ˜“äºŽç†è§£ã€‚ä¸òq¸çš„æ˜¯ï¼Œå®ƒå°† Struts åŠ¨ä½œä¸?nbsp;Spring æ¡†æž¶è€¦åˆåœ¨ä¸€èµ—÷€‚如果您æƒÏx›¿æ¢æŽ‰ SpringåQŒé‚£ä¹ˆæ‚¨å¿…é¡»é‡å†™ä»£ç ã€‚åÆˆä¸”ï¼Œç”׃ºŽ Struts åŠ¨ä½œä¸åœ¨ Spring çš„æŽ§åˆ¶ä¹‹ä¸‹ï¼Œæ‰€ä»¥å®ƒä¸èƒ½èŽ·å¾— Spring AOP çš„优åŠÑ€‚当使用多é‡ç‹¬ç«‹çš?nbsp;Spring çŽ¯å¢ƒæ—Óž¼Œ˜q™ç§æŠ€æœ¯å¯èƒ½æœ‰ç”¨ï¼Œä½†æ˜¯åœ¨å¤§å¤šæ•°æƒ…况下,˜q™ç§æ–ÒŽ³•ä¸å¦‚å¦å¤–ä¸¤ç§æ–ÒŽ³•åˆé€‚ã€?br />
½Hé—¨ 2. è¦†ç›– RequestProcessor


   ž®?nbsp;Spring ä»?nbsp;Struts åŠ¨ä½œä¸­åˆ†¼›ÀL˜¯ä¸€ä¸ªæ›´å·§å¦™çš„设计选择。分¼›Èš„一¿U方法是使用 org.springframework.web.struts.DelegatingRequestProcessor ¾cÀL¥è¦†ç›– Struts çš?nbsp;RequestProcessor å¤„熽E‹åºåQŒå¦‚清啠2 æ‰€½Cºï¼š

清啠2. é€šè¿‡ Spring çš?nbsp;DelegatingRequestProcessor ˜q›è¡Œæ•´åˆ

  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2.  
  3. <!DOCTYPE struts-config PUBLIC
  4.           "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
  5.           "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
  6.  
  7. <struts-config>
  8.  <form-beans>
  9.     <form-bean name="searchForm" 
  10.       type="org.apache.struts.validator.DynaValidatorForm">
  11.                <form-property name="isbn"    type="java.lang.String"/>
  12.     </form-bean>
  13.   
  14.   </form-beans>
  15.  
  16.  <global-forwards type="org.apache.struts.action.ActionForward">
  17.      <forward   name="welcome"                path="/welcome.do"/>
  18.      <forward   name="searchEntry"            path="/searchEntry.do"/>
  19.      <forward   name="searchSubmit"           path="/searchSubmit.do"/>
  20.  </global-forwards>
  21.  
  22.  <action-mappings>
  23.     <action    path="/welcome" forward="/WEB-INF/pages/welcome.htm"/>
  24.     <action    path="/searchEntry" forward="/WEB-INF/pages/search.jsp"/>
  25.     <action    path="/searchSubmit" 
  26.                type="ca.nexcel.books.actions.SearchSubmit"
  27.                input="/searchEntry.do"
  28.                validate="true"
  29.                name="searchForm">
  30.               <forward name="success" path="/WEB-INF/pages/detail.jsp"/>
  31.               <forward name="failure" path="/WEB-INF/pages/search.jsp"/>
  32.     </action>  
  33.  
  34.  </action-mappings>
  35.  
  36.  <message-resources parameter="ApplicationResources"/>
  37.  
  38.  <controller processorClass="org.springframework.web.struts.
  39.    DelegatingRequestProcessor"/> |(1)
  40.  
  41.  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
  42.     <set-property property="pathnames" 
  43.       value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
  44.  </plug-in>
  45.  
  46.  
  47.  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
  48.     <set-property property="csntextConfigLocation" value="/WEB-INF/beans.xml"/>
  49.  </plug-in>
  50.  
  51. </struts-config>
  52.  


   æˆ‘利用了 <controller> æ ‡è®°æ¥ç”¨ DelegatingRequestProcessor è¦†ç›–默认çš?nbsp;Struts RequestProcessor。下一步是在我çš?nbsp;Spring é…置文äšg中注册该动作åQŒå¦‚清啠3 æ‰€½Cºï¼š


清啠3. åœ?nbsp;Spring é…置文äšg中注册一个动ä½?br />
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
  3.   "http://www.springframework.org/dtd/spring-beans.dtd">
  4.  
  5. <beans>
  6.   <bean id="bookService" class="ca.nexcel.books.business.BookServiceImpl"/>
  7.  
  8.   <bean name="/searchSubmit" 
  9.     class="ca.nexcel.books.actions.SearchSubmit"> |(1)
  10.      <property name="bookService">
  11.         <ref bean="bookService"/>
  12.      </property>
  13.   </bean>
  14. </beans>
 


   æ³¨æ„åQšåœ¨ (1) å¤„,我ä‹É用å¿U°å±žæ€§æ³¨å†Œäº†ä¸€ä¸?nbsp;beanåQŒä»¥åŒšw… struts-config åŠ¨ä½œæ˜ å°„å称。SearchSubmit åŠ¨ä½œæ­ç¤ºäº†ä¸€ä¸?nbsp;JavaBean å±žæ€§ï¼Œå…许 Spring åœ¨è¿è¡Œæ—¶å¡«å……属性,如清å?nbsp;4 æ‰€½Cºï¼š


清啠4. å…ähœ‰ JavaBean å±žæ€§çš„ Struts åŠ¨ä½œ

  1. package ca.nexcel.books.actions;
  2.  
  3. import java.io.IOException;
  4.  
  5. import javax.servlet.ServletException;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8.  
  9. import org.apache.struts.action.Action;
  10. import org.apache.struts.action.ActionError;
  11. import org.apache.struts.action.ActionErrors;
  12. import org.apache.struts.action.ActionForm;
  13. import org.apache.struts.action.ActionForward;
  14. import org.apache.struts.action.ActionMapping;
  15. import org.apache.struts.action.DynaActionForm;
  16.  
  17. import ca.nexcel.books.beans.Book;
  18. import ca.nexcel.books.business.BookService;
  19.  
  20. public class SearchSubmit extends Action {
  21.     
  22.   private BookService bookService;
  23.   public BookService getBookService() {
  24.     return bookService;
  25.   }
  26.  
  27.   public void setBookService(BookService bookService) { | (1)
  28.     this.bookService = bookService; 
  29.   } 
  30.  
  31.   public ActionForward execute(
  32.     ActionMapping mapping,
  33.     ActionForm form,
  34.     HttpServletRequest request,
  35.     HttpServletResponse response)
  36.     throws IOExceptionServletException {
  37.  
  38.     DynaActionForm searchForm = (DynaActionForm) form;
  39.     String isbn = (String) searchForm.get("isbn");
  40.         
  41.   Book book = getBookService().read(isbn.trim());  |(2)
  42.  
  43.     if (null == book) {
  44.       ActionErrors errors = new ActionErrors();
  45.       errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("message.notfound"));
  46.       saveErrors(request, errors);
  47.       return mapping.findForward("failure") ;
  48.   }
  49.  
  50.       request.setAttribute("book", book);
  51.       return mapping.findForward("success");
  52.   }
  53.  
  54. }
 


   åœ¨æ¸…å?nbsp;4 ä¸­ï¼Œæ‚¨å¯ä»¥äº†è§£åˆ°å¦‚何创徠Struts åŠ¨ä½œã€‚åœ¨ (1) å¤„,我创å»ÞZº†ä¸€ä¸?nbsp;JavaBean å±žæ€§ã€‚DelegatingRequestProcessor自动地酾|®è¿™¿U属性。这¿U设计ä‹É Struts åŠ¨ä½œòq¶ä¸çŸ¥é“它正è¢?nbsp;Spring ½Ž¡ç†åQŒåƈ且ä‹É您能够利ç”?nbsp;Sping çš„åŠ¨ä½œç®¡ç†æ¡†æž¶çš„æ‰€æœ‰ä¼˜ç‚V€‚由于您çš?nbsp;Struts åŠ¨ä½œæ³¨æ„ä¸åˆ° Spring çš„存在,所以您ä¸éœ€è¦é‡å†™æ‚¨çš?nbsp;Struts ä»£ç ž®±å¯ä»¥ä‹É用其他控制åè½¬å®¹å™¨æ¥æ›¿æ¢æŽ?nbsp;Springã€?br />
   DelegatingRequestProcessor æ–ÒŽ³•的确比第一¿U方法好åQŒä½†æ˜¯ä»ç„¶å­˜åœ¨ä¸€äº›é—®é¢˜ã€‚如果您使用一个ä¸åŒçš„ RequestProcessoråQŒåˆ™éœ€è¦æ‰‹åŠ¨æ•´å?nbsp;Spring çš?nbsp;DelegatingRequestProcessor。添加的代ç ä¼šé€ æˆ¾l´æŠ¤çš„éº»çƒ¦åÆˆä¸”å°†æ¥ä¼šé™ä½Žæ‚¨çš„应用½E‹åºçš„絋zÀL€§ã€‚此外,˜q˜æœ‰˜q‡ä¸€äº›ä‹É用一¾pÕdˆ—命ä×oæ¥ä»£æ›?nbsp;Struts RequestProcessor çš„ä¼ é—…R€?nbsp;˜q™ç§æ”¹å˜ž®†ä¼šå¯¹è¿™¿Uè§£å†Ïx–¹æ³•的使用寿命造æˆè´Ÿé¢çš„媄å“ã€?br />
½Hé—¨ 3. ž®†åŠ¨ä½œç®¡ç†å§”托给 Spring


   ä¸€ä¸ªæ›´å¥½çš„解决æ–ÒŽ³•是将 Strut åŠ¨ä½œ½Ž¡ç†å§”托¾l?nbsp;Spring。您å¯ä»¥é€šè¿‡åœ?nbsp;struts-config åŠ¨ä½œæ˜ å°„ä¸­æ³¨å†Œä¸€ä¸ªä»£ç†æ¥å®žçŽ°ã€‚ä»£ç†è´Ÿè´£åœ¨ Spring çŽ¯å¢ƒä¸­æŸ¥æ‰?nbsp;Struts åŠ¨ä½œã€‚ç”±äºŽåŠ¨ä½œåœ¨ Spring çš„æŽ§åˆ¶ä¹‹ä¸‹ï¼Œæ‰€ä»¥å®ƒå¯ä»¥å¡«å……动作çš?nbsp;JavaBean å±žæ€§ï¼Œòq¶äؓ应用诸如 Spring çš?nbsp;AOP æ‹¦æˆªå™¨ä¹‹¾cÈš„ç‰ÒŽ€§å¸¦æ¥äº†å¯èƒ½ã€?nbsp;

清啠5 ä¸­çš„ Action ¾cÖM¸Žæ¸…å• 4 ä¸­çš„相åŒã€‚但æ˜?nbsp;struts-config æœ‰ä¸€äº›ä¸åŒï¼š

清啠5. Spring æ•´åˆçš„委托方æ³?br />
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2.  
  3. <!DOCTYPE struts-config PUBLIC
  4.           "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
  5.           "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
  6.  
  7. <struts-config>
  8.  <form-beans>
  9.     <form-bean name="searchForm" 
  10.       type="org.apache.struts.validator.DynaValidatorForm">
  11.                <form-property name="isbn"    type="java.lang.String"/>
  12.     </form-bean>
  13.   
  14.   </form-beans>
  15.  
  16.  <global-forwards type="org.apache.struts.action.ActionForward">
  17.      <forward   name="welcome"                path="/welcome.do"/>
  18.      <forward   name="searchEntry"            path="/searchEntry.do"/>
  19.      <forward   name="searchSubmit"           path="/searchSubmit.do"/>
  20.  </global-forwards>
  21.  
  22.  <action-mappings>
  23.     <action    path="/welcome" forward="/WEB-INF/pages/welcome.htm"/>
  24.     <action    path="/searchEntry" forward="/WEB-INF/pages/search.jsp"/>
  25.     <action    path="/searchSubmit" 
  26.              type="org.springframework.web.struts.DelegatingActionProxy" |(1)
  27.              input="/searchEntry.do"
  28.              validate="true"
  29.              name="searchForm">
  30.              <forward name="success" path="/WEB-INF/pages/detail.jsp"/>
  31.              <forward name="failure" path="/WEB-INF/pages/search.jsp"/>
  32.     </action>  
  33.  
  34.  </action-mappings>
  35.  
  36.  <message-resources parameter="ApplicationResources"/>
  37.  
  38.  
  39.  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
  40.     <set-property 
  41.     property="pathnames" 
  42.     value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
  43.  </plug-in>
  44.  
  45.  
  46.  <plug-in 
  47.     className="org.springframework.web.struts.ContextLoaderPlugIn">
  48.     <set-property property="contextConfigLocation" value="/WEB-INF/beans.xml"/>
  49.  </plug-in>
  50.  
  51.  
  52. </struts-config>
 
   æ¸…å• 5 æ˜¯ä¸€ä¸ªå…¸åž‹çš„ struts-config.xml æ–‡äšgåQŒåªæœ‰ä¸€ä¸ªå°ž®çš„差别。它注册 Spring ä»£ç†¾cÈš„åç§°åQŒè€Œä¸æ˜¯å£°æ˜ŽåŠ¨ä½œçš„¾cÕdåQŒå¦‚åQ?åQ‰å¤„所½Cºã€‚DelegatingActionProxy ¾cÖM‹É用动作映ž®„å¿U°æŸ¥æ‰?nbsp;Spring çŽ¯å¢ƒä¸­çš„åŠ¨ä½œã€‚è¿™ž®±æ˜¯æˆ‘们使用 ContextLoaderPlugIn å£°æ˜Žçš„环境ã€?br />
   ž®†ä¸€ä¸?nbsp;Struts åŠ¨ä½œæ³¨å†Œä¸ÞZ¸€ä¸?nbsp;Spring bean æ˜¯éžå¸¸ç›´è§‚çš„åQŒå¦‚清啠6 æ‰€½Cºã€‚我利用动作映射使用 <bean> æ ‡è®°çš„å¿U°å±žæ€§ï¼ˆåœ¨è¿™ä¸ªä¾‹å­ä¸­æ˜?nbsp;"/searchSubmit"åQ‰ç®€å•地创å¾äº†ä¸€ä¸?nbsp;bean。这个动作的 JavaBean å±žæ€§åƒä»ÖM½• Spring bean ä¸€æ ¯‚¢«å¡«å……åQ?nbsp;


清啠6. åœ?nbsp;Spring çŽ¯å¢ƒä¸­æ³¨å†Œä¸€ä¸?nbsp;Struts åŠ¨ä½œ

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
  3.  "http://www.springframework.org/dtd/spring-beans.dtd">
  4.  
  5. <beans>
  6.   <bean id="bookService" class="ca.nexcel.books.business.BookServiceImpl"/>
  7.  
  8.   <bean name="/searchSubmit"   
  9.         class="ca.nexcel.books.actions.SearchSubmit">
  10.      <property name="bookService">
  11.         <ref bean="bookService"/>
  12.      </property>
  13.   </bean>
  14.  
  15. </beans>
 

动作委托的优�/h5>

   åŠ¨ä½œå§”æ‰˜è§£å†³æ–ÒŽ³•æ˜¯è¿™ä¸‰ç§æ–ÒŽ³•中最好的。Struts åŠ¨ä½œä¸äº†è§?nbsp;SpringåQŒä¸å¯¹ä»£ç ä½œä»ÖM½•改嘞®±å¯ç”¨äºŽé?nbsp;Spring åº”用½E‹åºä¸­ã€‚RequestProcessor çš„æ”¹å˜ä¸ä¼šåª„å“它åQŒåƈ且它å¯ä»¥åˆ©ç”¨ Spring AOP ç‰ÒŽ€§çš„优点ã€?nbsp;

   åŠ¨ä½œå§”æ‰˜çš„ä¼˜ç‚¹ä¸æ­¢å¦‚此。一旦让 Spring æŽ§åˆ¶æ‚¨çš„ Struts åŠ¨ä½œåQŒæ‚¨ž®±å¯ä»¥ä‹Éç”?nbsp;Spring ¾l™åŠ¨ä½œè¡¥å……æ›´å¼ºçš„‹zÕdŠ›ã€‚ä¾‹å¦‚ï¼Œæ²¡æœ‰ Spring çš„è¯åQŒæ‰€æœ‰çš„ Struts åŠ¨ä½œéƒ½å¿…™åÀL˜¯¾U¿ç¨‹å®‰å…¨çš„。如果您讄¡½® <bean> æ ‡è®°çš?nbsp;singleton å±žæ€§äØ““false”åQŒé‚£ä¹ˆä¸½Ž¡ç”¨ä½•ç§æ–ÒŽ³•åQŒæ‚¨çš„应用程åºéƒ½ž®†åœ¨æ¯ä¸€ä¸ªè¯·æ±‚上有一个新生æˆçš„动作对象。您å¯èƒ½ä¸éœ€è¦è¿™¿U特性,但是把它攑֜¨æ‚¨çš„工具½Ž×ƒ¸­ä¹Ÿå¾ˆå¥½ã€‚您也å¯ä»¥åˆ©ç”?nbsp;Spring çš„生命周期方法。例如,当实例化 Struts åŠ¨ä½œæ—Óž¼Œ<bean> æ ‡è®°çš?nbsp;init-method å±žæ€§è¢«ç”¨äºŽ˜q行一个方法。类似地åQŒåœ¨ä»Žå®¹å™¨ä¸­åˆ é™¤ bean ä¹‹å‰åQŒdestroy-method å±žæ€§æ‰§è¡Œä¸€ä¸ªæ–¹æ³•。这些方法是½Ž¡ç†æ˜‚贵对象的好办法åQŒå®ƒä»¬ä»¥ä¸€¿U与 Servlet ç”Ÿå‘½å‘¨æœŸç›¸åŒçš„æ–¹å¼è¿›è¡Œç®¡ç†ã€?br />
拦截 Struts

   å‰é¢æåˆ°˜q‡ï¼Œé€šè¿‡ž®?nbsp;Struts åŠ¨ä½œå§”æ‰˜¾l?nbsp;Spring æ¡†æž¶è€Œæ•´å?nbsp;Struts å’?nbsp;Spring çš„一个主è¦çš„优点是:您å¯ä»¥å°† Spring çš?nbsp;AOP æ‹¦æˆªå™¨åº”用于您的 Struts åŠ¨ä½œã€‚é€šè¿‡ž®?nbsp;Spring æ‹¦æˆªå™¨åº”用于 Struts åŠ¨ä½œåQŒæ‚¨å¯ä»¥ç”¨æœ€ž®çš„代ä­hå¤„ç†æ¨ªåˆ‡å…Ïx³¨ç‚V€?br />
虽然 Spring æä¾›å¾ˆå¤šå†…ç½®æ‹¦æˆªå™¨ï¼Œä½†æ˜¯æˆ‘å°†å‘æ‚¨å±•示如何创å¾è‡ªå·±çš„æ‹¦æˆªå™¨òq¶æŠŠå®ƒåº”用于一ä¸?nbsp;Struts åŠ¨ä½œã€‚äØ“äº†ä‹É用拦截器åQŒæ‚¨éœ€è¦åšä¸‰äšg事:

    åˆ›å¾æ‹¦æˆªå™¨ã€?/ul>
      注册拦截器�/ul>
        声明在何处拦截代ç ã€?/ul>
           ˜q™çœ‹èµäh¥éžå¸¸½Ž€å•的几å¥è¯å´éžå¸¸å¼ºå¤§ã€‚例如,在清å?nbsp;7 ä¸­ï¼Œæˆ‘䨓 Struts åŠ¨ä½œåˆ›å¾äº†ä¸€ä¸ªæ—¥å¿—记录拦截器ã€?nbsp;˜q™ä¸ªæ‹¦æˆªå™¨åœ¨æ¯ä¸ªæ–ÒŽ³•è°ƒç”¨ä¹‹å‰æ‰“å°ä¸€å¥è¯åQ?br />

        清啠7. ä¸€ä¸ªç®€å•的日志记录拦截å™?br />
        1. package ca.nexcel.books.interceptors;
        2.  
        3. import org.springframework.aop.MethodBeforeAdvice;
        4.  
        5. import java.lang.reflect.Method;
        6.  
        7. public class LoggingInterceptor implements MethodBeforeAdvice {
        8.  
        9.    public void before(Method method, Object[] objects, Object o) throws Throwable {
        10.         System.out.println("logging before!");
        11.     }
        12. }
         


           ˜q™ä¸ªæ‹¦æˆªå™¨éžå¸¸ç®€å•。before() æ–ÒŽ³•在拦截点中æ¯ä¸ªæ–¹æ³•之å‰è¿è¡Œã€‚在本例中,它打å°å‡ºä¸€å¥è¯åQŒå…¶å®žå®ƒå¯ä»¥åšæ‚¨æƒ›_šçš„ä“Q何事。下一步就是在 Spring é…置文äšg中注册这个拦截器åQŒå¦‚清啠8 æ‰€½Cºï¼š


        清啠8. åœ?nbsp;Spring é…置文äšg中注册拦截器

        1. <?xml version="1.0" encoding="UTF-8"?>
        2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
        3.   "http://www.springframework.org/dtd/spring-beans.dtd">
        4.  
        5. <beans>
        6.   <bean id="bookService" class="ca.nexcel.books.business.BookServiceImpl"/>
        7.  
        8.   <bean name="/searchSubmit" 
        9.         class="ca.nexcel.books.actions.SearchSubmit">
        10.      <property name="bookService">
        11.         <ref bean="bookService"/>
        12.      </property>
        13.   </bean>
        14.  
        15.   <!--  Interceptors --> 
        16.   <bean name="logger"    
        17.     class="ca.nexcel.books.interceptors.LoggingInterceptor"/> |(1)
        18.  
        19.   <!-- AutoProxies -->
        20.   <bean name="loggingAutoProxy" 
        21.         class="org.springframework.aop.framework.autoproxy.
        22.           BeanNameAutoProxyCreator"> |(2)
        23.     <property name="beanNames">
        24.           <value>/searchSubmit</valuesgt; |(3)
        25.     </property>
        26.     <property name="interceptorNames">
        27.         <list>
        28.           <value>logger</value> |(4)
        29.         </list>
        30.     </property>
        31.    </bean>
        32.  
        33. </beans>
        34.  


           æ‚¨å¯èƒ½å·²¾l注æ„到了,清啠8 æ‰©å±•äº?nbsp;清啠6 ä¸­æ‰€½Cºçš„应用½E‹åºä»¥åŒ…å«ä¸€ä¸ªæ‹¦æˆªå™¨ã€‚具体细节如下:

        åœ?nbsp;(1) å¤„,我注册了˜q™ä¸ªæ‹¦æˆªå™¨ã€?br />åœ?nbsp;(2) å¤„,我创å»ÞZº†ä¸€ä¸?nbsp;bean å称自动代ç†åQŒå®ƒæè¿°å¦‚何应用拦截器。还有其他的æ–ÒŽ³•定义拦截点,但是˜q™ç§æ–ÒŽ³•常è§è€Œç®€ä¾Ñ€?br />åœ?nbsp;(3) å¤„,我将 Struts åŠ¨ä½œæ³¨å†Œä¸ºå°†è¢«æ‹¦æˆªçš„ bean。如果您惌™¦æ‹¦æˆªå…¶ä»–çš?nbsp;Struts åŠ¨ä½œåQŒåˆ™åªéœ€è¦åœ¨ "beanNames" ä¸‹é¢åˆ›å¾é™„加çš?nbsp;<value> æ ‡è®°ã€?br />åœ?nbsp;(4) å¤„,当拦截å‘生时åQŒæˆ‘执行了在 (1) å¤„创建的拦截å™?nbsp;bean çš„å¿U°ã€‚这里列出的所有拦截器都应用于“beanNames”ã€?br />ž®±æ˜¯˜q™æ ·ã€‚å°±åƒè¿™ä¸ªä¾‹å­æ‰€å±•示的,ž®†æ‚¨çš?nbsp;Struts åŠ¨ä½œ¾|®äºŽ Spring æ¡†æž¶çš„æŽ§åˆ¶ä¹‹ä¸‹ï¼Œä¸ºå¤„ç†æ‚¨çš?nbsp;Struts åº”用½E‹åºæä¾›äº†ä¸€¾pÕdˆ—全新的选择。在本例中,使用动作委托å¯ä»¥è½ÀL¾åœ°åˆ©ç”?nbsp;Spring æ‹¦æˆªå™¨æé«?nbsp;Struts åº”用½E‹åºä¸­çš„æ—¥å¿—记录能力ã€?br />

        ¾l“æŸè¯?/h4>

           åœ¨æœ¬æ–‡ä¸­åQŒæ‚¨å·²ç»å­¦ä¹ äº†å°† Struts åŠ¨ä½œæ•´åˆåˆ?nbsp;Spring æ¡†æž¶ä¸­çš„三秽H门。ä‹Éç”?nbsp;Spring çš?nbsp;ActionSupport æ¥æ•´å?nbsp;StrutsåQˆç¬¬ä¸€¿Uçªé—¨ä¸­ž®±æ˜¯˜q™æ ·åšçš„åQ‰ç®€å•而快æøP¼Œä½†æ˜¯ä¼šå°† Struts åŠ¨ä½œä¸?nbsp;Spring æ¡†æž¶è€¦åˆåœ¨ä¸€èµ—÷€‚如果您需è¦å°†åº”用½E‹åº¿UÀL¤åˆîC¸€ä¸ªä¸åŒçš„æ¡†æž¶åQŒåˆ™éœ€è¦é‡å†™ä»£ç ã€‚第二ç§è§£å†³æ–ÒŽ³•通过委托 RequestProcessor å·§å¦™åœ°è§£å¼€ä»£ç çš„耦åˆåQŒä½†æ˜¯å®ƒçš„坿‰©å±•性ä¸å¼ºï¼Œòq¶ä¸”å½?nbsp;Struts çš?nbsp;RequestProcessor å˜æˆä¸€¾pÕdˆ—命ä×oæ—Óž¼Œ˜q™ç§æ–ÒŽ³•ž®±æŒ¾l­ä¸äº†å¾ˆé•¿æ—¶é—´ã€‚ç¬¬ä¸‰ç§æ–ÒŽ³•æ˜¯è¿™ä¸‰ç§æ–ÒŽ³•中最好的åQšå°† Struts åŠ¨ä½œå§”æ‰˜¾l?nbsp;Spring æ¡†æž¶å¯ä»¥ä½¿ä»£ç è§£è€¦ï¼Œä»Žè€Œä‹É您å¯ä»¥åœ¨æ‚¨çš„ Struts åº”用½E‹åºä¸­åˆ©ç”?nbsp;Spring çš„特性(比如日志记录拦截器)ã€?br />
        三秠Struts-Spring æ•´åˆ½H门中的æ¯ä¸€¿U都被实现æˆä¸€ä¸ªå®Œæ•´å¯ç”¨çš„应用½E‹åºã€‚请å‚阅 ä¸‹è² éƒ¨åˆ†ä»”细研究它们ã€?img src ="http://www.aygfsteel.com/jackylpz/aggbug/41354.html" width = "1" height = "1" />

        ]]> Ö÷Õ¾Ö©Öë³ØÄ£°å£º ãèÂÞÊÐ| ÅÌÉ½ÏØ| Ëç½­ÏØ| ¦·³ÏØ| ÉîÔóÏØ| Ôý´ïÏØ| ¹ÝÌÕÏØ| ÎijÉÏØ| Ëç½­ÏØ| ¸ÊµÂÏØ| ÜÆ½­| º£³ÇÊÐ| ÇØ»ÊµºÊÐ| »³Ô¶ÏØ| áÓãôÏØ| ÖñÏªÏØ| ¸£°²ÊÐ| ÌúÁ¦ÊÐ| É̶¼ÏØ| ÓÀÄêÏØ| ¸Á¶ûÏØ| ¾ÞÒ°ÏØ| ½éÐÝÊÐ| Õê·áÏØ| ÎèÑôÏØ| ³à³ÇÏØ| Ûº£ÏØ| ÏæÌ¶ÏØ| ±±´¨| ӥ̶ÊÐ| »³°²ÏØ| °ÙÉ«ÊÐ| Ã÷ÐÇ| ´¾°²ÏØ| ·â¿ªÏØ| ¹ãÄÏÏØ| »ù¡ÊÐ| °²»ÕÊ¡| 캵ÂÏØ| ÎÀ»ÔÊÐ| Ñô´ºÊÐ|