??xml version="1.0" encoding="utf-8" standalone="yes"?>
本文主要演示通过blazeds/lcds讉Kq程EJBQPomer框架装了blazeds/lcds的访问式Q用hL加配|文Ӟ只须在EJBDestinationRegister注册卛_Java对象发布成blazeds/lcds的远E对象(RemoteObjectQ,q行q程讉K?br />
在Myeclipse中如何新建和布vEJB不在本讲解范_(d)用户可参照MyEclipse相关帮助文档?br />
用户自己Z个HelloEJB的SessionBeanQƈ增加public String hello(String name)Ҏ(gu); 认HelloEJB可以被远E访?br />
在cn.org.pomer.flex.remoting.services.EJBDestinationRegister的构造函数增加EJB注册信息?
代码:
public EJBDestinationRegister() {
super();
this.list = new ArrayList<EJBDestination>();
//add here
add("helloEJB", "HelloServicesImpl/remote");
}代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
private function helloClick():void{
helloSpring.hello("pomer");
}
private function helloEJBFault(e:FaultEvent):void{
Alert.show(e.fault.message.toString());
}
private function helloEJBResult(e:ResultEvent):void{
Alert.show(e.result as String);
}
]]>
</mx:Script>
<mx:RemoteObject endpoint="../messagebroker/amf"
id="helloEJB"
fault="helloEJBFault(event)"
result="helloEJBResult(event)"
destination="helloEJB" showBusyCursor="true"/>
<mx:Button label="hello" click="helloClick();"/>
</mx:Application>
查看WEB-INF\flex\services-
config.xmlQEJBRemotingDestinationBootstrapServicecM
EJBDestinationRegistercd到所有要q程讉K的EjbQ自动加入服务中。EJBFactoryҎ(gu)
EJBDestinationRegister提供的内容自动创E对象?br />
]]><?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="EJBServerPU" transaction-type="JTA">
<jta-data-source>java:/MySqlDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="none" />
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.show_sql" value="true" />
<!-- use a file system based index -->
<property name="hibernate.search.default.directory_provider"
value="org.hibernate.search.store.FSDirectoryProvider" />
<!-- directory where the indexes will be stored -->
<property name="hibernate.search.default.indexBase"
value="C:\\bb\\indexs" />
<property name="hibernate.ejb.event.post-insert"
value="org.hibernate.search.event.FullTextIndexEventListener" />
<property name="hibernate.ejb.event.post-update"
value="org.hibernate.search.event.FullTextIndexEventListener" />
<property name="hibernate.ejb.event.post-delete"
value="org.hibernate.search.event.FullTextIndexEventListener" />
</properties>
</persistence-unit>
</persistence>
]]>
keytool -genkey -dname "CN=localhost, OU=localhost, O=localhost,L=localhost, S=State, C=Country Code" -alias "LC Cert" -keypass 123456 -keystore keystorename.keystore
keytool -export -alias "LC Cert" -file LC_cert.cer -keystore keystorename.keystore
keytool -import -file LC_cert.cer -keystore C:\java\jdk1.6.0_04\jre\lib\security\cacerts
keytool -printcert -v -file D:\Adobe\LiveCycle8\jboss\server\all\conf\LC_cert.cer
keytool -delete -alias "LC Cert" -keystore keystorename.keystore
keytool -delete -alias mykey -keystore C:\java\jdk1.6.0_04\jre\lib\security\cacerts
<Connector port="8443" address="${jboss.bind.address}"
maxThreads="100" minSpareThreads="5" maxSpareThreads="15"
scheme="https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/keystorename.keystore"
keystorePass="123456" sslProtocol = "TLS" URIEncoding="UTF-8"/>
从事了数q的Web开发工作,来觉得现在对WEB开发有了更高的要求。要写出漂亮的HTML代码Q要~写_致的CSS样式表展C每个页面模块;要调?a >javascriptl页面增加一些更zL的要素;要用Ajaxl用户带来更好的体验。一个优U的WEB开发h员需要顾?qing)更多层面,才能交出一份同样优U的作业。ؓ(f)帮助q大正处于Web2.0z流中的开发h员,在这里ؓ(f)大家介绍一ƾ轻巧灵zȝ辅助开发工兗?/p>
Firebug是Firefox下的一Ƒּ发类插gQ现属于Firefox的五星强力推荐插g之一。它集HTML查看和编辑、Javascript控制台、网l状늛视器于一体,是开发JavaScript、CSS、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士军刀Q从各个不同的角度剖析Web面内部的细节层面,lWeb开发者带来很大的便利。这是一ƾ让人爱不释手的插gQ如果你以前没有接触q它Q也许在阅读本文之后Q会(x)有一试的Ʋ望。笔者在撰写此文的时候,正逢Firebug发布1.0正式版,q不能不说是Uy合?br />
Firebug插g虽然功能强大Q但是它已经和Firefox览器无~地l合在一P使用单直观。如果你担心它会(x)占用太多的系l资源,也可以方便地启用/关闭q个插gQ甚至针对特定的站点开启这个插件?/p>
在安装好插g之后Q先用Firefox览器打开需要测试的面Q然后点d下方的绿色按钮或使用快捷键F12唤出Firebug插gQ它?x)将当前面分成上下两个框架Q如?所C?/p>
?QFirebug插g展开囄
从图1中看刎ͼFirebug?个主要的Tab按钮Q下文将主要介绍介绍q几斚w的功能?/p>
Console | HTML | CSS | Script | Dom | Net |
控制?/td> | Html查看?/td> | Css查看?/td> | 脚本条时? | Dom查看?/td> | |络状况监视 |
控制台能够显C当前页面中的javascript错误以及(qing)警告Qƈ提示出错的文件和行号Q方便调试,q些错误提示比v览器本w提供的错误提示更加详细且具有参考h(hun)倹{而且在调试Ajax应用的时候也是特别有用,你能够在控制台里看到每一个XMLHttpRequestshpost出去的参数、URLQhttp头以?qing)回馈的内容Q原本似乎在q后黑匣子里q作的程序被清清楚楚地展C在你面前?/p>
象C shell或Python shell一P你还能在控制C查看变量内容Q直接运行javascript语句Q就是大段的javascriptE序也能够正运行ƈ拿到q行期的信息?/p>
控制台还有个重要的作用就是查看脚本的log, 从前你也怹(fn)惯了使用alert来打印变量,但是Firebugl我们带来了一个新朋友 —?console.log, 最单的打印日志的语法是q样的:(x)
如果你有一堆参数需要组合在一赯出,可以写成q样Q?/p>
Firebug的日志输出有多种可选的格式以及(qing)语法Q甚臛_以定制彩色输出,比v单调的alertQ显然更加方便,限于幅Q这里不做详l说明,但是有志于提高debug效率的读者,可以到Firebug的官方站点(见附录)(j)查看更详l的教程?/p>
?Q?在控制台里调试javascript
W一ơ看到Firebug强大的HTML代码查看器,p得它与众不同Q相比于Firefox自带的HTML查看器,它的功能强大了许多?HTML
首先你看到的是已l经q格式化的HTML代码Q它有清晰的层次Q你能够方便地分辨出每一个标{之间的从属q行关系Q标{折叠功能能够帮助你集中精力分析代码。源代码上方q标记出了DOM的层ơ,如图3所C,它清楚地列出了一个hml元素的parent、child以及(qing)root元素Q配合F(tun)irebug自带的CSS查看器用,?x)给div+css面分析~写带来很大的好处。你q可以在HTML查看器中直接修改HTML源代码,q在览器中W一旉看到修改后的效果Q光凭这一点就?x)让许多面设计师死心塌地地成?f)Firebug的粉丝了?/p>
有时候页面中的javascript?x)根据用L(fng)动作如鼠标的onmouseover来动态改变一些HTML元素的样式表或背景色QHTML查看器会(x)页面上改变的内容也抓下来,q以黄色高亮标记Q让|页的暗操作彻底成为历双Ӏ?/p>
利用Inspect(g)查功能,我们q可以用鼠标在页面中直接选择一些区块,查看相应的HTML源代码和CSS样式表,真正的做到所见即所得,如果你用了外部~辑器修改了当前|页Q可以点击Firebug的reload囄重新载入|页Q它?x)l跟t你之前用Inspect选中的区块,方便调试?/p>
?:QHTML查看?br />
Firebug的CSS调试器是专ؓ(f)|页设计师们量n定做的?/p>
如今的网设计言必称div+cssQ如果你是用table套出来的HTML面Q就得按q规矩重构一遍,否则昑־你不够时髦!用div做出来的面的确能精HTML代码QHTML标签减肥的结果就是CSS样式表的~写成了面制作的重头戏。Firebug的CSS查看器不仅自下向上列出每一个CSS样式表的从属l承关系Q还列出了每一个样式在哪个样式文g中定义。你可以在这个查看器中直接添加、修攏V删除一些CSS样式表属性,q在当前面中直接看C改后的结果?/p>
一个典型的应用是面中的一个区块位|显得有些不太恰当,它需要挪动几个象素。这时候用CSS调试工具可以L~辑它的位置——你可以Ҏ(gu)需要随意挪动象素?br /> 如图4中正在修改一个区块的背景艌Ӏ?/p>
提示Q如果你正在学习(fn)CSS样式表的应用Q但是总记不住常用的样式表有哪些|可以试在CSS调试器中选中一个样式表属性,然后用上下方向键来改变它的|它会(x)把可能的g个个遍历l你看?/p>
?: CSS查看器,能够直接修改样式?br />
我们可以利用Firebug来查看页面中某一区块的CSS样式表,如果q一步展开右侧Layout tab的话Q它?x)以标尺的Ş式将当前区块占用的面U清楚地标识出来Q精到象素Q更让h惊讶的是Q你能够在这个可视化的界面中直接修改各象素的|面上区块的位置׃(x)随改动而变化。在面中某些元素出现错位或者面U超出预料值时Q该功能能够提供有效的帮助,你可以籍此分析offset、margin、padding、size之间的关p,从而找决问题的办法?/p>
?QFirebug中的CSS标尺
也许有一天,你的老板或者客hCQ抱怨你制作的网速度奇慢Q你该如何应对?你或怼(x)说这可能是网l问题,或者是?sh)脑配置问题Q或者是E序太慢Q或者直说是他们的h品问题?不管怎么_(d)最后你可能被要求去解决q个有多U可能的问题?/p>
|络状况监视器能帮你解决q个手问题。Firebug的网l监视器同样是功能强大的Q它能将面中的CSS、javascript以及(qing)|页中引用的囄载入所消耗的旉以矩状图呈现出来Q也许在q里你能一把揪出拖慢了你的|页的元Ӟq而对|页q行调优Q最后老板满意客户Ƣ喜Q你的饭也因此而牢固?/p>
|络监视器还有一些其它细节功能,比如预览囄Q查看每一个外部文件甚xxmlHttpRequestsh的http头等{?/p>
?Q网l状늛视器
q是一个很不错的javascript脚本调试器,占用I间不大Q但是单步调试、设|断炏V变量查看窗口一个不。正所谓麻雀虽小Q五脏俱全?/p>
如果你有一个网站已l徏成,然而它的javascript有性能上的问题或者不是太完美Q可以通过面板上的Profile来统计每D脚本运行的旉Q查看到底是哪些语句执行旉q长Q一步步排除问题?/p>
?Qjavascript调试?br />
DOM(Document Object Model)里头包含了大量的Object以及(qing)函数、事Ӟ在从前,你要想从中查到需要的内容Q绝非易事,q好比你M一个巨大的图书馆,惌扑ֈ几本名字不太切的小书,众多的选择?x)让你无所适从。而用Firebug的DOM查看器却能方便地览DOM的内部结构,帮助你快速定位DOM对象。双M个DOM对象Q就能够~辑它的变量或|~辑的同Ӟ你可能会(x)发现它还有自动完成功能,当你输入document.get之后Q按下tab键就能补齐ؓ(f)document.getElementByIdQ非常方ѝ如果你认ؓ(f)补齐得不够理惻I按下shift+tab又会(x)恢复原状。用了Firebug的DOM查看器,你的javascript从此扑ֈ了驱使的对象QW(xu)eb开发也许就成了一件乐事?/p>
?: Dom查看?br />
Firebug插g提供了一整套web开发所必需的工兗从HTML的编写,到CSS样式表的化调优Q以?qing)用javascript脚本开发,亦或是Ajax应用QFirebug插g都会(x)成ؓ(f)你的得力助手。所谓工Ʋ善其事Q必先利其器。在Web2.0的时代,a必称AjaxQ动辄就是用户体验提升,如果把Firebug工具用好Q必能让你如虎添|HTML、CSS、javascript整理得服服帖帖,从此成ؓ(f)web开发中的专家人物?/p>
Firebug的中文含义是萤火虫,作者是Joe HewittQ官方网?http://www.getfirebug.com
Firefox亦即火狐览器,是近q来撼动IE览器市场占有率的一支强大力量,要不是它的出玎ͼ我想有生之年说不定也看不到IE 7的发布了Q官方网?http://www.firefox.com
作? volcano 发表??15, 2007 at 9:54 am
版权信息: 可以L转蝲, 转蝲时请务必以超链接形式标明文章原始出处?a >作者信?/a>?qing)此声?/strong>
怹链接 - http://www.ooso.net/index.php/archives/294