??xml version="1.0" encoding="utf-8" standalone="yes"?>国产在线视频欧美一区二区三区,亚洲精品亚洲人成人网,亚洲第一区中文99精品http://www.aygfsteel.com/wldandan/category/23452.htmlzh-cnFri, 13 Jul 2012 11:13:54 GMTFri, 13 Jul 2012 11:13:54 GMT60从零开始学习Gradle之二---如何使用Taskhttp://www.aygfsteel.com/wldandan/archive/2012/07/05/382246.html想飞飞想飞飞Thu, 05 Jul 2012 05:42:00 GMThttp://www.aygfsteel.com/wldandan/archive/2012/07/05/382246.htmlhttp://www.aygfsteel.com/wldandan/comments/382246.htmlhttp://www.aygfsteel.com/wldandan/archive/2012/07/05/382246.html#Feedback0http://www.aygfsteel.com/wldandan/comments/commentRss/382246.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/382246.html阅读全文

想飞飞 2012-07-05 13:42 发表评论
]]>
从零开始学习Gradle之一---初识Gradlehttp://www.aygfsteel.com/wldandan/archive/2012/06/27/381605.html想飞飞想飞飞Wed, 27 Jun 2012 07:32:00 GMThttp://www.aygfsteel.com/wldandan/archive/2012/06/27/381605.htmlhttp://www.aygfsteel.com/wldandan/comments/381605.htmlhttp://www.aygfsteel.com/wldandan/archive/2012/06/27/381605.html#Feedback4http://www.aygfsteel.com/wldandan/comments/commentRss/381605.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/381605.html阅读全文

想飞飞 2012-06-27 15:32 发表评论
]]>
Gradle, ZDSL的新一代Java构徏工具http://www.aygfsteel.com/wldandan/archive/2012/06/26/381532.html想飞飞想飞飞Tue, 26 Jun 2012 09:38:00 GMThttp://www.aygfsteel.com/wldandan/archive/2012/06/26/381532.htmlhttp://www.aygfsteel.com/wldandan/comments/381532.htmlhttp://www.aygfsteel.com/wldandan/archive/2012/06/26/381532.html#Feedback0http://www.aygfsteel.com/wldandan/comments/commentRss/381532.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/381532.html  阅读全文

想飞飞 2012-06-26 17:38 发表评论
]]>
如何消除VeraCode中的OS Command Injection Issue(CWE ID 78)http://www.aygfsteel.com/wldandan/archive/2011/09/06/358066.html想飞飞想飞飞Tue, 06 Sep 2011 02:28:00 GMThttp://www.aygfsteel.com/wldandan/archive/2011/09/06/358066.htmlhttp://www.aygfsteel.com/wldandan/comments/358066.htmlhttp://www.aygfsteel.com/wldandan/archive/2011/09/06/358066.html#Feedback0http://www.aygfsteel.com/wldandan/comments/commentRss/358066.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/358066.htmlq里主要ȝ一下如何消除Veracode结果中的OS Command Injection((CWE ID 78)) 的问?.....  阅读全文

想飞飞 2011-09-06 10:28 发表评论
]]>
如何消除VeraCode中的SQL Injection Issue(CWE ID 89)http://www.aygfsteel.com/wldandan/archive/2011/09/05/357991.html想飞飞想飞飞Mon, 05 Sep 2011 06:09:00 GMThttp://www.aygfsteel.com/wldandan/archive/2011/09/05/357991.htmlhttp://www.aygfsteel.com/wldandan/comments/357991.htmlhttp://www.aygfsteel.com/wldandan/archive/2011/09/05/357991.html#Feedback1http://www.aygfsteel.com/wldandan/comments/commentRss/357991.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/357991.htmlq里主要ȝ一下如何消除Veracode结果中的SQL Injection 的问?.....  阅读全文

想飞飞 2011-09-05 14:09 发表评论
]]>
使用Grails构徏REST APIhttp://www.aygfsteel.com/wldandan/archive/2010/10/28/336393.html想飞飞想飞飞Thu, 28 Oct 2010 09:38:00 GMThttp://www.aygfsteel.com/wldandan/archive/2010/10/28/336393.htmlhttp://www.aygfsteel.com/wldandan/comments/336393.htmlhttp://www.aygfsteel.com/wldandan/archive/2010/10/28/336393.html#Feedback0http://www.aygfsteel.com/wldandan/comments/commentRss/336393.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/336393.html阅读全文

想飞飞 2010-10-28 17:38 发表评论
]]>
修正Grails in Action中上传文件的Ҏhttp://www.aygfsteel.com/wldandan/archive/2010/08/11/328554.html想飞飞想飞飞Wed, 11 Aug 2010 08:48:00 GMThttp://www.aygfsteel.com/wldandan/archive/2010/08/11/328554.htmlhttp://www.aygfsteel.com/wldandan/comments/328554.htmlhttp://www.aygfsteel.com/wldandan/archive/2010/08/11/328554.html#Feedback0http://www.aygfsteel.com/wldandan/comments/commentRss/328554.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/328554.html阅读全文

想飞飞 2010-08-11 16:48 发表评论
]]>
Grails中如何用acegi requestmap q行动态配|权?/title><link>http://www.aygfsteel.com/wldandan/archive/2010/06/30/324886.html</link><dc:creator>想飞飞</dc:creator><author>想飞飞</author><pubDate>Wed, 30 Jun 2010 07:05:00 GMT</pubDate><guid>http://www.aygfsteel.com/wldandan/archive/2010/06/30/324886.html</guid><wfw:comment>http://www.aygfsteel.com/wldandan/comments/324886.html</wfw:comment><comments>http://www.aygfsteel.com/wldandan/archive/2010/06/30/324886.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wldandan/comments/commentRss/324886.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wldandan/services/trackbacks/324886.html</trackback:ping><description><![CDATA[  考虑到权限应该可以由用户自行分配Q所以静态的requestmap ?controller annotations 的方法都不太合适。因此用动态的requestmapQ于是出C一些小问题Q如本文所描述Q?br /> <br /> 1. 安装acegi plugin<br /> <br /> 2. acegi的一些概念以及用法参?<br /> http://grails.org/plugin/acegi<br /> http://www.infoq.com/cn/articles/grails-acegi-integration<br /> <br /> 3. 问题<br />   在grails中,默认生成的show.gsp中是使用一个form带多个参数来提交Q比?_action_Edit=edit 或??_action_Delete=delete,<br /> 但对于requestmapQ它实际是对于urlq行限制的,q没有对参数做限Ӟ所以这时?grails提交的action׃会被requestmap到?br /> <br /> 4. Ҏ<br />   <br />    requestmap权限分配机制cM如下Q这里只是demo?br />    实际中,可以在UI界面上通过使用checkbox来代替该requestmap的URI stringQ完成对roleq行权限的分配?br />   <br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #000000;">def projectListMap </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Requestmap(<br /> </span><span style="color: #008080;"> 2</span> <span style="color: #000000;">                     url: </span><span style="color: #000000;">'</span><span style="color: #000000;">/project/list**</span><span style="color: #000000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">                     configAttribute: </span><span style="color: #000000;">'</span><span style="color: #000000;">ROLE_USER, ROLE_ADMIN</span><span style="color: #000000;">'</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">             )<br /> </span><span style="color: #008080;"> 5</span> <span style="color: #000000;">             projectListMap.save()<br /> </span><span style="color: #008080;"> 6</span> <span style="color: #000000;">             <br /> </span><span style="color: #008080;"> 7</span> <span style="color: #000000;">             <br /> </span><span style="color: #008080;"> 8</span> <span style="color: #000000;">def projectCreateMap </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Requestmap(<br /> </span><span style="color: #008080;"> 9</span> <span style="color: #000000;">                     url: </span><span style="color: #000000;">'</span><span style="color: #000000;">/project/create**</span><span style="color: #000000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;">10</span> <span style="color: #000000;">                     configAttribute: </span><span style="color: #000000;">'</span><span style="color: #000000;">ROLE_ADMIN</span><span style="color: #000000;">'</span><span style="color: #000000;"><br /> </span><span style="color: #008080;">11</span> <span style="color: #000000;">             )<br /> </span><span style="color: #008080;">12</span> <span style="color: #000000;">             projectCreateMap.save()<br /> </span><span style="color: #008080;">13</span> <span style="color: #000000;">             <br /> </span><span style="color: #008080;">14</span> <span style="color: #000000;">def projectEditMap </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Requestmap(<br /> </span><span style="color: #008080;">15</span> <span style="color: #000000;">                     url: </span><span style="color: #000000;">'</span><span style="color: #000000;">/project/edit**</span><span style="color: #000000;">'</span><span style="color: #000000;">,<br /> </span><span style="color: #008080;">16</span> <span style="color: #000000;">                     configAttribute: </span><span style="color: #000000;">'</span><span style="color: #000000;">ROLE_ADMIN</span><span style="color: #000000;">'</span><span style="color: #000000;"><br /> </span><span style="color: #008080;">17</span> <span style="color: #000000;">             )</span></div> <br />   采用原生的html form代替grails的actionSubmitQ显C的提交urlQ比?br />   使用<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #000000;">      </span><span style="color: #0000ff;"><</span><span style="color: #800000;">form </span><span style="color: #ff0000;">action</span><span style="color: #0000ff;">="/todolist/project/edit"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;">        <img src="http://www.aygfsteel.com/Images/dot.gif" alt="" />..<br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">      </span><span style="color: #0000ff;"></</span><span style="color: #800000;">form</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">4</span> <span style="color: #000000;">      </span><span style="color: #0000ff;"><</span><span style="color: #800000;">form </span><span style="color: #ff0000;">action</span><span style="color: #0000ff;">="/todolist/project/delete"</span><span style="color: #ff0000;"> method</span><span style="color: #0000ff;">="post"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">5</span> <span style="color: #000000;">        <img src="http://www.aygfsteel.com/Images/dot.gif" alt="" />..<br /> </span><span style="color: #008080;">6</span> <span style="color: #000000;">      </span><span style="color: #0000ff;"></</span><span style="color: #800000;">form</span><span style="color: #0000ff;">></span></div>       <br /> 代替原来?nbsp;     <br />               <br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">g:form</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;">   </span><span style="color: #0000ff;"><</span><span style="color: #800000;">g:hiddenField </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="id"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="${projectInstance?.id}"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">  </span><span style="color: #0000ff;"><</span><span style="color: #800000;">span </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="button"</span><span style="color: #0000ff;">><</span><span style="color: #800000;">g:actionSubmit </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="edit"</span><span style="color: #ff0000;"> action</span><span style="color: #0000ff;">="edit"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="${message(code: 'default.button.edit.label', default: 'Edit')}"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">4</span> <span style="color: #000000;">  </span><span style="color: #0000ff;"><</span><span style="color: #800000;">span </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="button"</span><span style="color: #0000ff;">><</span><span style="color: #800000;">g:actionSubmit </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="delete"</span><span style="color: #ff0000;"> action</span><span style="color: #0000ff;">="delete"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="${message(code: 'default.button.delete.label', default: 'Delete')}"</span><span style="color: #ff0000;"> onclick</span><span style="color: #0000ff;">="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">5</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">g:form</span><span style="color: #0000ff;">></span></div> <br />         <br />  4.参?br /> http://grails.1312388.n4.nabble.com/acegi-requestmap-how-to-inspect-URL-parameters-td1382988.html<br /> <br /> 5. 关于q种方式Q有一些缺点,是使用原来的方式可以绕开requestmap的限Ӟ具体L<br /> http://grails.1312388.n4.nabble.com/Unexpected-observations-using-spring-security-acegi-plugin-td1349785.html<br /> <br /> <br /> <br /> <br /> <br /> <br /> <img src ="http://www.aygfsteel.com/wldandan/aggbug/324886.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wldandan/" target="_blank">想飞飞</a> 2010-06-30 15:05 <a href="http://www.aygfsteel.com/wldandan/archive/2010/06/30/324886.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MYSQL 字符集问?/title><link>http://www.aygfsteel.com/wldandan/archive/2007/09/04/142669.html</link><dc:creator>想飞飞</dc:creator><author>想飞飞</author><pubDate>Tue, 04 Sep 2007 08:35:00 GMT</pubDate><guid>http://www.aygfsteel.com/wldandan/archive/2007/09/04/142669.html</guid><wfw:comment>http://www.aygfsteel.com/wldandan/comments/142669.html</wfw:comment><comments>http://www.aygfsteel.com/wldandan/archive/2007/09/04/142669.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wldandan/comments/commentRss/142669.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wldandan/services/trackbacks/142669.html</trackback:ping><description><![CDATA[     摘要: 前一D|_一直被mysql的字W集困扰Q今天就q方面的知识ȝ一? <br>MySQL的字W集支持(Character Set Support)有两个方面: <br> 字符?Character set)和排序方?Collation)?<br>对于字符集的支持l化到四个层? <br> 服务?server)Q数据库(database)Q数据表(table)和连?connection)?nbsp; <a href='http://www.aygfsteel.com/wldandan/archive/2007/09/04/142669.html'>阅读全文</a><img src ="http://www.aygfsteel.com/wldandan/aggbug/142669.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wldandan/" target="_blank">想飞飞</a> 2007-09-04 16:35 <a href="http://www.aygfsteel.com/wldandan/archive/2007/09/04/142669.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Wicket tipshttp://www.aygfsteel.com/wldandan/archive/2007/08/15/136857.html想飞飞想飞飞Wed, 15 Aug 2007 03:36:00 GMThttp://www.aygfsteel.com/wldandan/archive/2007/08/15/136857.htmlhttp://www.aygfsteel.com/wldandan/comments/136857.htmlhttp://www.aygfsteel.com/wldandan/archive/2007/08/15/136857.html#Feedback3http://www.aygfsteel.com/wldandan/comments/commentRss/136857.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/136857.html前台的美工&后台的程序员分工明确  阅读全文

想飞飞 2007-08-15 11:36 发表评论
]]>
Struts2备忘录【显Cweb异常?/title><link>http://www.aygfsteel.com/wldandan/archive/2007/07/18/131114.html</link><dc:creator>想飞飞</dc:creator><author>想飞飞</author><pubDate>Wed, 18 Jul 2007 09:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/wldandan/archive/2007/07/18/131114.html</guid><wfw:comment>http://www.aygfsteel.com/wldandan/comments/131114.html</wfw:comment><comments>http://www.aygfsteel.com/wldandan/archive/2007/07/18/131114.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wldandan/comments/commentRss/131114.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wldandan/services/trackbacks/131114.html</trackback:ping><description><![CDATA[     摘要: 使用struts2的“global-results”&“global-exception-mappings”处理Action异常Q?nbsp; <a href='http://www.aygfsteel.com/wldandan/archive/2007/07/18/131114.html'>阅读全文</a><img src ="http://www.aygfsteel.com/wldandan/aggbug/131114.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wldandan/" target="_blank">想飞飞</a> 2007-07-18 17:19 <a href="http://www.aygfsteel.com/wldandan/archive/2007/07/18/131114.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Junit3.8.1代码阅读—执行流E?textui)[收藏ZZ]http://www.aygfsteel.com/wldandan/archive/2007/07/12/129807.html想飞飞想飞飞Thu, 12 Jul 2007 05:13:00 GMThttp://www.aygfsteel.com/wldandan/archive/2007/07/12/129807.htmlhttp://www.aygfsteel.com/wldandan/comments/129807.htmlhttp://www.aygfsteel.com/wldandan/archive/2007/07/12/129807.html#Feedback0http://www.aygfsteel.com/wldandan/comments/commentRss/129807.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/129807.html阅读全文

想飞飞 2007-07-12 13:13 发表评论
]]>
Struts2学习W记(一)http://www.aygfsteel.com/wldandan/archive/2007/06/20/125151.html想飞飞想飞飞Wed, 20 Jun 2007 03:26:00 GMThttp://www.aygfsteel.com/wldandan/archive/2007/06/20/125151.htmlhttp://www.aygfsteel.com/wldandan/comments/125151.htmlhttp://www.aygfsteel.com/wldandan/archive/2007/06/20/125151.html#Feedback2http://www.aygfsteel.com/wldandan/comments/commentRss/125151.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/125151.html前一D|间项目催的太紧,所以决定最q系l的对Struts2学习一下,也记录一下学习的q程?nbsp; 阅读全文

想飞飞 2007-06-20 11:26 发表评论
]]>
使用SpringSide构徏SSH Demohttp://www.aygfsteel.com/wldandan/archive/2007/06/17/124818.html想飞飞想飞飞Sun, 17 Jun 2007 09:24:00 GMThttp://www.aygfsteel.com/wldandan/archive/2007/06/17/124818.htmlhttp://www.aygfsteel.com/wldandan/comments/124818.htmlhttp://www.aygfsteel.com/wldandan/archive/2007/06/17/124818.html#Feedback0http://www.aygfsteel.com/wldandan/comments/commentRss/124818.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/124818.html阅读全文

想飞飞 2007-06-17 17:24 发表评论
]]>
DWR学习心得(一)http://www.aygfsteel.com/wldandan/archive/2007/06/01/121435.html想飞飞想飞飞Fri, 01 Jun 2007 14:39:00 GMThttp://www.aygfsteel.com/wldandan/archive/2007/06/01/121435.htmlhttp://www.aygfsteel.com/wldandan/comments/121435.htmlhttp://www.aygfsteel.com/wldandan/archive/2007/06/01/121435.html#Feedback1http://www.aygfsteel.com/wldandan/comments/commentRss/121435.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/121435.htmlDWR是一个可以允怽d建AJAX WEB 站点的JAVA 开源库?/span>

它可以让你在览器中的Javascript代码调用Web服务器上的Java 代码Q就像在Java代码在览器中一栗?

    DWR包含 2个主要部分:

        一个运行在服务器端的Java ServletQ它处理hq且向浏览器发回响应?/span>

        一个运行在览器端的JavaScriptQ它发送请求而且q能动态更新网c?

 

DWR工作原理是通过动态把Javacȝ成ؓJavascript。它的代码就像Ajax法一P你感觉调用就像发

生在览器端Q但是实际上代码调用发生在服务器端,DWR负责数据的传递和转换。这U从Java ?/span>

JavaScript的远E调用功能的方式使DWR用v来有U非常像RMI或者SOAP的常规RPC机制Q而且DWR

的优点在于不需要Q何的|页览器插件就能运行在|页上?

 

Java从根本上讲是同步机制Q然 AJAX却是异步的。所以你调用q程ҎӞ当数据已l从|络上返?/span>

的时候,你要提供有反?QcallbackQ?功能的DWR?/span>


W?1?DWR 例子QHello World

  1) 从官方网站下载dwr.jar包。然后将它放在你 webapp ?WEB-INF/lib目录下?/span>

  2) 修改web.xml,如下

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC
    
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app id="dwr">

  
<display-name>DWR (Direct Web Remoting)</display-name>
  
<description>A Simple Demo DWR</description>

  
<servlet>
    
<servlet-name>dwr-invoker</servlet-name>
   
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    
<init-param>
      
<param-name>debug</param-name>
      
<param-value>true</param-value>
    
</init-param>
 
</servlet>

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


  3) 在WEB-INF下新建dwr.xml,内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">

<dwr>

  
<allow>
  
<create creator="new" javascript="service">
      
<param name="class"      
       value
="helloworld.Service"/>
   
</create>
  
</allow>
</dwr>

 4) 启动web服务器,讉Khttp://localhost/工程/dwr ,面l果昄?/span>

 

Classes known to DWR:
    
* service (helloworld.Service)


 5) 点击q入 *service,看到提示....

Methods For: service (helloworld.Service)

To use 
this class in your javascript you will need the following script includes:

  
<script type='text/javascript' src='/TestDWR/dwr/interface/service.js'></script>
  
<script type='text/javascript' src='/TestDWR/dwr/engine.js'></script>

In addition there is an optional utility script:

  
<script type='text/javascript' src='/TestDWR/dwr/util.js'></script>

Replies from DWR are shown with a yellow background 
if they are simple or in an alert box otherwise.
The inputs are evaluated as Javascript so strings must be quoted before execution.

There are 
10 declared methods:

    
* sayHello( );
    
* hashCode( );
      (Warning: hashCode() is excluded: Methods defined in java.lang.Object are not accessible. See below)
    
* getClass( );
      (Warning: No Converter 
for java.lang.Class. See below)
      (Warning: getClass() is excluded: Methods defined in java.lang.Object are not accessible. See below)
    
* wait( );
      (Warning: overloaded methods are not recommended. See below)
      (Warning: wait() is excluded: Methods defined in java.lang.Object are not accessible. See below)
    
* wait( , );
      (Warning: overloaded methods are not recommended. See below)
      (Warning: wait() is excluded: Methods defined in java.lang.Object are not accessible. See below)
    
* wait( );
      (Warning: overloaded methods are not recommended. See below)
      (Warning: wait() is excluded: Methods defined in java.lang.Object are not accessible. See below)
    
* equals( );
      (Warning: No Converter 
for java.lang.Object. See below)
      (Warning: equals() is excluded: Methods defined in java.lang.Object are not accessible. See below)
    
* notify( );
      (Warning: notify() is excluded: Methods defined in java.lang.Object are not accessible. See below)
    
* notifyAll( );
      (Warning: notifyAll() is excluded: Methods defined in java.lang.Object are not accessible. See below)
    
* toString( );
      (Warning: toString() is excluded: Methods defined in java.lang.Object are not accessible. See below)


  6)创徏jspQ内容如?/span>

<%@ page language="java" pageEncoding="UTF-8"%> 
 
<html> 
  
<head> 
   
  
<script type='text/javascript' src='dwr/interface/service.js'></script>
  
<script type='text/javascript' src='dwr/engine.js'></script>
  
<script type='text/javascript' src='dwr/util.js'></script>

</script> 
  
<script type="text/javascript"> 
  function firstDwr(){ 
    service.sayHello(
" Test ",callBackHello); 
  } 
  function callBackHello(data){ 
    alert(data); 
  } 
  
</script> 
  
</head> 
  
  
<body> 
  
<input type="button" name="button" value="" onclick="firstDwr()"> 
  
</body> 
</html> 


当点?试"Ӟ出现结果了.

ȝ:

  1.在web.xml中加入dwr servlet

  2.在drw.xml中指明你要调用的c?q指明生成的javascript?/span>

     <create creator="new" javascript="service">

      <param name="class" value="helloworld.Service"/>

    </create>

  3.完成对应的类

  4.在html/jsp中写javascript函数Q调用java服务器端的方法,q写处理l果的回调函?/span>

 





想飞飞 2007-06-01 22:39 发表评论
]]>
SpringSideȝhttp://www.aygfsteel.com/wldandan/archive/2007/04/01/107778.html想飞飞想飞飞Sun, 01 Apr 2007 08:44:00 GMThttp://www.aygfsteel.com/wldandan/archive/2007/04/01/107778.htmlhttp://www.aygfsteel.com/wldandan/comments/107778.htmlhttp://www.aygfsteel.com/wldandan/archive/2007/04/01/107778.html#Feedback0http://www.aygfsteel.com/wldandan/comments/commentRss/107778.htmlhttp://www.aygfsteel.com/wldandan/services/trackbacks/107778.html SpringSide 的文已l写的很详细?/span> , 但用的时候还是由于粗心导致了不少问题 .

其中不少都是大小写、配|文件的讄不当D , 下面ȝ一下今天遇到的问题及解军_?/span> .

基本步骤如下 ( 文档中已l提?/span> )

1.       Ҏ Hibernate Tools 生成对应?/span> domain 对象

2.       修改 dataAccessContext-hibernate.xml, 你的新 domain 对象加入

< property name = "annotatedClasses" > ?/span>

3.       生成对象?/span> xxxManager cd , 一定要注意cM的泛?/span> , q且注意生成Ҏ的名U?/span>

4.       生成对象?/span> xxxManagerTest c?/span> ,

5.       修改 src/recources/spring / serviceContext.xml, 加入 xxxManager, ׃使用 byName q行的注入,所以配|文件比较简?/span>

6.       生成 web 上的 xxxAction, 一定要注意泛Ş , q且注意生成Ҏ的名U?/span>

7.       修改 struts-config(-module).xml, d生成?/span> xxxAction

 

?/span> 常见错误

1. 如果配置文g写的有问题,一般会提示 ”nested Exception” 的错?/span>

 

2. 配置 ServiceContext.xml Ӟ一定要注意大小写问?/span>

    < bean id = "orderManager" class = "org.wl.service.OrderManager" />

   今天把 id 的值写成了cdU?/span> OrderManager, l果提示错误 ”Error Create Bean……”

 

3. 我用的 mysql, 用户?/span> root, 但是?/span> Jdbc.properties 配置文g中用户名写成?/span> sa,

l果可以讉K数据库,当在 web 界面上点?/span> save Q提交后提示 “no row with the given identifier exists”

 

4. 如果需要?/span> extremeTable, 记得?/span> jsp 中引?/span>

<%@ taglib uri="http://www.extremecomponents.org" prefix="ec" %>

 

5. 使用 SpringSide-IDE 生成的项目中Q默认没有添?/span> extremeTable 以及 helloWorld 例子中的 css Q所以如?/span> extremeTable 昄不了数据Q一定查查是否加入了?/span> taglib



想飞飞 2007-04-01 16:44 发表评论
]]>
վ֩ģ壺 | | ƽ| ƽ| | ˴| ߶| ˮ| | | | | ţ| ԫ| ʯ| | | Ǭ| | | ٸ| ʲ| Ȫ| | ɽʡ| | ֹ| ӽ| | | | | | | | | Զ| | | ʯ| |