锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区二区三区影院,亚洲第一区视频在线观看,亚洲欧洲国产视频http://www.tkk7.com/Supershen/Java JavaEE Jsp Struts1.x Struts2.x Hibernate Spring2.0 EJB3.0 ASP .NET Php Flexzh-cnFri, 09 May 2025 12:53:00 GMTFri, 09 May 2025 12:53:00 GMT60springside mini-web瀛︿範鎬葷粨銆?/title><link>http://www.tkk7.com/Supershen/archive/2009/01/08/250512.html</link><dc:creator>Super路shen BLOG </dc:creator><author>Super路shen BLOG </author><pubDate>Thu, 08 Jan 2009 09:01:00 GMT</pubDate><guid>http://www.tkk7.com/Supershen/archive/2009/01/08/250512.html</guid><wfw:comment>http://www.tkk7.com/Supershen/comments/250512.html</wfw:comment><comments>http://www.tkk7.com/Supershen/archive/2009/01/08/250512.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/Supershen/comments/commentRss/250512.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Supershen/services/trackbacks/250512.html</trackback:ping><description><![CDATA[springside3鑳屾櫙struts2.1.2 spring2.5.6 Hibernate3.4GA<br /> <br /> <br /> <span style="font-family: 榛戜綋"><strong>1.struts2 <br style="font-family: " /> </strong></span><br /> 浣跨敤ZeroConfig + CodeBehind鎻掍歡,瀹炵幇綰﹀畾澶т簬閰嶇疆鐨勯浂閰嶇疆鏂囦歡椋庢牸.<br /> <br /> 鏍規湰涓嶇敤閰嶇疆struts.xml鏂囦歡 <br /> <br /> <br /> <br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/supershen/s1.jpg" border="0" /><br /> <br /> 榪欓噷灝辨槸action瀹炵幇annotation  CodeBehind銆?br /> 濡傛柟娉?br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/supershen/2s.jpg" border="0" /><br /> <br /> 閫氳繃 /user/user!input.action璁塊棶錛?騫惰漿鍒?/user/user-xxx.jsp欏甸潰<br /> 鍗硁amespace + action name + "-" + "xxx.jsp"<br /> <br /> <br />  鍙﹀鍏朵腑 action涓渶瑕佹敞鍏ョ殑 service 浣跨敤annotation 錛屽湪set鏂規硶鍓?鍔犲叆@request 鎴?@ autowired 鎴?@resource<br /> 娉ㄩ噴錛堝叿浣撴槸鐢ㄩ偅涓殏鏃舵棤娉曟悶娓呮錛屾諱箣鎴戠敤request 灝變笉琛岋紝鍙﹀涓や釜閮藉彲浠ワ級<br /> <br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/supershen/222.jpg" border="0" /><br /> <br /> 鏈変簡榪欎釜浠g爜涔嬪悗 灝辮兘娉ㄥ叆spring 鐜涓殑 id = userManager 鐨刡ean 錛堟垜涓漢鐞嗚В錛?br /> <br /> 鑰宻pring涓?nbsp; id = userManager 鐨刡ean  涔熸槸閫氳繃鑷姩娉ㄥ叆瀹屾垚鐨?br /> <br /> 涓昏浠g爜鏄?applicationContext.xml鏂囦歡涓殑<br /> 浠g爜錛?br /> <br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/supershen/2222.jpg" border="0" /><br /> <br /> <br /> <span style="font-family: 榛戜綋"><strong>2.spring<br /> </strong></span><br /> spring2.5.6鐨刟nnotation鐗規х敤鐨勬瘮杈冩硾婊ャ?鏂版墜鍒氬紑濮嬬湅鐨勪竴澶撮浘姘村緢姝e父銆?br /> <br /> xml鏂囦歡涓厤緗嚜鍔ㄦ敞鍐宐ean錛岄氳繃鎵弿鍖呬腑鐨勫甫娉ㄨВ鐨勭被銆傚嵆榪欎釜浠g爜錛?br /> <br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/supershen/2222.jpg" border="0" /><br /> <br /> <br /> 鎵弿鍒頒笅闈㈢殑綾伙紝灝辮嚜鍔ㄦ敞鍐屾垚 id=userManager<br /> <br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/supershen/223.jpg" border="0" /><br /> <br /> <br /> <br /> <span style="font-family: 榛戜綋"><strong>3.hibernate <br /> </strong></span>浣跨敤hiberante3 娉ㄨВ錛屼笉瑕乆ML閰嶇疆錛屽疄浣撶被娉ㄨВ涓嶇敤澶氳銆?br /> <br /> 闇瑕佹敞鎰忕殑鏄痚ntity綾葷殑鎵弿閰嶇疆<br /> <br /> <br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/supershen/33.jpg" border="0" /><br /> <br /> 鐪嬫竻妤氭槸鎵弿鍖咃紝涓嶆槸鎵弿綾伙紒 鎵浠ュ疄浣撶被com.mylu.User鏄棤娉曟壂鎻忓埌錛岃鏀懼湪 com.mylu.xxx.User鎵嶈兘鎵弿鍒幫紒<br /> <br /> <br /> <br /> <br /> 涓嬭竟鎸夌収ss3椋庢牸鍋氱殑渚嬪瓙錛屽幓鎺塻pring security 妗嗘灦鐨勶紝 緇撴瀯鏇存竻鏅般?br /> <br /> <a title="鎸夌収springside3椋庢牸鍋氱殑渚嬪瓙 鏃犲畨鍏ㄦ鏋剁殑" href="/Files/Supershen/s2s2.rar">涓嬭澆錛氬疄渚嬩唬鐮?/a><br /> <br /> <br /> 闄勶細<br /> 綾誨簱<br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/supershen/211.jpg" border="0" /> <img src ="http://www.tkk7.com/Supershen/aggbug/250512.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Supershen/" target="_blank">Super路shen BLOG </a> 2009-01-08 17:01 <a href="http://www.tkk7.com/Supershen/archive/2009/01/08/250512.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>java jsp servlet 鑾峰緱緇濆璺緞鐨勬柟娉?/title><link>http://www.tkk7.com/Supershen/archive/2008/09/17/229425.html</link><dc:creator>Super路shen BLOG </dc:creator><author>Super路shen BLOG </author><pubDate>Wed, 17 Sep 2008 06:55:00 GMT</pubDate><guid>http://www.tkk7.com/Supershen/archive/2008/09/17/229425.html</guid><wfw:comment>http://www.tkk7.com/Supershen/comments/229425.html</wfw:comment><comments>http://www.tkk7.com/Supershen/archive/2008/09/17/229425.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Supershen/comments/commentRss/229425.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Supershen/services/trackbacks/229425.html</trackback:ping><description><![CDATA[<p>鍦╦sp涓紝鍏跺疄jsp灝辨槸servlet錛宩sp鍜宻ervlet涔熼兘鏄竴涓猚lass錛?/p> <p>1 .request.getRealPath()錛岃繖涓柟娉曞凡緇忎笉鎺ㄨ崘浣跨敤錛屽湪servlet鍚庣戶鐗堟湰涓皢琚彇緙斻?/p> <p>2.getServletContext().getRealPath("/")榪欎釜鏂規硶姣旇緝濂界敤錛屽彲浠ョ洿鎺ュ湪servlet鍜宩sp涓嬌鐢ㄣ?/p> <p>3.request.getSession().getServletContext().getRealPath()涔熷彲浠ュ湪jsp鍜宻ervlet浣跨敤銆?/p> <p>4.this.getClass().getClassLoader().getResource("").getPath()錛岃繖涓柟娉曞彲浠ュ湪浠繪剰jsp錛宻ervlet錛宩ava鏂囦歡涓嬌鐢紝鍥犱負涓嶇鏄痡sp錛宻ervlet鍏跺疄閮芥槸java紼嬪簭錛岄兘鏄竴涓猚lass銆傛墍浠ュ畠搴旇鏄竴涓氱敤鐨勬柟娉曘?/p> <img src ="http://www.tkk7.com/Supershen/aggbug/229425.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Supershen/" target="_blank">Super路shen BLOG </a> 2008-09-17 14:55 <a href="http://www.tkk7.com/Supershen/archive/2008/09/17/229425.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>綆鍗曟潈闄愮郴緇熻璁¢渶姹?/title><link>http://www.tkk7.com/Supershen/archive/2008/08/18/222806.html</link><dc:creator>Super路shen BLOG </dc:creator><author>Super路shen BLOG </author><pubDate>Mon, 18 Aug 2008 08:17:00 GMT</pubDate><guid>http://www.tkk7.com/Supershen/archive/2008/08/18/222806.html</guid><wfw:comment>http://www.tkk7.com/Supershen/comments/222806.html</wfw:comment><comments>http://www.tkk7.com/Supershen/archive/2008/08/18/222806.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Supershen/comments/commentRss/222806.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Supershen/services/trackbacks/222806.html</trackback:ping><description><![CDATA[<p>鏅亶鐨勶紝綆鍗曠殑鏉冮檺緋葷粺瑕佹眰錛?br /> <br /> 1.緋葷粺鎵鏈夎祫婧愬畾涔?[璧勬簮琛╙   ( 榪樺彲浠ュ垎涓烘洿灝忕殑鏉冮檺琛紝鎿嶄綔琛紝榪欓噷閫氬彨璧勬簮琛?<br /> 2.瀹氫箟瑙掕壊 [瑙掕壊琛╙<br /> 3.緇欒鑹叉寚瀹氳祫婧愶紙涓涓鑹插彲浠ョ鐞嗗涓祫婧愶級 [瑙掕壊-璧勬簮琛╙<br /> 4.瀹氫箟鐢ㄦ埛緇?[鐢ㄦ埛琛╙<br /> 5.緇欑敤鎴風粍鎸囧畾瑙掕壊錛堜竴涓敤鎴風粍鍙互鎷ユ湁澶氱瑙掕壊錛?[鐢ㄦ埛緇?瑙掕壊琛╙<br /> 6.緇欑敤鎴鋒寚瀹氳鑹詫紙涓涓敤鎴峰彲浠ユ嫢鏈夊縐嶈鑹詫紝鍙互鐩存帴鎸囧畾瑙掕壊錛屼篃鍙互緇ф壙鐢ㄦ埛緇勭殑瑙掕壊錛塠鐢ㄦ埛-瑙掕壊琛╙</p> <p> </p> <p><br /> 鏌ユ壘鏉冮檺鏃訛細</p> <p>鏍規嵁鐢ㄦ埛ID[鐢ㄦ埛-瑙掕壊琛╙鎴栫敤鎴風粍ID[鐢ㄦ埛緇?瑙掕壊琛╙錛屾煡鍒版墍鏈夎鑹睮D錛屽啀[瑙掕壊-璧勬簮琛╙鎵懼埌鎵鏈夎鑹蹭笅鐨勬墍鏈夎祫婧愩?</p> <p>姝ゅ氨鏄敤鎴鋒嫢鏈夌殑璧勬簮銆傦紙璧勬簮涓鑸負妯″潡錛屽綋鐒朵篃鍙互鍒嗘洿緇嗙殑瀹氫箟涓洪〉闈紝鎿嶄綔鏂規硶絳夛級</p> <br /> 姝ゆ潈闄愯璁¢傚悎浜庢ā鍧楀寲璁塊棶緋葷粺錛屽OA<br /> <br /> <br /> 褰撶劧寰堝緋葷粺鍥犲湴鑰屽凡錛屼笉鍙兘瀹屽叏婊¤凍錛屾寜鐓ц嚜宸辯郴緇熼渶姹傝璁℃槸鏈鍚堥傜殑璁捐銆?br /> <br /> <br /> <br /> <img src ="http://www.tkk7.com/Supershen/aggbug/222806.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Supershen/" target="_blank">Super路shen BLOG </a> 2008-08-18 16:17 <a href="http://www.tkk7.com/Supershen/archive/2008/08/18/222806.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>絎竴涓?CGIC sqlite3 浠g爜http://www.tkk7.com/Supershen/archive/2008/03/01/183156.htmlSuper路shen BLOG Super路shen BLOG Sat, 01 Mar 2008 09:11:00 GMThttp://www.tkk7.com/Supershen/archive/2008/03/01/183156.htmlhttp://www.tkk7.com/Supershen/comments/183156.htmlhttp://www.tkk7.com/Supershen/archive/2008/03/01/183156.html#Feedback1http://www.tkk7.com/Supershen/comments/commentRss/183156.htmlhttp://www.tkk7.com/Supershen/services/trackbacks/183156.html
<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    鎻掑叆

    鐢ㄦ埛:
    瀵嗙爜:
    主站蜘蛛池模板: 亚洲精品一级无码鲁丝片| 亚洲免费闲人蜜桃| 久久午夜夜伦鲁鲁片免费无码影视 | 亚洲综合成人婷婷五月网址| 日韩激情淫片免费看| 中文在线观看免费网站| 亚洲人成影院77777| 久久亚洲高清综合| 一二三四在线播放免费观看中文版视频| 理论亚洲区美一区二区三区| 久久亚洲AV无码精品色午夜麻| 成年女人男人免费视频播放| 国产免费内射又粗又爽密桃视频 | 中文字幕在线免费观看| 亚洲Aⅴ在线无码播放毛片一线天| 国产亚洲精品自在久久| 日本无卡码免费一区二区三区| 亚洲一区二区在线免费观看| 色偷偷亚洲第一综合| 亚洲视频在线观看不卡| 久久精品国产精品亚洲| 噜噜嘿在线视频免费观看| 美女被cao网站免费看在线看| 亚洲a∨无码精品色午夜| 亚洲女人初试黑人巨高清| 亚洲综合无码AV一区二区 | 亚洲成综合人影院在院播放| 亚洲人成无码久久电影网站| 黄瓜视频高清在线看免费下载 | 免费欧洲毛片A级视频无风险| 97热久久免费频精品99| 国产日韩久久免费影院 | 亚洲精品免费视频| 国产福利在线观看永久免费| 亚洲精品乱码久久久久蜜桃| 亚洲视频免费在线看| 亚洲AV中文无码乱人伦下载| 亚洲情a成黄在线观看| 国产一区二区三区在线免费观看| 日本最新免费网站| 99在线观看视频免费| 澶勭悊欏甸潰add2.cgi 浠g爜 #include #include #include #include "sqlite3.h" #include "cgic.h" int cgiMain() { printf("Content-type:text/html\n\n"); printf(" "); sqlite3 *db=NULL; char *zErrMsg = 0; int rc; rc = sqlite3_open("test.db", &db); if(rc){ printf("Can't open database\n"); //榪欓噷鏀逛簡銆傝鏄寜鍘熷厛鐨勶紝浼氭彁紺簊tderr鏈畾涔夛紝鎴戜笉鐭ラ亾涓轟粈涔堛傚摢浣嶆湅鍙嬬煡閬撲竴瀹氳鍛婅瘔鎴戝摝銆? sqlite3_close(db); exit(1); } else printf("open test.db successfully!\n"); char username[241]; cgiFormString("username", username, 241); fprintf(cgiOut, "username:
    \n");
    cgiHtmlEscape(username);
    fprintf(cgiOut, "
    \n"); char password[241]; cgiFormString("password", password, 241); fprintf(cgiOut, "password:
    \n");
    cgiHtmlEscape(password);
    fprintf(cgiOut, "
    \n"); char sql[300]={'\0'}; //涓嶈兘鐢ㄦ寚閽? //鎻掑叆鏁版嵁 sprintf(sql, "INSERT INTO \"user\" VALUES('%s', '%s');", username,password); //sql = "INSERT INTO \"user\" VALUES('username', 'password');" ; sqlite3_exec( db , sql , 0 , 0 , &zErrMsg ); printf(sql); printf("鎻掑叆鏁版嵁鎴愬姛!\n"); int nrow = 0, ncolumn = 0; char **azResult; //浜岀淮鏁扮粍瀛樻斁緇撴灉 //鏌ヨ鏁版嵁 /* int sqlite3_get_table(sqlite3*, const char *sql,char***result , int *nrow , int *ncolumn ,char **errmsg ); result涓槸浠ユ暟緇勭殑褰㈠紡瀛樻斁浣犳墍鏌ヨ鐨勬暟鎹紝棣栧厛鏄〃鍚嶏紝鍐嶆槸鏁版嵁銆? nrow ,ncolumn鍒嗗埆涓烘煡璇㈣鍙ヨ繑鍥炵殑緇撴灉闆嗙殑琛屾暟錛屽垪鏁幫紝娌℃湁鏌ュ埌緇撴灉鏃惰繑鍥? */ char *sql2 = "SELECT * FROM user"; sqlite3_get_table( db , sql2 , &azResult , &nrow , &ncolumn , &zErrMsg ); int i = 0 ; printf( "row:%d column=%d
    " , nrow , ncolumn ); printf( "\nThe result of querying is : \n" ); for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ ) printf( "azResult[%d] = %s
    ", i , azResult[i] ); //閲婃斁鎺?azResult 鐨勫唴瀛樼┖闂? sqlite3_free_table( azResult ); sqlite3_close(db); //鍏抽棴鏁版嵁搴? return 0; } 璇鋒敞鎰忔暟鎹簱鏂囦歡 test.db鐨勮闂潈闄? 榪欓噷鏀規垚777!

    ]]>
    CGIC綆鏄庢暀紼?/title><link>http://www.tkk7.com/Supershen/archive/2008/02/28/182683.html</link><dc:creator>Super路shen BLOG </dc:creator><author>Super路shen BLOG </author><pubDate>Thu, 28 Feb 2008 06:19:00 GMT</pubDate><guid>http://www.tkk7.com/Supershen/archive/2008/02/28/182683.html</guid><wfw:comment>http://www.tkk7.com/Supershen/comments/182683.html</wfw:comment><comments>http://www.tkk7.com/Supershen/archive/2008/02/28/182683.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Supershen/comments/commentRss/182683.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Supershen/services/trackbacks/182683.html</trackback:ping><description><![CDATA[<p>[杞嚜] http://webdn.trueself.cn/archives/107</p> <img src ="http://www.tkk7.com/Supershen/aggbug/182683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Supershen/" target="_blank">Super路shen BLOG </a> 2008-02-28 14:19 <a href="http://www.tkk7.com/Supershen/archive/2008/02/28/182683.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>c瀛楃涓插鐞嗗嚱鏁?/title><link>http://www.tkk7.com/Supershen/archive/2008/02/27/182513.html</link><dc:creator>Super路shen BLOG </dc:creator><author>Super路shen BLOG </author><pubDate>Wed, 27 Feb 2008 08:35:00 GMT</pubDate><guid>http://www.tkk7.com/Supershen/archive/2008/02/27/182513.html</guid><wfw:comment>http://www.tkk7.com/Supershen/comments/182513.html</wfw:comment><comments>http://www.tkk7.com/Supershen/archive/2008/02/27/182513.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Supershen/comments/commentRss/182513.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Supershen/services/trackbacks/182513.html</trackback:ping><description><![CDATA[<p>◆ 浣跨敤strtok鍑芥暟鍒嗗壊銆?br />      鍘熷瀷錛歝har *strtok(char *s, char delim); <br />     strtok鍦╯涓煡鎵懼寘鍚湪delim涓殑瀛楃騫剁敤NULL('\0')鏉ユ浛鎹?鐩村埌鎵鵑亶鏁翠釜瀛楃涓層?nbsp; <br />      鍔熻兘錛氬垎瑙e瓧絎︿覆涓轟竴緇勫瓧絎︿覆銆俿涓鴻鍒嗚В鐨勫瓧絎︿覆錛宒elim涓哄垎闅旂瀛楃涓層?<br />     璇存槑錛氶嬈¤皟鐢ㄦ椂錛宻鎸囧悜瑕佸垎瑙g殑瀛楃涓詫紝涔嬪悗鍐嶆璋冪敤瑕佹妸s璁炬垚NULL銆?<br />                 strtok鍦╯涓煡鎵懼寘鍚湪delim涓殑瀛楃騫剁敤NULL('\0')鏉ユ浛鎹紝鐩村埌鎵鵑亶鏁翠釜瀛楃涓層?<br />     榪斿洖鍊鹼細浠巗寮澶村紑濮嬬殑涓涓釜琚垎鍓茬殑涓層傚綋娌℃湁琚垎鍓茬殑涓叉椂鍒欒繑鍥濶ULL銆?<br />                   鎵鏈塪elim涓寘鍚殑瀛楃閮戒細琚護鎺夛紝騫跺皢琚護鎺夌殑鍦版柟璁句負涓澶勫垎鍓茬殑鑺傜偣銆?<br /> <br /> 浣跨敤渚嬶細<br /> #include <stdio.h><br /> #include <string.h><br /> #include <stdio.h><br /> #include <string.h><br /> <br /> int main(int argc,char **argv)<br /> {<br />     char * buf1="aaa, ,a, ,,,bbb-c,,,ee|abc";<br /> <br />     /* Establish string and get the first token: */<br />     char* token = strtok( buf1, ",-|");<br />     while( token != NULL )<br />      {<br />            /* While there are tokens in "string" */<br />            printf( "%s ", token );<br />           /* Get next token: */<br />           token = strtok( NULL, ",-|");<br />      }<br />     return 0;<br /> }<br /> <br /> OUT 鍊鹼細 <br /> aaa<br /> <br /> a</p> <p>bbb<br /> c<br /> ee<br /> abc</p> <p>◆ 浣跨敤strstr鍑芥暟鍒嗗壊銆?/p> <p>    鍘熷瀷錛歟xtern char *strstr(char *haystack,char *needle);<br /> <br />     鐢ㄦ硶錛?include <string.h> <br />    鍔熻兘錛氫粠瀛楃涓瞙aystack涓鎵緉eedle絎竴嬈″嚭鐜扮殑浣嶇疆錛堜笉姣旇緝緇撴潫NULL) <br />    璇存槑錛氳繑鍥炴寚鍚戠涓嬈″嚭鐜皀eedle浣嶇疆鐨勬寚閽堬紝濡傛灉娌℃壘鍒板垯榪斿洖NULL銆?<br /> <br /> 浣跨敤渚嬶細<br /> #include <stdio.h><br /> #include <string.h></p> <p>int main(int argc,char **argv)<br /> {<br />      char *haystack="aaa||a||bbb||c||ee||";<br />      char *needle="||";<br />      char* buf = strstr( haystack, needle);<br />      while( buf != NULL )<br />      {<br />          buf[0]='\0';<br />          printf( "%s\n ", haystack);<br />           haystack = buf + strlen(needle);<br />           /* Get next token: */<br />           buf = strstr( haystack, needle);<br />      }<br />      return 0;<br /> }</p> <p>OUT 鍊鹼細 <br /> aaa<br /> a<br /> bbb<br /> c<br /> ee</p> <p>◆ strtok姣旇緝閫傚悎澶氫釜瀛楃浣滃垎闅旂鐨勫満鍚堬紝鑰宻trstr閫傚悎鐢ㄥ瓧絎︿覆浣滃垎闅旂鐨勫満鍚堛?/p><img src ="http://www.tkk7.com/Supershen/aggbug/182513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Supershen/" target="_blank">Super路shen BLOG </a> 2008-02-27 16:35 <a href="http://www.tkk7.com/Supershen/archive/2008/02/27/182513.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C璇█CGI紼嬪簭 POST琛ㄥ崟澶勭悊 http://www.tkk7.com/Supershen/archive/2008/02/27/182480.htmlSuper路shen BLOG Super路shen BLOG Wed, 27 Feb 2008 05:52:00 GMThttp://www.tkk7.com/Supershen/archive/2008/02/27/182480.htmlhttp://www.tkk7.com/Supershen/comments/182480.htmlhttp://www.tkk7.com/Supershen/archive/2008/02/27/182480.html#Feedback1http://www.tkk7.com/Supershen/comments/commentRss/182480.htmlhttp://www.tkk7.com/Supershen/services/trackbacks/182480.html     
     

     

    #include<stdio.h>
    #include<stdlib.h>    
    #define MAXLEN 80    
    #define EXTRA 5
    /*   4涓瓧鑺傜暀緇欏瓧孌電殑鍚嶅瓧"data",   1涓瓧鑺傜暀緇?="   */
    #define   MAXINPUT   MAXLEN+EXTRA+2 
    /*   1涓瓧鑺傜暀緇欐崲琛岀錛岃繕鏈変竴涓暀緇欏悗闈㈢殑NULL   */
    #define DATAFILE "../data/data.txt"
    /*   瑕佽娣誨姞鏁版嵁鐨勬枃浠?nbsp;  */

    void   unencode(char   *src,   char   *last,   char   *dest)
    {
     for(; src != last; src++, dest++)
      if(*src == "+")
       *dest = " ";
      else if(*src == "%") {    
       int   code;    
       if(sscanf(src+1,"%2x",&code)!=1)code="?";
       *dest=code;
       src   +=2;}
      else
       *dest=*src;
      *dest=" ";
      *++dest="";    
    }    

    int   main(void)    
    {    
     char *lenstr;
     char input[MAXINPUT], data[MAXINPUT];
     long len;
     
     printf("%s%c%c", "Content-Type:text/html;charset=gb2312",13,10);
     printf("<TITLE>Response</TITLE>");

     lenstr=getenv("CONTENT_LENGTH");
     if(lenstr==NULL || sscanf(lenstr,"%ld",&len)!=1 || len>MAXLEN)
      printf("<P>琛ㄥ崟鎻愪氦閿欒");
     else{
      FILE *f;
      fgets(input,   len+1,   stdin);
      unencode(input+EXTRA,   input+len,   data);

      f =fopen(DATAFILE, "a");
      if(f == NULL)    
       printf("<P>瀵逛笉璧鳳紝鎰忓閿欒錛屼笉鑳藉淇濆瓨浣犵殑鏁版嵁");    
      else
       fputs(data,   f);    
      fclose(f);
      printf("<P>闈炲父鎰熻阿錛屾偍鐨勬暟鎹凡緇忚淇濆瓨<BR>%s",data);    
     }    
     return   0;    
    }    

        
      銆銆   浠庢湰璐ㄤ笂鏉ョ湅錛岀▼搴忓厛浠嶤ONTENT_LENGTH鐜鍙橀噺涓緱鍒版暟鎹殑瀛楅暱錛岀劧鍚庤鍙栫浉搴旈暱搴︾殑瀛楃涓層傚洜涓烘暟鎹唴瀹瑰湪浼犺緭鐨勮繃紼嬩腑鏄粡榪囦簡緙栫爜鐨勶紝鎵浠ュ繀欏昏繘琛岀浉搴旂殑瑙g爜銆傜紪鐮佺殑瑙勫垯寰堢畝鍗曪紝涓昏鐨勬湁榪欏嚑鏉?     

    1.   琛ㄥ崟涓瘡涓瘡涓瓧孌電敤瀛楁鍚嶅悗璺熺瓑鍙鳳紝鍐嶆帴涓婁笂榪欎釜瀛楁鐨勫兼潵琛ㄧず錛屾瘡涓瓧孌典箣闂寸殑鍐呭鐢?amp;榪炵粨錛?nbsp;   2.   鎵鏈夌殑絀烘牸絎﹀彿鐢ㄥ姞鍙蜂唬鏇匡紝鎵浠ュ湪緙栫爜鐮佹涓嚭鐜扮┖鏍兼槸闈炴硶鐨勶紱    
    3.   鐗規畩鐨勫瓧絎︽瘮濡傛爣鐐圭鍙鳳紝鍜屼竴浜涙湁鐗瑰畾鎰忎箟鐨勫瓧絎﹀“+”錛岀敤鐧懼垎鍙峰悗璺熷叾瀵瑰簲鐨凙CSII鐮佸兼潵琛ㄧず銆?nbsp;   

    渚嬪錛氬鏋?a class="qs_highlight1" id="hl_5" onmouseover="window.clearTimeout(_ht[5]);qs_show_frame(event,this,5);" style="font-size: 1em" onclick="_write_cookie('click46',5);" onmouseout="_on_div[5]=false;_ht[5]=window.setTimeout('qs_is_on_div(5)',500);" target="_blank">鐢ㄦ埛杈撳叆鐨勬槸錛?nbsp;    
       
    Hello   there!    

    閭d箞鏁版嵁浼犻佸埌鏈嶅姟鍣ㄧ殑鏃跺欑粡榪囩紪鐮侊紝灝卞彉鎴愪簡data=Hello+there%21   涓婇潰鐨剈nencode錛堬級鍑芥暟灝辨槸鐢ㄦ潵鎶婄紪鐮佸悗鐨勬暟鎹繘琛岃В鐮佺殑銆傚湪瑙g爜瀹屾垚鍚庯紝鏁版嵁琚坊鍔犲埌data.txt鏂囦歡鐨勫熬閮紝騫跺湪嫻忚鍏朵腑鍥炴樉鍑烘潵銆?nbsp;   

    鎶婃枃浠剁紪璇戝畬鎴愬悗錛屾妸瀹冩敼鍚嶄負collect.cgi鍚庢斁鍦–GI鐩綍涓氨鍙互琚〃鍗曡皟鐢ㄤ簡銆備笅闈㈢粰鍑轟簡鍏剁浉搴旂殑琛ㄥ崟錛?nbsp;   

    <FORM   ACTION="/cgi-bin/collect.cgi"   METHOD="POST"   >
    <P>璇瘋緭鍏ユ偍鐨勭暀璦錛堟渶澶?0涓瓧絎︼級錛?lt;BR>
    <INPUT   NAME="data"   SIZE="60"   MAXLENGTH="80"   ><BR>
    <INPUT   TYPE="SUBMIT"   VALUE="紜畾">
    </FORM   >    
       
       
      銆銆   浜嬪疄涓婏紝榪欎釜紼嬪簭鍙兘浣滀負渚嬪瓙錛屾槸涓嶈兘澶熸寮忕殑浣跨敤鐨勩傚畠婕忔帀浜嗗緢鍏抽敭鐨勪竴涓棶棰橈細褰撴湁澶氫釜鐢ㄦ埛鍚屾椂鍍忔枃浠跺啓鍏ユ暟鎹槸錛岃偗瀹氫細鏈夐敊璇彂鐢熴傝屽浜庝竴涓繖鏍風殑紼嬪簭鑰岃█錛屾枃浠惰鍚屾椂鍐欏叆鐨勫嚑鐜囨槸寰堝ぇ鐨勩傚洜姝わ紝鍦ㄦ瘮杈冩寮忕殑鐣欒█鐗堢▼搴忎腑錛岄兘闇瑕佸仛涓浜涙洿澶氱殑鑰冭檻錛屾瘮濡傚姞鍏ヤ竴涓俊鍙烽噺錛屾垨鑰呮槸鍊熷姪浜庝竴涓挜鍖欐枃浠剁瓑銆傚洜涓洪偅鍙槸緙栫▼鐨勬妧宸ч棶棰橈紝鍦ㄨ繖鍎垮氨涓嶅璇翠簡銆?br />



    Super路shen BLOG 2008-02-27 13:52 鍙戣〃璇勮
    ]]>
    C璇█緙栧啓CGI紼嬪簭 http://www.tkk7.com/Supershen/archive/2008/02/26/182230.htmlSuper路shen BLOG Super路shen BLOG Tue, 26 Feb 2008 07:37:00 GMThttp://www.tkk7.com/Supershen/archive/2008/02/26/182230.htmlhttp://www.tkk7.com/Supershen/comments/182230.htmlhttp://www.tkk7.com/Supershen/archive/2008/02/26/182230.html#Feedback0http://www.tkk7.com/Supershen/comments/commentRss/182230.htmlhttp://www.tkk7.com/Supershen/services/trackbacks/182230.html
    綆鍗曡緭鍑轟唬鐮?br />

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    void main()
    {
    printf("Content-type:text/html\n\n");

    printf("hello world!");

    fflush(stdout);

    }



    澶勭悊get浠g爜

    #include <stdio.h>
    #include <stdlib.h>
    int zmain(void)
    {char *data;
    long m,n;
    printf("%s%c%c\n","Content-Type:text/html;charset=iso-8859-1",13,10);
    printf("<TITLE>Multiplication results</TITLE>\n");
    printf("<H3>Multiplication results</H3>\n");
    data = getenv("QUERY_STRING");
    if(data == NULL) 
    printf("<P>Error! Error in passing data from form to script.");
    else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2) 
    printf("<P>Error! Invalid data. Data must be numeric.");
    else 
    printf("<P>The product of %ld and %ld is %ld.",m,n,m*n);
    return 0;
    }


    澶勭悊post浠g爜

    #include<stdio.h>
    #include<stdlib.h>
    void main()
    {
     int i,n;
     printf("Content-type:text/html\n\n");
     n=0;
     if(getenv("CONTENT_LENGTH"))
      n=atoi(getenv("CONTENT_LENGTH"));
     printf("%d",n);
     for(i=0;i<n;i++)
      putchar(getchar());
     putchar('\n');
     fflush(stdout);
    }



    榪樻槸浠g爜


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    /* 杞崲鍑芥暟澹版槑 */
    int htoi(char *);

    /*  涓誨嚱鏁?*/
    void zmain() {
     int i,n;
     char c;
     printf ("Content-type: text/html\n\n");
     n=0;
     if (getenv("CONTENT_LENGTH"))
      n=atoi(getenv("CONTENT_LENGTH"));
     for (i=0; i<n;i++){
      
      int is_eq=0; //鍒ゆ柇鏄惁鏈夌瓑浜庡彿銆?br />   
      c=getchar();
      switch(c){
      case '&':
       c='\n';
       break;
      case '+':
       c='+';
       break;
      case '%':
       {
        char s[3];
        s[0]=getchar();
        s[1]=getchar();
        s[2]=0;
        c=htoi(s);
        i+=2;
       }
       break;
      case '=':
       c='=';
       is_eq=1;
       break;
      };
      
      putchar(c);
      //if (is_eq) putchar(' ');
     }
     putchar ('\n');
     fflush(stdout);
    }

    /* 杞崲涓哄皬鍐?*/
    int islower (int ch ) 

    {
        return (unsigned int) (ch - 'a') < 26u;
    }


    /* convert hex string to int 16榪涘埗杞崲鎴?0榪涘埗 */
    int htoi(char *s)

    {
     
     char *digits="0123456789ABCDEF";
     
     if(islower(s[0])) s[0]=toupper(s[0]);
     if(islower(s[1])) s[1]=toupper(s[1]);
     
     return 16 * (strchr(digits, s[0]) -strchr(digits,'0') ) +(strchr(digits,s[1])-strchr(digits,'0'));
     
    }


    #include<stdio.h>
    #include<stdlib.h>
    void zzzmain()
    {
     int i,n;
     printf("Content-type:text/html\n\n");
     n=0;
     if(getenv("CONTENT_LENGTH"))
      n=atoi(getenv("CONTENT_LENGTH"));
     printf("%d",n);
     for(i=0;i<n;i++)
      putchar(getchar());
     putchar('\n');
     fflush(stdout);
    }

     



    Super路shen BLOG 2008-02-26 15:37 鍙戣〃璇勮
    ]]>
    dwr鏁欑▼2http://www.tkk7.com/Supershen/archive/2008/01/18/176287.htmlSuper路shen BLOG Super路shen BLOG Fri, 18 Jan 2008 09:14:00 GMThttp://www.tkk7.com/Supershen/archive/2008/01/18/176287.htmlhttp://www.tkk7.com/Supershen/comments/176287.htmlhttp://www.tkk7.com/Supershen/archive/2008/01/18/176287.html#Feedback0http://www.tkk7.com/Supershen/comments/commentRss/176287.htmlhttp://www.tkk7.com/Supershen/services/trackbacks/176287.html

    Super路shen BLOG 2008-01-18 17:14 鍙戣〃璇勮
    ]]>
    DWR瀹炰緥鏁欑▼http://www.tkk7.com/Supershen/archive/2008/01/18/176207.htmlSuper路shen BLOG Super路shen BLOG Fri, 18 Jan 2008 06:43:00 GMThttp://www.tkk7.com/Supershen/archive/2008/01/18/176207.htmlhttp://www.tkk7.com/Supershen/comments/176207.htmlhttp://www.tkk7.com/Supershen/archive/2008/01/18/176207.html#Feedback27http://www.tkk7.com/Supershen/comments/commentRss/176207.htmlhttp://www.tkk7.com/Supershen/services/trackbacks/176207.html
    浠ヤ笂鎽樿嚜open-open錛屽畠閫氳繃鍙嶅皠錛屽皢java緲昏瘧鎴恓avascript錛岀劧鍚庡埄鐢ㄥ洖璋冩満鍒訛紝杞繪澗瀹炵幇浜唈avascript璋冪敤Java浠g爜銆?br />
    鍏跺ぇ姒傚紑鍙戣繃紼嬪涓嬶細
    1.緙栧啓涓氬姟浠g爜錛岃浠g爜鏄拰dwr鏃犲叧鐨勩?br /> 2.紜涓氬姟浠g爜涓摢浜涚被銆佸摢浜涙柟娉曟槸瑕佺敱javascript鐩存帴璁塊棶鐨勩?br /> 3.緙栧啓dwr緇勪歡錛屽姝ラ2鐨勬柟娉曡繘琛屽皝瑁呫?br /> 4.閰嶇疆dwr緇勪歡鍒癲wr.xml鏂囦歡涓紝濡傛灉鏈夊繀瑕侊紝閰嶇疆convert錛岃繘琛宩ava鍜宩avascript綾誨瀷浜掕漿銆?br /> 5.閫氳繃鍙嶅皠鏈哄埗錛宒wr灝嗘楠?鐨勭被杞崲鎴恓avascript浠g爜錛屾彁渚涚粰鍓嶅彴欏甸潰璋冪敤銆?br /> 5.緙栧啓緗戦〉錛岃皟鐢ㄦ楠?鐨刯avascript涓殑鐩稿叧鏂規硶錛堥棿鎺ヨ皟鐢ㄦ湇鍔″櫒绔殑鐩稿叧綾葷殑鏂規硶錛夛紝鎵ц涓氬姟閫昏緫錛屽皢鎵ц緇撴灉鍒╃敤鍥炶皟鍑芥暟榪斿洖銆?br /> 6.鍦ㄥ洖璋冨嚱鏁頒腑錛屽緱鍒版墽琛岀粨鏋滃悗錛屽彲浠ョ戶緇紪鍐欎笟鍔¢昏緫鐨勭浉鍏砵avascript浠g爜銆?br />
    涓嬮潰浠ョ敤鎴鋒敞鍐岀殑渚嬪瓙錛屾潵璇存槑鍏朵嬌鐢ㄣ傦紙娉ㄦ剰錛屾湰嬈′緥瀛愬彧鏄敤浜庢紨紺猴紝璇存槑DWR鐨勪嬌鐢紝綾昏璁″茍涓嶆槸鏈浼樼殑錛夈?br />
    1.鍏堜粙緇嶄笅鐩稿叧鐨凧ava綾?br />
      User: 鐢ㄦ埛綾伙紝
      public class User {
    //鐧婚檰ID錛屼富閿敮涓
    private String id;
    //濮撳悕
    private String name;
    //鍙d護
    private String password;
    //鐢靛瓙閭歡
    private String email;
            
    //浠ヤ笅鍖呭惈getXXX鍜宻etXXX鏂規硶
    .......
      }

      UserDAO錛氬疄鐜癠ser鐨勬暟鎹簱璁塊棶錛岃繖閲屼綔涓轟竴涓紨紺猴紝緙栧啓嫻嬭瘯浠g爜
      public class UserDAO {
        //瀛樻斁淇濆瓨鐨勬暟鎹?br />     private static Map dataMap = new HashMap();

        //鎸佷箙鐢ㄦ埛
        public boolean save(User user) {
          if (dataMap.containsKey(user.getId()))
            return false;
          System.out.println("涓嬮潰寮濮嬩繚瀛樼敤鎴?);
          System.out.println("id錛?+user.getId());
          System.out.println("password錛?+user.getPassword());
          System.out.println("name錛?+user.getName());
          System.out.println("email錛?+user.getEmail());
          dataMap.put(user.getId(), user);
          System.out.println("鐢ㄦ埛淇濆瓨緇撴潫");
          return true;
        }

        //鏌ユ壘鐢ㄦ埛
        public User find(String id) {
          return (User)dataMap.get(id);
        }
    }

      DWRUserAccess錛欴WR緇勪歡錛屾彁渚涚粰javascript璁塊棶鐨勩?br />
      public class DWRUserAccess {

          UserDAO userDAO = new UserDAO();

          public boolean save(User user) {
            return userDAO.save(user);
          }

          public User find(String id) {
            return userDAO.find(id);
          }
      }
      

      涓嬮潰璇存槑涓嬬▼搴忔墽琛岀殑嫻佺▼

      1.鐢ㄦ埛鍦ㄩ〉闈笂杈撳叆鐩稿叧娉ㄥ唽淇℃伅錛宨d銆乶ame銆乸assword銆乪mail錛岀偣鍑?#8220;鎻愪氦”鎸夐挳
      2.javascript浠g爜寮濮嬫墽琛岋紝鏍規嵁鐢ㄦ埛濉啓鐩稿叧淇℃伅錛岄氳繃dwr鎻愪緵鐨凞WRUserAccess.js閲宻ave鐨勬柟娉曪紝璋冪敤鏈嶅姟鍣ㄧ鐨凞WRUserAccess綾籹ave鏂規硶錛屽皢娉ㄥ唽淇℃伅淇濆瓨銆?br />   3.閫氳繃DWRUserAccess.jsp閲岀殑find鏂規硶錛岃皟鐢ㄦ湇鍔″櫒绔疍WRUserAccess綾婚噷鐨刦ind鏂規硶錛屾墽琛岀敤鎴蜂俊鎭煡鎵俱?br />
      娉ㄦ剰錛屽湪浠ヤ笂鐨勬墽琛岃繃紼嬩腑錛孌WRUserAccess鏄緵DWR璋冪敤鐨勶紝鏄疍WR緇勪歡錛屽洜姝ら渶瑕佸皢DWRUserAccess綾婚厤緗埌dwr涓?br />
      鎺ヤ笅鏉ヨ瑙f湰嬈wr嫻嬭瘯鐜鐨勯厤緗?br />
      1.鏂板緩涓涓獁ebapp錛屽懡鍚嶄負testApp
      2.灝哾wr.jar鎷瘋礉鍒皌estApp鐨刉EB-INF鐨刲ib鐩綍涓?br />   3.緙栬瘧涓婇潰鐨刄ser錛孶serDAO錛孌WRUserAccess綾伙紝鏀懼埌classes鐩綍涓?br />   4.鍦╳eb.xml涓厤緗畇ervlet,閫傞厤璺緞鍒癲wr鐩綍涓?濡備笅鎵紺?br />     <servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <display-name>DWR Servlet</display-name>
        <description>Direct Web Remoter Servlet</description>
        <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
        <init-param>
          <param-name>debug</param-name>
          <param-value>true</param-value>
        </init-param>
        <init-param>
          <param-name>scriptCompressed</param-name>
          <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>

      <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
      </servlet-mapping>

      浠ヤ笂鐨勯厤緗彲浠ユ嫤鎴猼estApp涓嬫墍鏈夋寚鍚慸wr鐨勮姹傦紝鍏充簬榪欎釜鎷︽埅鍣紝鎴戜滑浼氬湪鍚庨潰浠嬬粛銆?br />
      5.WEB-INF涓嬫柊寤轟竴涓猟wr.xml鏂囦歡錛屽唴瀹瑰涓嬶細
      < xml version="1.0" encoding="UTF-8" >
    <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">

    <dwr>
      <allow>
    <create creator="new" javascript="DWRUserAccess">
          <param name="class" value="test.DWRUserAccess"/>
        </create>
    <convert converter="bean" match="test.User"/>
      </allow>
    </dwr>

      榪欓噷鎴戜滑鎶奃WRUserAccess閰嶇疆鍒頒簡dwr涓紝create鍏冪礌涓紝creater="new"琛ㄧず姣忚皟鐢ㄤ竴嬈WRUserAccess鏃訛紝闇瑕乶ew涓涓繖鏍風殑綾伙紱javascript="DWRUserAccess"錛岃〃紺烘彁渚涚粰鍓嶅彴欏甸潰璋冪敤鐨刯avascirpt鏂囦歡鏄疍WRUserAccess.js銆?br />
      convert鍏冪礌鐢ㄤ簬鏁版嵁綾誨瀷杞崲錛屽嵆java綾誨拰javascript涔嬮棿鐩鎬簰杞崲錛屽洜涓哄拰鍓嶅彴浜ゆ崲鐨勬槸User瀵硅薄錛屽洜姝ら渶瑕佸姝や嬌鐢╞ean杞崲錛屾垜浠皢鍦ㄥ悗闈粙緇嶈繖涓被銆?br />
      4.緙栧啓嫻嬭瘯鐨凥TML欏甸潰 test.html
       <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>DWR嫻嬭瘯</TITLE>
    <meta http-equiv=Content-Type content="text/html; charset=gb2312">
    <script src="/oblog312/dwr/engine.js"></script>
    <script src="/oblog312/dwr/util.js"></script>
    <script src="/oblog312/dwr/interface/DWRUserAccess.js"></script>
    </HEAD>
    <BODY>
    <B>鐢ㄦ埛娉ㄥ唽</B><br>
    ------------------------------------------------
    <Br>
    <form name="regForm">
    鐧婚檰ID錛?lt;input type="text" name="id"><br>
    鍙?nbsp; 浠わ細<input type="password" name="password"><br>
    濮?nbsp; 鍚嶏細<input type="text" name="name"><br>
    鐢靛瓙閭歡錛?lt;input type="text" name="email"><br>
    <input type="button" name="submitBtn" value="鎻愪氦" onclick="OnSave()"><br>
        </form>

    <br>
    <br><B>鐢ㄦ埛鏌ヨ</B><br>
    ------------------------------------------------
    <Br>
    <form name="queryForm">
    鐧婚檰ID錛?lt;input type="text" name="id"><br>
    <input type="button" name="submitBtn" value="鎻愪氦" onclick="OnFind()"><br>
    </form>
    <br>
    </BODY>
    </HTML>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function saveFun(data) {
    if (data) {
      alert("娉ㄥ唽鎴愬姛錛?);
    } else {
      alert("鐧婚檰ID宸茬粡瀛樺湪錛?);
    }
    }

    function OnSave() {
    var userMap = {};
    userMap.id = regForm.id.value;
    userMap.password = regForm.password.value;
    userMap.name = regForm.name.value;
    userMap.email = regForm.email.value;
    DWRUserAccess.save(userMap, saveFun);
    }

    function findFun(data) {
    if (data == null) {
      alert("鏃犳硶鎵懼埌鐢ㄦ埛錛?+queryForm.id.value);
      return;
    }

    alert("鎵懼埌鐢ㄦ埛錛宯id錛?+data.id+"錛宯password錛?+data.password+"錛宯name錛?+data.name+"錛宯email錛?+data.email);

    }

    function OnFind() {
    DWRUserAccess.find(queryForm.id.value, findFun);
    }
    //-->
    </SCRIPT>


    浠ヤ笅瀵歸〉闈㈢殑javascript榪涜瑙i噴

    <script src="/oblog312/dwr/engine.js"></script>
    <script src="/oblog312/dwr/util.js"></script>
    榪欎袱涓槸dwr鎻愪緵鐨勶紝鐢ㄦ埛鍙互涓嶅繀鍏沖績錛屽彧闇瑕佸鍏ュ嵆鍙?br />
    <script src="/oblog312/dwr/interface/DWRUserAccess.js"></script>
    鏄垜浠紪鍐欑殑DWRUserAccess綾伙紝緇廳wr鍙嶅皠鍚庯紝鐢熸垚鐨刯avascript浠g爜錛屽畠鍜孌WRUserAccess.java鏄搴旂殑錛屼緵鐢ㄦ埛璋冪敤錛屽疄闄呬笂鎴戜滑灝辨槸閫氳繃榪欎釜js鏂囦歡鍘昏皟鐢ㄦ湇鍔″櫒绔殑DWRUserAccess綾葷殑銆?br />
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function saveFun(data) {
    if (data) {
      alert("娉ㄥ唽鎴愬姛錛?);
    } else {
      alert("鐢ㄦ埛鍚嶅凡緇忓瓨鍦紒");
    }
    }

    function OnSave() {
    var userMap = {};
    userMap.id = regForm.id.value;
    userMap.password = regForm.password.value;
    userMap.name = regForm.name.value;
    userMap.email = regForm.email.value;
    DWRUserAccess.save(userMap, saveFun);
    }

    function findFun(data) {
    if (data == null) {
      alert("鏃犳硶鎵懼埌鐢ㄦ埛錛?+queryForm.id.value);
      return;
    }

    alert("鎵懼埌鐢ㄦ埛錛宯id錛?+data.id+"錛宯password錛?+data.password+"錛宯name錛?+data.name+"錛宯email錛?+data.email);

    }

    function OnFind() {
    DWRUserAccess.find(queryForm.id.value, findFun);
    }
    //-->
    </SCRIPT>

    榪欐javascirpt浠g爜錛屾垜浠潵鐪嬩笅OnSave鍑芥暟錛岄鍏堝畠鏋勯犱竴涓猰ap錛屽皢琛ㄥ崟鏁版嵁閮借緗埌map涓紝鐒跺悗璋冪敤DWRUserAccess.save(userMap, saveFun)錛屾墽琛宻ave鎿嶄綔銆傚ぇ瀹跺彲浠ユ敞鎰忓埌錛屾湇鍔″櫒绔殑DWRUserAccess涓殑save鏂規硶鏄繖鏍風殑錛歜oolean save(User user)錛屽叾鍙傛暟鏄竴涓猆ser瀵硅薄錛岃繑鍥炰竴涓猙oolean鍊鹼紱鑰屽鎴風鐨勬柟娉曟槸榪欐牱鐨勶細save(userMap,saveFun)錛岀涓涓弬鏁皍serMap鏄痡avascirpt涓殑map瀵硅薄錛屽湪榪欓噷鐩稿綋浜庢湇鍔″櫒绔殑User瀵硅薄錛堝湪鏈嶅姟鍣ㄧ鎵ц鏃訛紝浼氶氳繃convert杞崲鎴怳ser瀵硅薄錛夛紝鍓嶉潰鎴戜滑鎻愬埌dwr鏄埄鐢ㄥ洖璋冨嚱鏁版潵榪斿洖鎵ц緇撴灉鐨勶紝絎簩涓弬鏁皊aveFun鍗蟲槸涓涓洖璋冨嚱鏁般傚湪鍑芥暟function saveFun(data)涓紝data鏄墽琛岀粨鏋滐紝榪欓噷鏄竴涓猙ool鍊鹼紝闈炲父綆鍗曠殑錛屾垜浠氳繃鍒ゆ柇data鏄惁涓虹湡錛屽彲浠ョ煡閬撶敤鎴峰悕鏄惁閲嶅錛岀敤鎴鋒槸鍚︽敞鍐屾垚鍔熴?br />
    鐪嬩竴涓婳nFind鏌ユ壘鍑芥暟錛屾墽琛岀粨鏋滃湪鍥炶皟鍑芥暟findFun(data)涓紝鍥犱負鏈嶅姟鍣ㄧ榪斿洖鐨勬槸涓涓猆ser瀵硅薄錛岄氳繃convert錛屽皢浼氳漿鎹㈡垚javascript鐨勪竴涓猰ap瀵硅薄錛?br /> 浜庢槸鍦╢indFun涓紝閫氳繃data.id銆乨ata.name銆乨ata.password銆乨ata.email鎴戜滑鍙互杞繪澗鐨勮闂埌榪欎釜User瀵硅薄銆?br />

    濂戒簡閰嶇疆瀹屾瘯錛屽惎鍔ㄦ湇鍔″櫒錛屽湪鐩綍涓墦鍏ocalhost/testApp/test.html銆?br />
    1.鍦?#8220;鐢ㄦ埛娉ㄥ唽”琛ㄥ崟涓紝id妗嗕腑杈撳叆admin錛宲assword涓緭鍏?23456錛宯ame涓緭鍏henbug錛宔mail涓緭鍏henbug@zj.com錛岀偣鍑繪彁浜ゆ寜閽紝寮瑰嚭瀵硅瘽妗嗭細“娉ㄥ唽鎴愬姛”錛屽湪鏈嶅姟鍣ㄥ悗鍙板彲浠ョ湅鍒頒俊鎭涓嬶細

    涓嬮潰寮濮嬩繚瀛樼敤鎴?br /> id錛歛dmin
    password錛?23456
    name錛歝henbug
    email錛歝henbug@zj.com
    鐢ㄦ埛淇濆瓨緇撴潫

    鍐嶆鐐瑰嚮鎻愪氦鎸夐挳錛屽脊鍑哄璇濇“鐧婚檰ID宸茬粡瀛樺湪”銆?br />
    2.鍦?#8220;鐢ㄦ埛鏌ヨ”瀵硅瘽妗嗕腑錛岃緭鍏ョ櫥闄咺D涓篴dmin錛岀偣鍑繪彁浜ゆ寜閽紝鎻愮ず鎵懼埌鐢ㄦ埛錛屽茍鏄劇ず鐩稿叧淇℃伅錛岃緭鍏dmin123錛岀偣鍑繪彁浜ゆ寜閽紝鎻愮ず鏃犳硶鎵懼埌鐢ㄦ埛銆?br />
    鑷蟲錛屾祴璇曠粨鏉熴?br />

    鍚庣畫錛?br /> 1銆傛嫤鎴櫒 uk.ltd.getahead.dwr.DWRServlet
    璇ョ被鎷︽埅鎵鏈夋寚鍚慸wr鐩綍涓嬬殑璇鋒眰錛屽茍璋冪敤Processor鐨刪andler鏂規硶榪涜澶勭悊錛屽湪uk.ltd.getahead.dwr.impl.DefaultProcessor涓嬶紝鎴戜滑鍙互鐪嬪埌璇︾粏鐨勫鐞嗚繃紼嬨?br /> if (pathInfo.length() == 0 ||
                pathInfo.equals(HtmlConstants.PATH_ROOT) ||
                pathInfo.equals(req.getContextPath()))
            {
                resp.sendRedirect(req.getContextPath() + servletPath + HtmlConstants.FILE_INDEX);
            }
            else if (pathInfo.startsWith(HtmlConstants.FILE_INDEX))
            {
                index.handle(req, resp);
            }
            else if (pathInfo.startsWith(HtmlConstants.PATH_TEST))
            {
                test.handle(req, resp);
            }
            else if (pathInfo.startsWith(HtmlConstants.PATH_INTERFACE))
            {
                iface.handle(req, resp);
            }
            else if (pathInfo.startsWith(HtmlConstants.PATH_EXEC))
            {
                exec.handle(req, resp);
            }
            else if (pathInfo.equalsIgnoreCase(HtmlConstants.FILE_ENGINE))
            {
                file.doFile(req, resp, HtmlConstants.FILE_ENGINE, HtmlConstants.MIME_JS);
            }
            else if (pathInfo.equalsIgnoreCase(HtmlConstants.FILE_UTIL))
            {
                file.doFile(req, resp, HtmlConstants.FILE_UTIL, HtmlConstants.MIME_JS);
            }
            else if (pathInfo.equalsIgnoreCase(HtmlConstants.FILE_DEPRECATED))
            {
                file.doFile(req, resp, HtmlConstants.FILE_DEPRECATED, HtmlConstants.MIME_JS);
            }
            else
            {
                log.warn("Page not found (" + pathInfo + "). In debug/test mode try viewing /[WEB-APP]/dwr/"); //$NON-NLS-1$ //$NON-NLS-2$
                resp.sendError(HttpServletResponse.SC_NOT_FOUND);
            }

    閫氳繃鍒ゆ柇request璇鋒眰鐨剆ervlet璺緞錛岃繘琛屽鐞嗭紝澶у鍙互鑷繁鍘誨弬鐪嬶紝榪欓噷涓嶈緇嗚璁恒?br />

    2.bean杞崲鍣紝<convert converter="bean" match="test.User"/>
    灝哾wr.jar瑙e帇緙╋紝鍦ㄨ礬寰剈kltdgetaheaddwr涓嬪彲浠ョ湅鍒癲wr.xml錛岃繖閲岄厤緗簡緋葷粺榛樿鐨勪竴浜涜漿鎹㈠櫒錛?br /> <converter id="bean" class="uk.ltd.getahead.dwr.convert.BeanConverter"/>鍗蟲槸鍒氭墠鐢ㄥ埌User綾葷殑杞崲鍣紝榪涘叆浠g爜鎴戜滑鏉ョ湅鐪嬪畠鏄浣曞湪javascript鍜宩ava闂磋繘琛岃漿鎹㈢殑銆?br />
    鎵撳紑BeanConverter浠g爜錛屽畾浣嶅埌鍑芥暟

    public Object convertInbound(Class paramType, InboundVariable iv, InboundContext inctx) throws ConversionException

    鍗蟲槸灝唈avascript瀵硅薄杞崲鎴恓ava瀵硅薄鐨勶紝鍏朵腑
    paramType鍗矯lass綾誨瀷錛屽湪涓婇潰鐨勪緥瀛愪腑鏄痶est.User錛?br /> InboundVariable iv錛屾槸浼犲叆鐨勫鹼紝閫氳繃iv.getValue鍙互寰楀埌浼犲叆鐨刯avascript鍊間覆
    InboundContext inctx錛屾槸鍏ュ彛鍙傛暟涓婁笅鏂囷紝鐢ㄤ簬淇濆瓨杞崲鐨勫悗java瀵硅薄銆?br />
    鍥犱負鍓嶅彴浼犲叆鐨勬槸涓涓猨avascript鐨刴ap綾誨瀷錛岃宮ap鑲畾鏄互{寮濮嬪拰浠緇撴潫鐨勶紝浜庢槸鍦ㄨ繖涓嚱鏁頒竴寮濮嬭繘琛屼簡鍒ゆ柇
    if (!value.startsWith(ConversionConstants.INBOUND_MAP_START))
            {
                throw new IllegalArgumentException(Messages.getString("BeanConverter.MissingOpener", ConversionConstants.INBOUND_MAP_START)); //$NON-NLS-1$
            }

            if (!value.endsWith(ConversionConstants.INBOUND_MAP_END))
            {
                throw new IllegalArgumentException(Messages.getString("BeanConverter.MissingCloser", ConversionConstants.INBOUND_MAP_START)); //$NON-NLS-1$
            }

    javascript涓紝map閲屽悇涓」鏄敤閫楀彿榪炴帴鐨勶紝濡倂ar userMap = {id:'admin',password:'123456',name:'chenbug',email:'chenbug@zj.com'};鑰屾瘡涓」鐨勯敭鍊煎鏄敤鍐掑彿榪炴帴鐨勶紝
    鍦╟onvertInbound鍑芥暟鐨勬帴涓嬫潵鐨勫鐞嗕腑錛屽嵆鏄氳繃鍒嗘瀽map瀛椾覆錛岄氳繃paramType鏋勯爅ava瀹炰緥錛堝嵆User綾伙級錛岀劧鍚庨氳繃鍙嶅皠錛屽皢榪欎簺閿煎璁劇疆鍒癹ava瀹炰緥涓紝騫惰繑鍥炪?br /> 榪欐牱灝卞畬鎴愪簡javascript鍒癹ava鐨勮漿鎹€?br />

    鍙︿竴涓嚱鏁?br /> public String convertOutbound(Object data, String varname, OutboundContext outctx) throws ConversionException

    鍗蟲槸灝唈ava瀵硅薄杞崲涓簀avascript瀵硅薄錛堝叾瀹炴槸澹版槑鍜岃祴鍊艱鍙ワ級銆?br /> Object data 錛屾槸寰呰漿鎹㈢殑java瀵硅薄
    String varname錛屾槸javascript涓殑璇ュ璞$殑鍙橀噺鍚?br /> OutboundContext outctx錛屼紶鍑哄弬鏁頒笂涓嬫枃錛岀敤浜庝繚瀛樿漿鎹㈠悗鐨刯avascript鍊?br />
    StringBuffer buffer = new StringBuffer();
            buffer.append("var "); //$NON-NLS-1$
            buffer.append(varname);
            buffer.append("={};"); //$NON-NLS-1$
    榪欓噷澹版槑浜唌ap綾誨瀷鐨勫彉閲忋?br />
    鍗充笅鏉ユ潵鐨勪唬鐮佸嵆鏄氳繃鍙嶅皠榪涜鍙橀噺璧嬪鹼紝濡備笅
      buffer.append(varname);
                        buffer.append('.');
                        buffer.append(name);
                        buffer.append('=');
                        buffer.append(nested.getAssignCode());
                        buffer.append(';');
    澶у鍙互鑷繁鍘誨弬鐪嬫洿澶氱殑浠g爜銆?br />
    3.dwr鏈韓鎻愪緵浜嗕竴涓祴璇曠幆澧冿紝澶у鍦ㄩ厤緗畬鍚庯紝鍙互鍦↖E涓緭鍏ュ湴鍧http://localhost/testApp/dwr/index.html錛岀湅鍒伴厤緗殑鍚凞WR緇勪歡錛屽茍榪涜鐩稿叧嫻嬭瘯銆?

    Super路shen BLOG 2008-01-18 14:43 鍙戣〃璇勮
    ]]>