??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品黄色,国内视频精品,国产99久久久国产精品成人免费http://www.aygfsteel.com/liuspring/archive/2011/04/18/348496.html?/dc:creator>?/author>Mon, 18 Apr 2011 08:09:00 GMThttp://www.aygfsteel.com/liuspring/archive/2011/04/18/348496.htmlhttp://www.aygfsteel.com/liuspring/comments/348496.htmlhttp://www.aygfsteel.com/liuspring/archive/2011/04/18/348496.html#Feedback5http://www.aygfsteel.com/liuspring/comments/commentRss/348496.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/348496.html最q在学习如何使用mavenQ做了一个demo(ZS2S整合)Qȝ一下与大家分nQ期待与大家讨论以期快速进步?

一、maven介绍

1、maven是什?

http://maven.apache.org/
官方解释QMaven是一个项目管理工P它包含了一个项目对象模?(Project Object Model)Q一l标准集合,一个项目生命周?Project Lifecycle)Q一个依赖管理系l?Dependency Management System)Q和用来q行定义在生命周期阶D?phase)中插?plugin)目标(goal)的逻辑?

2、用maven有什么好处,解决什么问?

jarl一理了:

如果建立了一个本地的jar仓库Q那么所有h都是从仓库里面下载jarQ拷贝项目时只需要copy几K的源码即可!其次Q依然是仓库Q得每个h的jar版本都是一致的Q不会出现因为版本不同,引v的莫名其妙的错误?br>目的自动化Q?

只需要mvn package命oQ在eclipse里面Q看run里面Q只需要选择p了!它会自动的从~译Q测试开始,一直到打包Q自动的q行Q保证你的包没有问题?

我们在做多个不同的Java目Ӟ每个目所用到的库文g基本都是大同异的,通常的做法是每个目下面都会复制一份这些库文gQ甚至会把这些库文g都提交到vss上去Q这样带来的问题不仅是增大了目占用的硬盘空_而且也包管理很混ؕ?

我们可以q样查看jar包的依赖关系Q是不是很爽Q!
image

q可以单元测试覆盖率报表Q?

image

2、helloword

1、下载Maven 附g中的maven3.jar 解压CQ意目?

2、安装eclipse插gm2eclipse

方式一Q在U安?更新地址是:http://m2eclipse.sonatype.org/sites/m2e
方式二:本地安装 help-->install new softeware-->add-->name填写maven-->archive..-->jar:file:/../m2e.zip!/-->ok
安装完成重启eclipseQ在Window-->Preferences-->Maven下配|?

image

用eclipse启动时更新maven index 主要是每ơeclipse启动旉更新很烦?

image

d自己的maven

3、新建maven目

按照下图步骤

image

  • groupId定义了项目属于哪个组Q这个组往往和项目所在的l织或公司存在关联。譬如在googlecode上徏立了一个名为myapp的项目,那么groupId应该是com.googlecode.myapp.
  • artifactId定义了当前Maven目在组中唯一的IDQgroupId为com.googlecode.myapp的例子中Q你可能会ؓ不同的子目Q模块)分配artifactIdQ如myapputil、myappdomain、myappweb{?
  • version指定了项目当前的版本—?.0SNAPSHOT。SNAPSHOT意ؓ快照Q说明该目q处于开发中,是不E_的版本。随着目的发展,version会不断更斎ͼ如升Uؓ1.0?.1SNAPSHOT?.1?.0{?
  • name元素声明了一个对于用h为友好的目名称

点击Finish完成

4、maven目l构

下图为基于maven目l构Q这里跟我们以前的项目结构很不一P以前的项目结构约定俗成的只有两块 一个src 一个webRootQ当然这些都可以随意配置Q比如WebRoot有的叫WebContent

image
q里maven倡导U定优于配置Qmaven的约定就是以下目录结?br>src/main/java 下存放javac?br>src/main/webapp 下存N面文?需要手动创?
src/main/resources 下存放资源文?br>src/test/java 下存攑֍元测试代?br>src/test/resources 下存放测试资源文?

5、添加jar?

只需l护pom.xml
比如dstruts2-core
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.0.11.2</version>
</dependency>

我在172.20.66.230上部|了一个maven仓库Q访问地址http://172.20.66.230:8081/nexus/

maven会根据pom.xml中的配置讉K230的仓库下载对应的jar source 以及docQ下载到哪?q要看maven3/conf/settings.xml 55:

<localRepository>F:/Maven3/repository</localRepository>

6、编写代?

附g中有一个struts2+spring 的demoQ解压然后import eclipse

在项目名上右?run as -->Run Configurations

image

按图配置Q点击Run卛_。浏览器中访?a href="http://localhost:8080/MavenSSH/">http://localhost:8080/MavenSSH/

Mavenq行的生命周?

  • 复制src/main/resources资源文g到输出目?/p>

  • ~译src/main/java下的源代?/p>

  • 复制src/test/resources下的试用资源文件到试输出目录

  • ~译src/test/java下的试用例

  • q行试用例

  • 打包生成

===========================

  • 以上是一个简单的例子Q只是用它获取依赖的jar?。mavenq有很多诸如目理斚w的功能,比如文~制、发布管理、配|管?..

  • W一个次q行目会比较慢Q因下蝲jar包?/p>

  • MavenSSH.rar是一个struts2与spring集成的例子,面用到了sitemesh div+css 也值得学习

  • 目debug是运行在jettyQ类gtomcat的容器)中?/p>



]]>
部v到GAE时中途退出后引v的问?/title><link>http://www.aygfsteel.com/liuspring/archive/2010/11/15/338061.html</link><dc:creator>?/dc:creator><author>?/author><pubDate>Mon, 15 Nov 2010 01:55:00 GMT</pubDate><guid>http://www.aygfsteel.com/liuspring/archive/2010/11/15/338061.html</guid><wfw:comment>http://www.aygfsteel.com/liuspring/comments/338061.html</wfw:comment><comments>http://www.aygfsteel.com/liuspring/archive/2010/11/15/338061.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liuspring/comments/commentRss/338061.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liuspring/services/trackbacks/338061.html</trackback:ping><description><![CDATA[<p>如果部vGAE时正在upload files旉出,下次部v时会报错</p> <p>Another transaction by user is already in progress for this app and major version. That user can undo the transaction with appcfg.py's "rollback" command</p> <p> </p> <p>扑ֈeclipse中的GAE SDK目录</p> <p>如:D:\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.8_1.3.8.v201010161055\appengine-java-sdk-1.3.8\bin</p> <p> </p> <p>执行命o </p> <p>appcfg.cmd rollback 后面跟gae目war所在目?</p> <p>?appcfg.cmd rollback D:/spring/eclipse_workspace/taobaoke/war</p> <p> </p> <p>执行Q?/p> <p>********************************************************<br>Warning: Future versions of the Dev App Server will require Java 1.6 or later. P<br>lease upgrade your JRE.<br>********************************************************<br>Reading application configuration data...<br>2010-11-15 9:34:23 com.google.apphosting.utils.config.AppEngineWebXmlReader read<br>AppEngineWebXml<br>信息: Successfully processed D:/spring/eclipse_workspace/taobaoke/war\WEB-INF/ap<br>pengine-web.xml<br>2010-11-15 9:34:23 com.google.apphosting.utils.config.AbstractConfigXmlReader re<br>adConfigXml<br>信息: Successfully processed D:/spring/eclipse_workspace/taobaoke/war\WEB-INF/we<br>b.xml<br>2010-11-15 9:34:23 com.google.apphosting.utils.config.AbstractConfigXmlReader re<br>adConfigXml<br>信息: Successfully processed D:/spring/eclipse_workspace/taobaoke/war\WEB-INF/cr<br>on.xml<br>Beginning server interaction for taokeapp...<br>0% Rolling back the update.<br>Success.<br>Cleaning up temporary files...</p><img src ="http://www.aygfsteel.com/liuspring/aggbug/338061.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liuspring/" target="_blank">?/a> 2010-11-15 09:55 <a href="http://www.aygfsteel.com/liuspring/archive/2010/11/15/338061.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在GAE上简单实C一个淘宝客http://www.aygfsteel.com/liuspring/archive/2010/10/21/335768.html?/dc:creator>?/author>Thu, 21 Oct 2010 03:33:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/10/21/335768.htmlhttp://www.aygfsteel.com/liuspring/comments/335768.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/10/21/335768.html#Feedback0http://www.aygfsteel.com/liuspring/comments/commentRss/335768.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/335768.html在网上无意搜C?a target="_blank">用Ext实现的淘宝客Q恩 Q咱用GWT做一个R?/p>

下了淘宝?SDK for java开q?参?a target="_blank">API文按部q

在淘宝的沙箱里测试,很顺利,乘胜前进Q到正式环境下测?/p>

问题来了

invalid signature

|上搜了一通,有说旉戳不对,果不其然QGAE使用的是标准旉Q整整差?时Q遂在获得的当前旉上加?时QOK

invalid signature 可能的另一个原因是APP_KEY ?APP_SERCET不正,仔细?/p>

 

调用 taobao.item.get

 

?/p>

1 TaobaoClient client=new DefaultTaobaoClient(TaobaokeConstant.SANDBOX_URL, TaobaokeConstant.APP_KEY, TaobaokeConstant.APP_SERCET);
2 ItemcatsGetRequest req=new ItemcatsGetRequest();
3 java.util.Calendar c=java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
4 c.add(Calendar.HOUR, 8);
5 req.setTimestamp(c.getTime().getTime()) ;
6 req.setParentCid(new Long(0));
7 ItemcatsGetResponse response=client.execute(req);
8 return response.getItemCats();

 

调用 taobao.taobaoke.items.get

 
1 TaobaoClient client=new DefaultTaobaoClient(TaobaokeConstant.SANDBOX_URL, TaobaokeConstant.APP_KEY,TaobaokeConstant.APP_SERCET);
2 TaobaokeItemsGetRequest req=new TaobaokeItemsGetRequest();
3 req.setFields("num_iid,title,nick,pic_url,price,click_url,commission,commission_rate,commission_num,commission_volume,shop_click_url,seller_credit_score,item_location,volume,taobaoke_cat_click_url,keyword_click_url");
4 req.setCid(Long.parseLong(cid));
5 req.setNick(TaobaokeConstant.NICK);
6 req.setSort("commissionRate_desc");
7 TaobaokeItemsGetResponse response=client.execute(req);
8 return response.getTaobaokeItems();
 
想用GAE JCache API 加入~存以减d力,但屡试不行,从缓存中?的时候报?/div>
没找到原?/div>
 
改用自己写的~存Q然后用App Engine Cron 服务理~存
 
corn.xml
 
1 <?xml version="1.0" encoding="UTF-8"?>
2 <cronentries>
3   <cron>
4     <url>/cron/recache</url>
5     <description>Repopulate the cache every 1 hours</description>
6     <schedule>every 1 hours</schedule>
7   </cron>
8 </cronentries>


]]>ZDSM(DesignStructureMatrix)的设计过E模型优化算?/title><link>http://www.aygfsteel.com/liuspring/archive/2010/06/13/323496.html</link><dc:creator>?/dc:creator><author>?/author><pubDate>Sun, 13 Jun 2010 01:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/liuspring/archive/2010/06/13/323496.html</guid><wfw:comment>http://www.aygfsteel.com/liuspring/comments/323496.html</wfw:comment><comments>http://www.aygfsteel.com/liuspring/archive/2010/06/13/323496.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liuspring/comments/commentRss/323496.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liuspring/services/trackbacks/323496.html</trackback:ping><description><![CDATA[<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 958px; font-family: Arial; font-size: 12px; line-height: 18px; "> <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; "> <div class="wmqeeuq" id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">ZDSM(DesignStructureMatrix)的设计过E模型优化算?/a></div> </td> </tr> </tbody> </table> <img src ="http://www.aygfsteel.com/liuspring/aggbug/323496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liuspring/" target="_blank">?/a> 2010-06-13 09:54 <a href="http://www.aygfsteel.com/liuspring/archive/2010/06/13/323496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery 验证所有text,textare非法字符http://www.aygfsteel.com/liuspring/archive/2010/06/13/323495.html?/dc:creator>?/author>Sun, 13 Jun 2010 01:53:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/06/13/323495.htmlhttp://www.aygfsteel.com/liuspring/comments/323495.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/06/13/323495.html#Feedback1http://www.aygfsteel.com/liuspring/comments/commentRss/323495.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/323495.html阅读全文

]]>
关于?/title><link>http://www.aygfsteel.com/liuspring/archive/2010/05/19/321377.html</link><dc:creator>?/dc:creator><author>?/author><pubDate>Wed, 19 May 2010 06:58:00 GMT</pubDate><guid>http://www.aygfsteel.com/liuspring/archive/2010/05/19/321377.html</guid><wfw:comment>http://www.aygfsteel.com/liuspring/comments/321377.html</wfw:comment><comments>http://www.aygfsteel.com/liuspring/archive/2010/05/19/321377.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liuspring/comments/commentRss/321377.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liuspring/services/trackbacks/321377.html</trackback:ping><description><![CDATA[<div> <div>一个喜Ƣcoding的程序员Q工作在北京Q从事java web 开发,喜欢JavaScriptQ^时关注技术新闻,试用各种新框架、新语言Q学h涯,有时也迷?/div> <div>qx没事ȝ~程思想、浏览各位同行的blogQ将各种实际中的技巧、方法拿来养|q用到自q目中感受快?/div> <div>头儿的评P不管遇到什么难题,都会ȝH盗z把它解x</div> </div> <span style="font-size: 36pt; "> <div><span style="font-size: 36pt; "><br /> </span></div> 求职<a title="工作? target="_blank">?/a></span> <img src ="http://www.aygfsteel.com/liuspring/aggbug/321377.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liuspring/" target="_blank">?/a> 2010-05-19 14:58 <a href="http://www.aygfsteel.com/liuspring/archive/2010/05/19/321377.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GWT~译巨慢http://www.aygfsteel.com/liuspring/archive/2010/05/19/321337.html?/dc:creator>?/author>Wed, 19 May 2010 02:19:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321337.htmlhttp://www.aygfsteel.com/liuspring/comments/321337.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321337.html#Feedback1http://www.aygfsteel.com/liuspring/comments/commentRss/321337.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/321337.htmlCompiling module com.capinfo.cdss.gwt.olap.Olap
Compiling 12 permutations
Compiling permutation 0...
Compiling permutation 1...
Compiling permutation 2...
Compiling permutation 3...
Compiling permutation 4...
Compiling permutation 5...
Compiling permutation 6...
Compiling permutation 7...
Compiling permutation 8...
Compiling permutation 9...
Compiling permutation 10...
Compiling permutation 11...
Compile of permutations succeeded
Linking into D:\spring\workspace\fusionchart\war\olap.
Link succeeded
Compilation succeeded -- 291.925s

?.gwt.xml中添加支持Firefox
<!-- User Agent -->
<set-property name="user.agent" value="gecko1_8" /> 
~译的确变得很快Q但IE中果真不好

]]>
GWT.setUncaughtExceptionHandlerhttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321335.html?/dc:creator>?/author>Wed, 19 May 2010 02:18:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321335.htmlhttp://www.aygfsteel.com/liuspring/comments/321335.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321335.html#Feedback0http://www.aygfsteel.com/liuspring/comments/commentRss/321335.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/321335.html
GWT讄UncaughtExceptionHandler 以捕获ؓ捕捉的异常,qgwt在host mode~译后的JavaScript如果出现错误QNo errors in Hosted Mode and Compiled localy, but deployed to tomcat yields in errors
q是ghQ加上UncaughtExceptionHandlerL有一丝线?/div>
GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler() {
    public void onUncaughtException(Throwable throwable{
        String text = "Uncaught exception: ";
        while (throwable != null{
            StackTraceElement[] stackTraceElements = throwable
                    .getStackTrace();
            text += throwable.toString() + "\n";
            for (int i = 0i < stackTraceElements.lengthi++) {
                text += "    at " + stackTraceElements[i] + "\n";
            }
            throwable = throwable.getCause();
            if (throwable != null{
                text += "Caused by: ";
            }
        }
        System.err.print(text);
        text = text.replaceAll(" ", " ");
        Window.alert("pȝ错误Q?+text);
    }
});


]]>Should only call onDetach when the widget is attached to the browser's documenthttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321336.html?/dc:creator>?/author>Wed, 19 May 2010 02:18:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321336.htmlhttp://www.aygfsteel.com/liuspring/comments/321336.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321336.html#Feedback0http://www.aygfsteel.com/liuspring/comments/commentRss/321336.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/321336.html
java.lang.IllegalStateException:Should only call onDetach when the widget is attached to the browser's document

q个异常是在com.google.gwt.user.client.ui.Widget protected void onDetach() Ҏ抛出?br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " /> 当页面重新加载或d面时会执行q个Ҏ
如果pȝ没有正常初始化,会有q个异常
郁闷的是No errors in Dev Mode but Compiled localy and deployed to tomcat in errors


]]>
Gwt 中ؓ加蝲中的Frame加上wait(?http://www.aygfsteel.com/liuspring/archive/2010/05/19/321332.html?/dc:creator>?/author>Wed, 19 May 2010 02:15:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321332.htmlhttp://www.aygfsteel.com/liuspring/comments/321332.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321332.html#Feedback0http://www.aygfsteel.com/liuspring/comments/commentRss/321332.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/321332.html

private void showWaitMess(Frame window){
    final MessageBox box = MessageBox.wait("{待", "正在查询数据Q请E后...", "查询?..");
    final Element frame = window.getElement();
    final Timer t = new Timer() {
        @Override
        public void run() {
            if (ready(frame)) {
                this.cancel();
                box.close();
            }
        }
    };
    t.scheduleRepeating(100);
}
private native boolean ready(Element frame)/*-{
    return frame.contentWindow.document.readyState=="complete";
}-*/;


]]>
Unable to modify the parent container element before the child element is closed (KB927917)http://www.aygfsteel.com/liuspring/archive/2010/05/19/321329.html?/dc:creator>?/author>Wed, 19 May 2010 02:11:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321329.htmlhttp://www.aygfsteel.com/liuspring/comments/321329.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321329.html#Feedback0http://www.aygfsteel.com/liuspring/comments/commentRss/321329.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/321329.html
又涨见识?br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " /> IE8报下面错误,而且是我的机器不报,同事的机器报Q试?収ͼ两个报,两个不报QIE版本都一P没想明白
解决Q?、查看是否有未关闭的html标签Q比?lt;table>而没?lt;/table> (我就是这个原?
2、是否在面未加载完前js代码操作了body里的元素Q将相关js代码Ud</body>后面



|页错误详细信息

用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
旉? Wed, 14 Apr 2010 08:33:56 UTC


消息: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
? 0
字符: 0
代码: 0
URI:  


http://support.microsoft.com/kb/927917


]]>
ZGXT的决{分析系l基本完?/title><link>http://www.aygfsteel.com/liuspring/archive/2010/05/19/321330.html</link><dc:creator>?/dc:creator><author>?/author><pubDate>Wed, 19 May 2010 02:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/liuspring/archive/2010/05/19/321330.html</guid><wfw:comment>http://www.aygfsteel.com/liuspring/comments/321330.html</wfw:comment><comments>http://www.aygfsteel.com/liuspring/archive/2010/05/19/321330.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liuspring/comments/commentRss/321330.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liuspring/services/trackbacks/321330.html</trackback:ping><description><![CDATA[<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 945px; font-family: Arial; font-size: 12px; line-height: 18px; "> <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; "> <div class="wmqeeuq" id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; "> <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">       本来pȝ是由JSP+润乾报表做的Q做Z版来lh家客hC,人家觉得体验不够Q也没不够绚丽,要求回去q工Q主要是因ؓ他们看过他们兄弟部门的一个类似系l,要求向那个系l靠拢,可殊不知人家那是.net做的C/SQ交互体验当然好了?/p> <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">      面一个抉择,?netq_做winformQ然后用sql server Analysis Services 的现成组Ӟq要技术上肯定可行Q但是需要购C堆微软的东西Q钱啊?/p> <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">      正好以前看过一些GWT的资料,以及ZGWT的开源框Ӟ它的界面效果倒是可以满客户的要求,遂毛遂自荐,惌试用GXT实验是否能实现要求的功能和效果,同时也有其他同事考察了SAP的BIQ水晶E表,IBM的CognosQ结果因功能实现不够或者商务问题搁?/p> <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">      好像春节后没多久开始搞GWTQ现在终于实CQ或是变相实CQ要求的功能、满了客户的意见,很有成就感,期间l历了两ơ重构,现在采用的GXT提供的MVC模型Q底层数据访问是通过调用润乾报表APIQ将润乾报表q算l果转化Z个ListQ然后交lGXT在页面展现?/p> <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">      面功能上,GXT挺全面,Grid列排序,隐藏昄特定列,树Ş展开收羃Q用open chart装的统计图表,数据dQ列标题分组Q拖拽Ş式动态设|列l度、行l度以实现灵zL询,灵zL询行列维度保存v来供以后随时打开Q将l果到处Excel、PDF、WordQ动态设|查询条件的昄隐藏Q动态的q度条提C等{?/p> <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">      接下来还要融入GISQ实现报表到地图Q地囑ֈ报表?/p> <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">      值得注意的是所有这些功能都是在一个窗口中完成的,实现了菜单、维度定义、报表、统计图功能的融合,不用客户Ҏ点去Q一步了然?/p> </div> </td> </tr> </tbody> </table> <img src ="http://www.aygfsteel.com/liuspring/aggbug/321330.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liuspring/" target="_blank">?/a> 2010-05-19 10:11 <a href="http://www.aygfsteel.com/liuspring/archive/2010/05/19/321330.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>OLAP(On_line Analytical Processing联机分析处理) ?OLTP(On_line Transaction Processing联机事务处理)http://www.aygfsteel.com/liuspring/archive/2010/05/19/321327.html?/dc:creator>?/author>Wed, 19 May 2010 02:05:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321327.htmlhttp://www.aygfsteel.com/liuspring/comments/321327.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321327.html#Feedback0http://www.aygfsteel.com/liuspring/comments/commentRss/321327.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/321327.htmlOLAP(On_line Analytical Processing联机分析处理) ?OLTP(On_line Transaction Processing联机事务处理)

OLTPQOn_line Transaction Processing 联机事务处理 Q以业务处理Z

OLAPQOn_line Analytical Processing     联机分析处理Q则是专门ؓ支持复杂的分析操作而设计的Q侧重于对决{h员和高层理人员的决{支?/p>

]]>
GWT GXT探烦http://www.aygfsteel.com/liuspring/archive/2010/05/19/321326.html?/dc:creator>?/author>Wed, 19 May 2010 01:55:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321326.htmlhttp://www.aygfsteel.com/liuspring/comments/321326.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321326.html#Feedback0http://www.aygfsteel.com/liuspring/comments/commentRss/321326.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/321326.html因ؓ客户不满意界面设计,人家看中了兄弟单位用的系l的样子Q可他却不知那时csE序Q要想用bs做成那样的效果还是先天不Ip样开始了GWT GXT的探索,一Ҏ索一边用GXT重写q个pȝ
现在x l历了三个阶D?/span>
刚开始是demo阶段Q因Z知道路走不走的通,全面摸烦GXT能实现的效果Q也没注意模块的规划Q甚臛_一个类
而后发现q是能走通的Q就开始添砖加瓦,发现代码加ؕQ决心重构,定义了多个包Q多个类负责不同的功能模块,定义了一些PanelQ一下子清晰多了Q也遇到了不同模块间互相调用的问题,自己惛_然的办法是在一个类中声明每个模块作为属性,像一个ȝQ每个屋子的钥匙我都有了Q也认识Cq样的缺点,一些模块中的事件不{不在这个主中定义
现在NowQ用一天时间再ơ改写,仿照Gxt中的例子Explorer
1、将各个模块定义成com.extjs.gxt.ui.client.mvc.ViewQView中必d现方法handleEvent(AppEvent event)Q负责处理发l自q事g
2、ؓ每个View定义com.extjs.gxt.ui.client.mvc.ControllerQ每个Controller中包含ViewQ在q里定义View要处理的事g
3、在Dispatcher中注册每个Controller

q样Q每个View各司其职Q他们各自有各自的功能,会接收ؓ他们定义的所有事件ƈ处理Q发送事件Dispatcher.forwardEvent(appEvent);

感觉q次改写?速度q没有改写前的快Q现在每ơ操作url会自动添加HashQ想把它LQ一直没扑ֈ根结

]]>
Gwt中ؓ加蝲中的Frame加上waithttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321325.html?/dc:creator>?/author>Wed, 19 May 2010 01:54:00 GMThttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321325.htmlhttp://www.aygfsteel.com/liuspring/comments/321325.htmlhttp://www.aygfsteel.com/liuspring/archive/2010/05/19/321325.html#Feedback0http://www.aygfsteel.com/liuspring/comments/commentRss/321325.htmlhttp://www.aygfsteel.com/liuspring/services/trackbacks/321325.html
Gwt中调用panel的setUrlҎ嵌入一个网?br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " /> 在网加载过E中加入wait
在页面中加入javascript
var ready = false; 
$j(document).ready(function(){
ready = true; 
});//q里用了jquery

然后再java中声?br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " /> public native boolean ready(Element frame)/*-{
return frame.contentWindow.ready?true:false;
}-*/;

然后在设|Frame的url?br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " /> olapFrame = centerCp.setUrl(GWT.getHostPageBaseURL()
+ com.google.gwt.http.client.URL.encode("jsp/showOlap.jsp?dim="
+ dims + "&dimname=" + colLabels + ""));
final MessageBox box = MessageBox.wait("{待", "正在查询数据Q请E后...", "查询?..");
final Element frame = olapFrame.getElement();
final Timer t = new Timer() {
@Override
public void run() {
if (ready(frame)) {
this.cancel();
box.close();
}
}
};
t.scheduleRepeating(100);


]]>
վ֩ģ壺 | | | Դ| ͷ| ۲| | | Ǩ| | Ϫ| | | | | ȫ| | | | | ƽ| ½| | ͼľ| | | ϽϽ| | | ѷ| Ԫ| ǫ| ֣| ;| | | ɽ| Ͻ| | ǰ| ݳ|