??xml version="1.0" encoding="utf-8" standalone="yes"?>青青草视频在线免费观看,亚洲人亚洲人成电影网站色,亚洲图片激情小说http://www.aygfsteel.com/bobojava/技术本来很q,但我们可以把它变薄!zh-cnSat, 03 May 2025 11:48:31 GMTSat, 03 May 2025 11:48:31 GMT60【{】Google 选择 Jetty, 攑ּ Tomcathttp://www.aygfsteel.com/bobojava/articles/292234.htmlRiqueRiqueSat, 22 Aug 2009 15:53:00 GMThttp://www.aygfsteel.com/bobojava/articles/292234.htmlhttp://www.aygfsteel.com/bobojava/comments/292234.htmlhttp://www.aygfsteel.com/bobojava/articles/292234.html#Feedback0http://www.aygfsteel.com/bobojava/comments/commentRss/292234.htmlhttp://www.aygfsteel.com/bobojava/services/trackbacks/292234.html

Google 应用pȝ引擎最初是?Apache Tomcat 作ؓ?webserver/servlet 容器的,但最l将切换?Jetty 上?q个军_让许多开发h员都诧异的想问:Z么要做这L改变QTomcat 有什么问题吗Q?我们获得的一ơ访?Webtide ——Jetty 背后的公司——里的这个团队的ZQ得C关于q个军_背后更详l的信息?/p>

记者: Z么Google选择Jetty作ؓ其应用系l的引擎Q而不?Tomcat 或其他的Q?/p>

Google选择Jetty的关键原因是它的体积和灵zL?在云计算里,体积的因素是很重要,如果你运行几万个Jetty的实例(Google是q样q的Q,每个server?兆,那就会省10几个G的内存(或能够给其他应用提供更多的内存)?
Jetty 被设计成了可插拔和可扩展的特性,q样Google可以高度的自定义它?他们在其中替换了他们自己的HTTP connectorQGoogle认证Q以及他们自qsession集群。也真是奇怪,q个Ҏ对于云计算来说是非常出色的Q但同时也让Jetty非常适合嵌入的讑֤中,例如手机和机盒?/blockquote>

记者: 是什么促使Jetty成ؓJava里出色的servlet容器Q?/p>

我们在开发JettyӞq没有想着要把它开发成一个全功能的应用serverQ尽它是的Q。每一功能都考虑了可插拔性,所以,如果你不需要他Q你可以不把它加蝲到内存里Q把它从request 处理调用链中L。如果你不需要sessonsQ你可以把session处理器拿掉,q样你就不要费资源L回寻找session cookie了。当你每U钟都有出来上千个请求时Q这些微的查找动作的开销是非常的大的?/span>
我们也ƈ没有惛_然的企图通过设计可以得到最优化的代码,我们是如同收集沙_般Q每ơ得C些h告诉我们如何才能有好的JVMs优化和垃圑֛收办法。这是真的,已经很小心的代码仍然能被优化Q最后的效果是避免创徏新的对象。例如,我们在Jetty里用ƈ行处理技术,但我们ƈ没有使用很多标准的ƈ行处理数据结构,因ؓq需要创建太多的对象。所以,只是作ؓ个例子,我们使用了双q行锁@?arraysQ而不是采用ƈ行链?listsQ这h们就能够在不创徏对象的情况下Q获得了非阻塞ƈ行效果?/blockquote>

记者: 是什么Jetty成ؓ开发h员的一个有用的serverq_的(例如QtestingQ?

Jetty 已经在一些流行框架中内置了,例如GWTQscala/liftQgrailsQJruby{等Q还有很多。如果你使用了这些技术,你就直接可以用Jetty了?Jetty-maven 插g是另外一个非怼U的开发工P它能让web应用在不打包成war文g的情况下q行。源文g可以直接~辑Q在不需要把它重新放qwar文g的情况下获得试l果?Jetty嵌入式的特征让我们不再需要写通过写那些mainҎ、通过你的IDEQ调试器?profiler 来运行之cȝ无聊的事情?/blockquote>

记者: Jetty在处?client-server h时有什么独特的地方吗?

Jetty 现在是一个第二代的异步处理server?q去的两q里Q我们让Jetty实现了处理异步请求的功能Q这成了它核心架构的一部分。就像其他的支持异步serlets容器一P我想Q他们会发现q个东西q不是看h的那么简单和Ҏ?我们的异步HTTP引擎被我们复用在了HTTP client 上,所以我们可以大量的降低request ?responses 消耗?/span>
同时Q就像我之前提到q的Q我们的h处理器是可扩展和可插拔的Q这让web application可以被单独省略掉Q或者是单独使用Q或者是q一步扩展的application?/span>

记者: 有没有其他Jetty使用的案例,大的或小的?

使用Jetty的公司有像Zimbra/YahooQ这意味着Jetty正作为web mail 服务器,为百万的用h供服务?Eclipse IDE把它内置了进去,q意味着有成百万的开发者在桌面q行Jetty?Jetty?hadoop map/reduce cluster使用Q在其上有几千个点的集群Q处理着世界最大的TBU别的数据分cL序工作?我们也有 J2ME 的接口,有本地编译器Q所以我们可以在手机上,家用路由器和 Java cards 上运行?更多的Jetty使用的例子可以参?http://docs.codehaus.org/display/JETTY/Jetty+Powered

记者: Jetty的将来或蓝图是怎样的?

Jetty 最q的计划是发?7.0.0 版本Q这会完全的迁Udeclipse foundation 下?Jetty 7 会支持很多 servlet 3.0 的特征,但是q不会用新的API ?不会依赖Java 1.6 ?Jetty 7后,很快我们会发布Jetty 8Q这会完全支持 servlet 3.0 ?Java 1.6QJetty 会l的创新 和跟t各Uweb 2.0 里的其他的新成果?我们现在已经能支?Firefox 3.5 里的跨域Ajax功能Q我们可以在cometd版本里用这个?我们很快׃增加?WebSocket ?BWTP 的支持??Google wave 以及相关协议的支持的问题已经优先排到了我们的议事日程上了?/blockquote>

记者: Google/Jetty q有其他的计划吗Q?/p>

Google有他们自׃的局Q我们ƈ不清楚?我们在JavaOne大会上曾l和App Engine开发者们有个单的对话Q我们愿意听他们M的反馈和意见Q用来改qJetty的可嵌入性和可扩展性?/span>

下面的跟Webtide团队的讨ZQ我们询问了SpringSource 从Jetty转换到Tomcat的事情?

记者: 你们如何看待 SpringSource ?Grails 从本来作为缺省容器的Jetty换成了Tomcat的事情?

原因是grails开发的领导感觉使用Tomcat能从内部的Tomcat开发h员哪里获得更好的”服务“。我猜测Q他们把Grails的用户驱赶到某一个^収ͼ以让SpringSource能更好的销售他们的技术支持服务。几q前我们看到了相同的事情QJBoss 雇䄦了一下tomcat开发h员后把Jetty提出成了TomcatQƈ最l和Mort Bay达成了商业合同?很遗憾,q些商业协议Ҏ术选择有如此大的媄响,当相同的是,一些基l构的工E也正聚集到也application server Z心的队伍里来?
Grails会l箋同时支持对Jetty和Tomcat的集成,但会ҎTomcat为缺省服务?/span>

q看h?SpringSource使用/攀?Tomcat 的一个特别合适的论断?/p>
本篇文章原地址Q?a >http://lifeside.javaeye.com/blog/452361


Rique 2009-08-22 23:53 发表评论
]]>【{】JS代码在IE和FireFox间的区别http://www.aygfsteel.com/bobojava/articles/291851.htmlRiqueRiqueWed, 19 Aug 2009 11:08:00 GMThttp://www.aygfsteel.com/bobojava/articles/291851.htmlhttp://www.aygfsteel.com/bobojava/comments/291851.htmlhttp://www.aygfsteel.com/bobojava/articles/291851.html#Feedback0http://www.aygfsteel.com/bobojava/comments/commentRss/291851.htmlhttp://www.aygfsteel.com/bobojava/services/trackbacks/291851.html1.    HTML 对象?id 作ؓ对象名的问题
IEQHTML 对象?ID 可以作ؓ document 的下属对象变量名直接使用
FFQ不支持
解决ҎQ用document.getElementById替代document.all

2.       如果控g只有name,没有id, 用getElementById?
IEQ可以找到对?br /> FFQ返回NULL
解决ҎQ所有控件必设|ID属?/p>

3.       Evel:
IEQ支持,利用 eval(idName) 可以取得 id ?idName ?HTML 对象
FFQ不支持?br /> 解决ҎQ统一使用getElementById(idName) 代替 eval(idName)?/p>

4.       EventQ?br /> IEQ用全局对象window.event
FFQevent只能在事件发生的现场使用Q在调用函数时传入event对象
解决ҎQ用之前做一下浏览器cd判断Q各用各的?/p>

5.       对象名称中美元符?#8216;$’改ؓ使用下划U?#8216;_’

6.       集合cd象问?br /> IEQ可以?)或[]获取集合cd?br /> FFQ只能用[]获取集合cd?br /> 现有代码中存在许多,不能?FF 下运?br /> 解决Ҏ:l一使用[]获取集合cd象。document.form.item("itemName") q样的语句改为document.form.elements["elementName"]

7.       变量名与?HTML 对象 id 相同的问?br /> IEQ不能用与 HTML 对象 id 相同的变量名
FFQ可以?br /> 解决ҎQ在声明变量Ӟ一律加?var Q以避免歧义Q这样在 IE 中亦可正常运行?br /> 此外Q最好不要取?HTML 对象 id 相同的变量名Q以减少错误?/p>

8.       Event定位问题
IEQ支持event.x 和event.y
FFQ支持event.pageX和event.pageY
解决ҎQ统一使用event.clientX和event.clientYQ但是在FF中event.clientX ?event.pageX 有微妙的差别Q当整个面有滚动条的时候)Q不q大多数时候是{效的。如果要完全一P可以判断览器类型后对应使用?/p>

9.       父结点的问题
IEQparentElement parentElement.children
FFQparentNode parentNode.childNodes
childNodes的下标的含义在IE和FF中不同,FF使用DOM规范QchildNodes中会插入I白文本节点。一般可以通过node.getElementsByTagName()来回避这个问题?/p>


当html中节点缺失时QIE和FF对parentNode的解释不同,例如
<form>
<table>
  <input/>
</table>
</form>
IEQinput.parentNode的gؓI?br /> FFQinput.parentNode的gؓform
FF中节Ҏ有removeNodeҎQ必M用如下方?node.parentNode.removeChild(node)

10.   const 问题
现有问题Q?br /> IEQ不支持 const 关键字。如 const constVar = 32; 在IE中这是语法错误?br /> FFQ支?br /> 解决ҎQ不使用 const Q以 var 代替?/p>

11.   body 对象
IEQ在body标签完全被读入之后才存在
FFQ在body标签没有被浏览器完全d之前存?/p>

12.   自定义属性问?br /> IEQ可以用获取常规属性的Ҏ来获取自定义属?也可以用getAttribute()获取自定义属?br /> FFQ只能用getAttribute()获取自定义属?
解决ҎQ统一通过getAttribute()获取自定义属?/p>

13.   event.srcElement问题
IEQeven.srcElement
FFQeven.target
解决Ҏ:使用时判断浏览器cdQ各用各的?/p>

14.   模态和非模态窗?br /> IEQ支持模态和非模态窗?br /> FFQ不支持
解决ҎQ直接用window.open(pageURL,name,parameters)方式打开新窗口。如果需要将子窗口中的参C递回父窗?可以在子H口中用window.opener来访问父H口?/p>

15.   innerText
IEQinnerText
FFQtextContent

16.   cM obj.style.height = imgObj.height 的语?br /> IEQ有?br /> FFQ无?br /> 解决ҎQ统一使用obj.style.height = imgObj.height + 'px';

 

本文来自CSDN博客:http://blog.csdn.net/nileel/archive/2009/08/19/4461687.aspx



Rique 2009-08-19 19:08 发表评论
]]>
Struts2整合EJB3.0单实?/title><link>http://www.aygfsteel.com/bobojava/articles/289702.html</link><dc:creator>Rique</dc:creator><author>Rique</author><pubDate>Tue, 04 Aug 2009 00:50:00 GMT</pubDate><guid>http://www.aygfsteel.com/bobojava/articles/289702.html</guid><wfw:comment>http://www.aygfsteel.com/bobojava/comments/289702.html</wfw:comment><comments>http://www.aygfsteel.com/bobojava/articles/289702.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/bobojava/comments/commentRss/289702.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/bobojava/services/trackbacks/289702.html</trackback:ping><description><![CDATA[     摘要: 例子使用的工PMyEclipse6.6QJboss5.1, Tomcat6.18.  实现功能描述Q通过Struts2调用EJB3.0的远E方法,完成单的登陆功能Q只是简单的字符串比对,未用持久层? 首先创键EJB projectQ我的项目名UCؓQS2Login。然后定义Session Bean   LoginServiceBean实现q程接口Login...  <a href='http://www.aygfsteel.com/bobojava/articles/289702.html'>阅读全文</a><img src ="http://www.aygfsteel.com/bobojava/aggbug/289702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/bobojava/" target="_blank">Rique</a> 2009-08-04 08:50 <a href="http://www.aygfsteel.com/bobojava/articles/289702.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Grails入门之二Q?一切从Hello World开?/title><link>http://www.aygfsteel.com/bobojava/articles/259394.html</link><dc:creator>Rique</dc:creator><author>Rique</author><pubDate>Thu, 12 Mar 2009 10:12:00 GMT</pubDate><guid>http://www.aygfsteel.com/bobojava/articles/259394.html</guid><wfw:comment>http://www.aygfsteel.com/bobojava/comments/259394.html</wfw:comment><comments>http://www.aygfsteel.com/bobojava/articles/259394.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/bobojava/comments/commentRss/259394.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/bobojava/services/trackbacks/259394.html</trackback:ping><description><![CDATA[Grails是个典型的遵照MVC模式开发的框架Q至包含了以下3个部分:控制?Controllers)、领?Domain)对象(模型)、视?Views)。既然环境配|好了,Hello目的基本构架也通过grails create-app hello创徏好了Q下面进入第一个grails例子?br />  <br /> q入hello目文g?>cd hello)Q输?grails create-controller hello<br /> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080"> 1</span><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">E:\Groovy\projects\hello>grails create-controller hello<br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Welcome to Grails </span><span style="color: #000000">1.0.4</span><span style="color: #000000"> - http://grails.org/<br /> </span><span style="color: #008080"> 4</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Licensed under Apache Standard License </span><span style="color: #000000">2.0</span><span style="color: #000000"><br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Grails home is set to: E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">        <br /> </span><span style="color: #008080"> 6</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />        <br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Base Directory: E:\Groovy\projects\hello<br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Note: No plugin scripts found<br /> </span><span style="color: #008080"> 9</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Running script E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\scripts\CreateController.groovy<br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Environment set to development<br /> </span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">1</span><span style="color: #000000"> file to E:\Groovy\projects\hello\grails-app\controllers<br /> </span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Created Controller for Hello<br /> </span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\views\hello<br /> </span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">1</span><span style="color: #000000"> file to E:\Groovy\projects\hello\test\integration<br /> </span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Created ControllerTests for Hello</span></div> q样Q在grails-app/controller目录下自动生成HelloController.groovy文gQ同时grails-test下生成HelloControllerTest.groovy试文g?br /> 我们~辑HelloController控制器,在index{}中输出Hello World.其中Qindex是系l默认的操作Q相当于JSP中的index.jsp?br /> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">1</span> <span style="color: #0000ff">class</span><span style="color: #000000"> HelloController {<br /> </span><span style="color: #008080">2</span> <span style="color: #000000">    def index </span><span style="color: #000000">=</span><span style="color: #000000"> {render </span><span style="color: #000000">'</span><span style="color: #000000">Hello world!</span><span style="color: #000000">'</span><span style="color: #000000"> }<br /> </span><span style="color: #008080">3</span> <span style="color: #000000">}</span></div> q行目 grails run-app<br /> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080"> 1</span><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">E:\Groovy\projects\hello>grails run-app<br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Welcome to Grails </span><span style="color: #000000">1.0.4</span><span style="color: #000000"> - http://grails.org/<br /> </span><span style="color: #008080"> 4</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Licensed under Apache Standard License </span><span style="color: #000000">2.0</span><span style="color: #000000"><br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Grails home is set to: E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">        <br /> </span><span style="color: #008080"> 6</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />        <br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Base Directory: E:\Groovy\projects\hello<br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Note: No plugin scripts found<br /> </span><span style="color: #008080"> 9</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Running script E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\scripts\RunApp.groovy<br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Environment set to development<br /> </span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />  </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">groovyc</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Compiling </span><span style="color: #000000">7</span><span style="color: #000000"> source files to C:\Documents and Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello\classes<br /> </span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">native2ascii</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Converting </span><span style="color: #000000">11</span><span style="color: #000000"> files from E:\Groovy\projects\hello\grails-app\i18n to C:\Documents and Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello\resources\grails-app\i18n<br /> </span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">1</span><span style="color: #000000"> file to C:\Documents and Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello\classes<br /> </span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">1</span><span style="color: #000000"> file to C:\Documents and Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello\resources<br /> </span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">1</span><span style="color: #000000"> file to C:\Documents and Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello<br /> </span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Running Grails application..<br /> </span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000"> </span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">01.183</span><span style="color: #000000">::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog<br /> </span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000"> </span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">01.402</span><span style="color: #000000">::INFO:  jetty-</span><span style="color: #000000">6.1.12</span><span style="color: #000000"><br /> </span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000"> </span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">02.652</span><span style="color: #000000">::INFO:  No Transaction manager found - if your webapp requires one</span><span style="color: #000000">,</span><span style="color: #000000"> please configure one.<br /> </span><span style="color: #008080">20</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000"> </span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">02.308</span><span style="color: #000000">:/hello:INFO:  Set web app root system property: 'hello-development-</span><span style="color: #000000">0.1</span><span style="color: #000000">' </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">E:\Groovy\projects\hello\web-app</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"><br /> </span><span style="color: #008080">21</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000"> </span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">02.308</span><span style="color: #000000">:/hello:INFO:  Initializing log4j from </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">file:C:\Documents and Settings\Administrator/.grails/1.0.4/projects/hello/resources/log4j.properties</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"><br /> </span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000"> </span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">02.340</span><span style="color: #000000">:/hello:INFO:  Initializing Spring root WebApplicationContext<br /> </span><span style="color: #008080">23</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">0</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> spring.GrailsWebApplicationContext Refreshing org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@396c7: display name </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@396c7</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #008000">;</span><span style="color: #008000"> startup date [Thu Mar 12 20:00:05 CST 2009]; parent: org.springframework.web.context.support.XmlWebApplicationContext@1e7c609</span><span style="color: #008000"><br /> </span><span style="color: #008080">24</span><span style="color: #008000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">0</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> spring.GrailsWebApplicationContext Bean factory for application context </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@396c7</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">: org.springframework.beans.factory.support.DefaultListableBeanFactory@c4c05<br /> </span><span style="color: #008080">25</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000"> </span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">08.179</span><span style="color: #000000">:/hello:INFO:  Initializing Spring FrameworkServlet 'grails'<br /> </span><span style="color: #008080">26</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000"> </span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">09.445</span><span style="color: #000000">::INFO:  Started SelectChannelConnector@</span><span style="color: #000000">0.0.0.0</span><span style="color: #000000">:</span><span style="color: #000000">8080</span><span style="color: #000000"><br /> </span><span style="color: #008080">27</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />Server running. Browse to http://localhost:</span><span style="color: #000000">8080</span><span style="color: #000000">/hello</span></div> 打开览器,输入<a href="http://localhost:8080/hello/hello/index">http://localhost:8080/hello/hello/index</a> 查看q行l果<br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/bobojava/1123.JPG" /><br /> 地址栏中Q第一个hello为项目名Q第二hello为控制器名,index为操作名?br /> <br /> 最基本的一个入门程序写完了Q除了手工编写外Q我们还可以使用NetBeans作ؓ开发IDEQ大大简化开发流E。至不用记那么多命令了哈!<br /> <img style="width: 880.29px; height: 528.42px" border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/bobojava/031211.JPG" width="880" height="528" /><br /> <img src ="http://www.aygfsteel.com/bobojava/aggbug/259394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/bobojava/" target="_blank">Rique</a> 2009-03-12 18:12 <a href="http://www.aygfsteel.com/bobojava/articles/259394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Grails入门之一Q?环境配置及简单命令介l?/title><link>http://www.aygfsteel.com/bobojava/articles/258752.html</link><dc:creator>Rique</dc:creator><author>Rique</author><pubDate>Tue, 10 Mar 2009 03:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/bobojava/articles/258752.html</guid><wfw:comment>http://www.aygfsteel.com/bobojava/comments/258752.html</wfw:comment><comments>http://www.aygfsteel.com/bobojava/articles/258752.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/bobojava/comments/commentRss/258752.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/bobojava/services/trackbacks/258752.html</trackback:ping><description><![CDATA[<p>首先Q让我们来搭v开发Grails的环境。在Windowsq_下,他的配置和Java的环境十分相|那我们一步一步开始吧Q?br /> 一、下载最新的发布版本Q?a >http://www.grails.org</a>.解压后备用。本人把解压后的文g|于Grooy目录下。(以后的开发都在Groovy目录下完成,最好再Z目录projectsQ?br /> 二、设|GRAILS_HOME环境变量Q类gJava环境变量Q找到解压后的根目录Q如:E:\Groovy\grails-1.0.4 <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/bobojava/1.JPG" width="344" height="137" /><br /> 三、将GRAILS_HOME加入到PATH中,%GRAILS_HOME%/bin<br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/bobojava/2.JPG" /><br /> OKQ现在测试一下,命o行下输入grailsQ如图:<br /> <img style="width: 744px; height: 113px" border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/bobojava/3.JPG" width="744" height="113" /><br /> <br /> <br /> 好了Q准备工作就l,让我们开始介l几个简单的命o吧!<br /> <br /> 命o行下输入grails helpQ先来看看grails的基本命令吧<br /> </p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080"> 1</span><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /><span style="color: #000000">C:\>grails help<br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /><br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Welcome to Grails </span><span style="color: #000000">1.0.4</span><span style="color: #000000"> - http://grails.org/<br /> </span><span style="color: #008080"> 4</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Licensed under Apache Standard License </span><span style="color: #000000">2.0</span><span style="color: #000000"><br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Grails home is set to: E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">        <br /> </span><span style="color: #008080"> 6</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />        <br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Base Directory: C:\<br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Note: No plugin scripts found<br /> </span><span style="color: #008080"> 9</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Running script E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\scripts\Help.groovy<br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Environment set to development<br /> </span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /><br /> </span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />        Usage (optionals marked with *): <br /> </span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />        grails </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">environment</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">* </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">target</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">arguments</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">*<br /> </span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /><br /> </span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />        Examples: <br /> </span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />        grails dev run-app    <br /> </span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />        grails create-app books<br /> </span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /><br /> </span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />        Available Targets (type grails help 'target-name' for more info):<br /> </span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails bootstrap<br /> </span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails bug-report<br /> </span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails clean<br /> </span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails compile<br /> </span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails console<br /> </span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-app<br /> </span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-controller<br /> </span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-domain-class<br /> </span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-filters<br /> </span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-integration-test<br /> </span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-plugin<br /> </span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-script<br /> </span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-service<br /> </span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-tag-lib<br /> </span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails create-unit-test<br /> </span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails doc<br /> </span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails generate-all<br /> </span><span style="color: #008080">37</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails generate-controller<br /> </span><span style="color: #008080">38</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails generate-views<br /> </span><span style="color: #008080">39</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails help<br /> </span><span style="color: #008080">40</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails init<br /> </span><span style="color: #008080">41</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails install-plugin<br /> </span><span style="color: #008080">42</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails install-templates<br /> </span><span style="color: #008080">43</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails list-plugins<br /> </span><span style="color: #008080">44</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails package<br /> </span><span style="color: #008080">45</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails package-plugin<br /> </span><span style="color: #008080">46</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails plugin-info<br /> </span><span style="color: #008080">47</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails release-plugin<br /> </span><span style="color: #008080">48</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails run-app<br /> </span><span style="color: #008080">49</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails run-app-https<br /> </span><span style="color: #008080">50</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails run-war<br /> </span><span style="color: #008080">51</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails set-proxy<br /> </span><span style="color: #008080">52</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails set-version<br /> </span><span style="color: #008080">53</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails shell<br /> </span><span style="color: #008080">54</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails stats<br /> </span><span style="color: #008080">55</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails test-app<br /> </span><span style="color: #008080">56</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails upgrade<br /> </span><span style="color: #008080">57</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />grails war</span></div> 前面是命令格式介l,后面?0-57行d38条命令,在应用中会逐一介绍?br /> 其中Q应用创建命令grails create-app最为常用,它会为我们创Z个标准的规范化的grails应用框架目录。如图,<br /> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080"> 1</span><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /><span style="color: #000000">E:\Groovy\projects>grails create-app hello<br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /><br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Welcome to Grails </span><span style="color: #000000">1.0.4</span><span style="color: #000000"> - http://grails.org/<br /> </span><span style="color: #008080"> 4</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Licensed under Apache Standard License </span><span style="color: #000000">2.0</span><span style="color: #000000"><br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Grails home is set to: E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">        <br /> </span><span style="color: #008080"> 6</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />        <br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Base Directory: E:\Groovy\projects<br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Note: No plugin scripts found<br /> </span><span style="color: #008080"> 9</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Running script E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\scripts\CreateApp.groovy<br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Environment set to development<br /> </span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\src<br /> </span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\src\java<br /> </span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\src\groovy<br /> </span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app<br /> </span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\controllers<br /> </span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\services<br /> </span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\domain<br /> </span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\taglib<br /> </span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\utils<br /> </span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\views<br /> </span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\views\layouts<br /> </span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\i18n<br /> </span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\conf<br /> </span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\test<br /> </span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\test\unit<br /> </span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\test\integration<br /> </span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\scripts<br /> </span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\web-app<br /> </span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\web-app\js<br /> </span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\web-app\css<br /> </span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\web-app\images<br /> </span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\web-app\META-INF<br /> </span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\lib<br /> </span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\conf\spring<br /> </span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Created dir: E:\Groovy\projects\hello\grails-app\conf\hibernate<br /> </span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">propertyfile</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Creating new property file: E:\Groovy\projects\hello\application.properties<br /> </span><span style="color: #008080">37</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">2</span><span style="color: #000000"> files to E:\Groovy\projects\hello<br /> </span><span style="color: #008080">38</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copied </span><span style="color: #000000">1</span><span style="color: #000000"> empty directory to </span><span style="color: #000000">1</span><span style="color: #000000"> empty directory under E:\Groovy\projects\hello<br /> </span><span style="color: #008080">39</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">2</span><span style="color: #000000"> files to E:\Groovy\projects\hello\web-app\WEB-INF<br /> </span><span style="color: #008080">40</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">5</span><span style="color: #000000"> files to E:\Groovy\projects\hello\web-app\WEB-INF\tld<br /> </span><span style="color: #008080">41</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">28</span><span style="color: #000000"> files to E:\Groovy\projects\hello\web-app<br /> </span><span style="color: #008080">42</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">18</span><span style="color: #000000"> files to E:\Groovy\projects\hello\grails-app<br /> </span><span style="color: #008080">43</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">1</span><span style="color: #000000"> file to E:\Groovy\projects\hello<br /> </span><span style="color: #008080">44</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">1</span><span style="color: #000000"> file to E:\Groovy\projects\hello<br /> </span><span style="color: #008080">45</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">1</span><span style="color: #000000"> file to E:\Groovy\projects\hello<br /> </span><span style="color: #008080">46</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />     </span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Copying </span><span style="color: #000000">1</span><span style="color: #000000"> file to E:\Groovy\projects\hello<br /> </span><span style="color: #008080">47</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">propertyfile</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"> Updating property file: E:\Groovy\projects\hello\application.properties<br /> </span><span style="color: #008080">48</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />Created Grails Application at E:\Groovy\projects/hello</span></div> <br /> Hello是我们创建的W一个grails应用Qgrails自动为我们创建必要的目录l构?br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/bobojava/4-1.JPG" width="206" height="221" /><br /> 下节我们基于这个目录结构,q行W一个入门的HelloWorld应用开发?br /> <img src ="http://www.aygfsteel.com/bobojava/aggbug/258752.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/bobojava/" target="_blank">Rique</a> 2009-03-10 11:19 <a href="http://www.aygfsteel.com/bobojava/articles/258752.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˫</a>| <a href="http://" target="_blank">־</a>| <a href="http://" target="_blank">¤</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ρɽ</a>| <a href="http://" target="_blank">ٸ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">Ȫ</a>| <a href="http://" target="_blank">ʤ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ֿ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">ͷ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">̩</a>| <a href="http://" target="_blank">ݰ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ĵ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>