一农工作室

南京雨桥科技 承接外包 JavaEE GIS GPRS GPS http://www.ynstudio.com
随笔 - 11, 文章 - 3, 评论 - 116, 引用 - 0
数据加载中……

我的评论

共2页: 1 2 下一页 
re: 初探appfuse 2.0.1 一农 2008-11-04 21:42  
@abao

我想appfuse的出名可能是因为他只做很基础的内容,然后你可以自己扩展,也整出一个可以称为框架的自己的东西。而国内的一些快速开发平台可能太复杂,不适合学习了解内部机理。
我们现在是struts2,hibernate,spring是基于appfuse整合的。用起来很好,以前我们使用struts1.x,但通过结合spring的插件,效果上还是很类似现在的struts2,不过现在感觉还是struts2好,很不错,大大的减少代码,减少逻辑复杂度。
@qq
@远离尘嚣

大家平时开发都是基于mvn?
我也是把appfuse捣鼓一下,按照自己的习惯来组织一下,然后做开发。
很有受益!
另外感谢关于我们的培训计划的留言,很有价值。
re: 这种JavaEE培训是否有价值 一农 2008-06-24 11:45  
@鬼狗
你的回复太有价值。多谢。

我也认为,培训,包括我们所谓的咨询式培训,只有两个作用:1、领进门,或许也能达到指条路的作用,2、帮你节省学习的时间。
最终真的能拿多少关键还是学习能力,工作态度,性格。
re: 这种JavaEE培训是否有价值 一农 2008-06-22 18:00  
多谢各位,大家的意见很有益处,我们准备做些调整,然后7月中旬正式试水。
@lizhiyang

我只是根据项目中多了spring,hibernate后,容易造成这个问题,以及spring,hibernate会产生很多类这个角度来猜测是其原因,倒确实没有正式确认过。
@saysoc
我倒没再测试5,我现在都是在6下测的。
@stone2083
恩,我之前还不知道可以使用jstat进行观察,刚才找了下资料。多谢。
经常见到这样提供和索要软件或文档的,总是担心楼主会少睡几个小时。
连说带评写的不清晰,总结一下
1、修改tomcat的启动参数,类似如下的样子
set JAVA_OPTS=-server -Xms256m -Xmx256m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
2、将通用的lib文件放到tomcat的目录下
re: 权限设计的探讨阅读后感 一农 2008-04-12 12:55  
建议大家还是深入了解一下Acegi,Acegi设计的思路和楼主有所不同。在Acegi里有用户,授权,资源,以及在资源被访问前进行权限的检查。一个用户可以有多个授权,一个授权可以对应多种资源,而资源可以多种多样。在Acegi的默认实现了有url,方法,领域对象。而用户和授权的关系,并不只是直接把授权交给用户,还可以把授权分配给角色,给用户组,给部门等,然后用户和角色,用户组,部门关联起来,几种分配方式可以配合使用。
按照这种思路,采用不同的授权方式,应该是可以用一套类似的程序,实现多种的授权方式。Acegi关注的够底层,所以可以有更大的扩展,适应更多的情况。
建议大家还是深入了解一下Acegi,Acegi设计的思路和楼主有所不同。在Acegi里有用户,授权,资源,以及在资源被访问前进行权限的检查。一个用户可以有多个授权,一个授权可以对应多种资源,而资源可以多种多样。在Acegi的默认实现了有url,方法,领域对象。而用户和授权的关系,并不只是直接把授权交给用户,还可以把授权分配给角色,给用户组,给部门等,然后用户和角色,用户组,部门关联起来,几种分配方式可以配合使用。
按照这种思路,采用不同的授权方式,应该是可以用一套类似的程序,实现楼主所说的三种方式。
@BeanSoft

多谢,常交流。
re: 中国的程序员为何如此可怜 一农 2008-03-12 10:31  
我感觉开源有两种,一种是兴趣使然,一种是商业策略。
不管是哪一种多数开源项目都要花费大量的人力,自己的,或者公司的。
如果你不需要依靠你做的这个开源的东西谋生活,养儿女,开源并且免费,如果愿意的话。
我觉着这无可厚非,见到别人收费就骂,国外的可被咒骂的开源项目太多了,很多著名的项目。有些骂人的人就是便宜占不到了,心里难受。
另外如果你开源,先是给自己戴个大帽子,扩大知名度,然后再按照预谋好的计划进行收费,这也不厚道。
开源和免费是两码事,有些免费的东西不开源,有些开源的东西不免费,国外还有些项目开源但是不提供文档,或文档很差,靠文档和培训收费。
简单的说一个不要想着占别人的便宜,更不要占不到就骂人,另外一个不要即想做XX又想立牌坊。
re: 使用JSON替代XML 一农 2008-03-11 23:07  
对于web-rpc我用的就是json-rpc(现在叫jabsorb),当然我们又做了修改,以便和spring结合,另外去掉了初始化的过程。
DWR的协议,还有国内的一些哥们写的RPC的协议不太喜欢,DWR的人说他们会支持多种协议,并且说他们的功能比json-rpc强,反正我们用不着。
不错,很清晰。
好,我会把本文介绍给我的开发伙伴。
re: 初探appfuse2.0.1 一农 2007-12-01 22:01  
@随缘
hehe,我这边的网络情况下dependencies还满好的,特别用了迅雷。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-10-25 15:17  
@一农fan
1、其实我修改的主要是其中的JSONRPCBridge类,把根据className获取对象的方法和spring结合起来而不是像原来那样从session中获取。我贴出代码没有任何意义,因为这个修改很细微,只要你了解了json-rpc-java的JSONRPCBridge逻辑,自然而然就明白了。我就不想献丑了,如果今后我把代码优化一下,自己能满意一点,或许我会贴出来,提高一下自己的抗击打能力。
2、你读一下dojo的代码就明白了,比我做的方式对你更有益处。

高手开源的东西太多了,你有空余时间的话,可以花时间看看,我这个业余选手的东西实在是污染视听,我做这个blog的目的是为了看看是否有公司需要类似的技术,招我做做兼职 :-)。
最近在找工作,被笔试,面试,烤的焦头烂额,我本科不是学计算机的,现在是读电子研,所以数据结构等抱抱佛脚学的一点东西,去考试真的满痛苦。如果你是在校生,或想到一些大公司,不要花太多的时间去学这类技术,把数据结构,离散数学多学学,多练练。
re: qooxdoo 0.6rc1 发布了 一农 2006-10-16 23:25  
这个只是js库,可以在.net下使用。
只是其中的rpc现在他只提供了java和php的,不过当然你可以使用.net下的rpc。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-10-12 18:13  
@stoneboy
1、我认为这么理解是对的
2、3、你具体使用qooxdoo做些东西就晓的了,我还是推荐了解dwr,因为我用的json-rpc-java是经过我很多改造的,所以这里没办法讨论。dwr返回的数据也是适用的json的格式。所谓json其实很简单,http://www.json.org/,有点类似于Map,就是属性结合的表示方法。至于同步,异步,你需要了解一下xhr,本质上dwr,json-rpc-java都是基于xhr的,可以参考这个网站 http://www.xmlhttp.cn/
4、我的gmail邮箱是ynstudio

:-),希望能有点帮助

关于树,qooxdoo的效率不高,不过dojo似乎更低 :-),节点多的话,当然要动态装载了 :-)
re: qooxdoo 0.6rc1 发布了 一农 2006-10-10 15:57  
@originxu
1、我现在做的一个正式项目就是使用的qx,已经接近尾声。ui使用的qx,没有采用什么特殊的东西。我就采用最直接的新开窗口,虽然消耗资源较多,但可以忍受。另外dojo蛮好的,可以考虑一下。
2、使用xhr载入js,和后台没什么关系,就是为了实现根据需要载入js。 对,json就是调用后台注册给spring的bean的方法,不过json-rpc-java本身没有直接的实现方法。所以对于rpc,我建议你了解dwr。
3、json-rpc是基于xhr实现的,是为了模拟rpc的功能。我现在这个项目多数的操作界面,使用了qx的界面,都是使用json-rpc来与后台进行数据交换。但有些功能是直接使用的常用的struts的方法。
4、这个也没什么特别的地方。还和以前类似。因为还是请求响应。还是上面说的,因为我用的json-rpc-java已经不是原来的json-rpc-java了。你说提出的json-rpc的问题,我的回答估计对你也没多少用处。还是看dwr就可以了 :-)
5、对我现在做的系统里并没有考虑国际化的问题。如果我要做这个工作的话,我还真没想好方法呢。如果使用struts+jsp的方式来实现现在的系统,有些标准的方法,但我总觉着不方便开发。现在拍脑袋想一下,如果是js文件里需要国际化的话,我会将需要国际化的文字加上一些特殊的标志,然后传递到前台时,像jsp一样进行过滤。
re: qooxdoo 0.6rc1 发布了 一农 2006-09-29 15:25  
我发现dojo的样式是通过元素的class定义的,所以如果要修改样式,直接在当前页面里重新定义这些class就可以了.
而qx的是通过元素的style来定义的,需要修改theme的相关配置,感觉和dojo相比不甚方便.
不知这个理解是否正确.
re: qooxdoo 0.6rc1 发布了 一农 2006-09-29 14:38  
1、我感觉主要的停顿是发生在代码库的载入、对象的初始化,所以使用NativeWindow总有些不太好,但是也如大家讨论,直接使用qx模拟的window确实也有诸多问题,我自己也使用过通过xhr载入js文件的方法,来实现类似多文档的方式,但效果不理想。通过封装可以解决变量命名的问题,但我有些页面需要直接写一些HTML来实现,这些HTML里的id就要保证不重名。再就是调试的问题。虽然上述问题我也都找到了解决的方法,但仍感觉不放心,所以我现在还是决定使用NativeWindow的方式,这个难度较低,容易掌握,主要问题就是载入库时的速度问题,我想应该想办法压缩库,每个页面载入的库,可以做些裁减。这个解决方法或许更稳妥些。
2、国际化,用静态js的话是比较麻烦,但既然大家抉择使用struts+jsp可以解决国际化问题,那我抉择可以把js当jsp来处理嘛。随便说说,我现在也没考虑这个事情。
3、百万级js代码,我现在做的项目因为是基于qooxdoo的,所以多数页面都是全js的,当然限于项目的规模没有百万级js。但使用xhr载入js文件的话,就不存在一次性载入上百js文件的问题了。
re: qooxdoo 0.6rc1 发布了 一农 2006-09-15 01:00  
有不少同仁询问关于qooxdoo和json-rpc-java的相关问题,这里做些说明:

1、qooxdoo的官方网站是qooxdoo.org,上面有demo,很多,你可以下载后在本机查看。对于ajax,dojo,yui也要多关注,dojo受支持程度更好些。最近我在使用jquery,感觉非常好,推荐了解。
2、qooxdoo和json-rpc-java没什么必然的联系,json-rpc-java就是一种web rpc,如果你只做java的话,建议看看dwr就可以了。另外qooxdoo本身也有rpc模块,是基于json-rpc的。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-09-10 10:35  
@fred

你是说 dhtmlXGrid.js ?
还是其他的?
qooxdoo0.6有了table,这个table相当于一般讲的grid,
http://qooxdoo.org/demo
你可以到他的网站去看看,因为是国外的网,所以速度上要慢一些
@sun123

1、这个我也没遇到过,使用iframe问题满多的,现在我模仿桌面程序的多文档方式来做的,你也可以尝试一下,另外感觉你现在使用qooxdoo的方式,倒不如找一些比较小的ui库来做。

2、现在这种用法是会在document.onload之后调用window.application.main,如果直接写的话,只能写在</body>之前,否则有些内容还没准备好,不过如果你的界面都是使用qooxdoo来生成的倒也无所谓,但qooxdoo的执行就是找这个东西,在他的官方网站上有篇文章是介绍qooxdoo的执行顺序的,你可以去找来看看。
@jolestar

你应该了解dwr,这个和qooxdoo没有什么关系。
re: qooxdoo 0.6rc1 发布了 一农 2006-08-23 09:19  
不过你可以到国外的
http://www.nabble.com/Javascript-f15545.html
做些相关的了解
re: qooxdoo 0.6rc1 发布了 一农 2006-08-23 09:18  
@sun123
速度上我没太注意,那个api打开慢,我想主要是内容多。
我现在新的项目打算使用0.6来做,并且已经把原来使用0.5x的一个页面改为了0.6的库,除了类名上的转换,其他有少许改动。还有些细节问题,现在还没来得及细看。
文中我说其api的doc好用,现在看也不全是,原来的时候,看一个类,在一个页面上可以同时看到该类本身和其父类的所有属性和方法,但现在要一层层的点,感觉反倒不如之前了。:)

我还没找到国内讨论qx的地方,本来想给Ajax中国论坛联系一下,开个qx的版,但看了一下Ajax中国经营的不太理想。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-17 17:31  
@sun123

我们现在没有涉及到多条数据的修改,不过如果做这种功能的话,实现方法也和form刷新一样的,xmlhttprequest提交和form提交,主要就是页面是否切换,另外xhr似乎不能上传文件。
只不过如果我们做的话,就要自己想一下,如何做方便了,qooxdoo的ListView还是单薄了些,我们会再找些其它的ListView(一般其它的都叫Grid)看看。

sybase公司我总觉着他不大肆宣传自己,但他却推出很多漂亮的工具。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-17 10:32  
@sun123

似乎你只是使用qooxdoo做外壳,多数情况下,还是使用其他的技术。

1、你的“其他的js”是什么,我很感兴趣,有这么强的功能,还是使用了一些validate框架,如struts的. 现在我都是自己手工在写js进行校验。但正在筹备给QxListView提供一些辅助功能,来达到校验的目的,同时附加增删改的通用代码,我们还在开发一个数据库管理工具,然后在此基础上,实现类似ROR的一些机制,如自动先生成一套基本的数据库管理的代码,然后项目在这些基础代码上,进行开发。

2、用脚本写的,准备用QxBuilder做,但多数页面代码并不多,大家都懒得去了解QxBuilder。不过我还是推崇QxBuilder的方式。

3、你的iframe里的内容还是使用基本的struts的方式吗,我这边因为界面全部是使用qooxdoo,所以页面不进行刷新,与后台的数据交换都是使用xmlhttpclient,但直接使用显然开发效率太低,所以使用了一些框架,原来是使用DWR,我也推荐你使用DWR,虽然我现在使用json-rpc-java,但这是经过我们改造的,在使用方便性上和DWR类似。
我不知该如何说明写点示意代码你参考一下
后台定义类
public class Foo{
public void saveObject(com.ynstudio.xxx.User user){....}
}
然后在spring里注册为id='foo'
前台页面的js
var user = new Bean('com.ynstudio.xxx.User');
user.set('id','ST001002');
user.set('name','张三');
json.rpc('foo.saveObject')(user);
@emu
1、楼主已经说了
“有些时候无法改变服务器端网页的编码(例如获取别的网站的天气预报信息),在这种时候就只能在客户端通过js做编码的工作了,”
2、这个方法在firefox应该不行,所以ajax的编码问题在浏览器里还是不能完全解决,只有等浏览器扩展,并且统一处理方法了。
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-16 12:09  
@sun123

1、不是很理解你的意思,你的iframe里的页面是否也是使用的qooxdoo?
2、对于数据处理来讲,我们使用QxListView来列表显示普通的数据,使用QxTree来显示具有层次关系的数据,使用QxTextField,QxComboBox等来构成Form表单,给用户输入数据,然后将这些数据组织成数据对象,使用json-rpc-java来传递为后台进行处理,官方的json-rpc-java并不好用,你可以使用dwr来完成同样的功能。我们使用QxGridLayout来对QxTextField,QxComboBox进行布局,自己写了一个FormManager的方法来对QxTextField,QxComboBox这些表单项做些辅助性的管理。最后的效果就如本文中的第三张图片一样。

不知这些是否有点用处。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-16 00:52  
@sun123

你是在正式的项目中使用的吗,能不能详细谈一下你的想法,包括各类ajax库的比较,福星高照兄也是,抽时间写点全面一些的文字,我们也学习一下 :-) ,看看高手的想法
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-14 22:06  
@asan
:-)
正如sun123所说。

@sun123
我觉得你那里旧机器跑得慢,更重要的原因应该不是700k的。。。。。

是的,我的理解是对于老旧的机器,浏览器解析这700k的代码可能有些困难,而不是因为文件大而传输慢,浏览器可以缓存的,这个不是问题。多数情况下,一般的电脑运转起来还是蛮流畅的,只是一次打开一个几百个节点的树有明显的等待,这个还是可以接受的。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-11 15:47  
@福星高照

YUI我觉着主要是比较小,如果项目中仅仅是把特殊的WEB UI作为辅助的话,还是不错的,虽然部件还不全。而qooxdoo 700K的代码真的很头疼,有些客户的旧机器跑起来很费力。
我有时也觉着使用现在这种模式开发不如以前的直接网页get/post方便,一直感觉有些想不通,为什么会原来的模式会感觉方便,现在感觉原因是这样几个方面,1、原来的时候页面设计可以交给美工,现在自己做,2、原来html和java代码可以混合写,即jsp的方式,现在用javascript将显示和数据进行结合,使用widget还好些,如果是直接操作HTML,那就像CGI的方式了,3、javascript的编辑器比jsp的还不好。
还有一种生成静态页面的方法,你在网上搜
extends HttpServletResponseWrapper
就可以了解到了.
还有json-rpc-java
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-09 10:06  
@sun123

另外,强烈建议大家搞个讨论qx的地方,上传一些例子share。

大家可以看看哪家论坛可以提供这个帮助,我朋友有个论坛,但其主题和这个不是很合适,虽然他们公司也是做互联网开发的。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-09 10:04  
@hawk
我用QxRequest获取数据,返回的却是中文乱码,

你查一下response的header中是否有编码信息,如果没有在header中添加编码信息。

@hawk
另外我个人觉得QxListView并不适合大量数据的显示,在数据列太多情况下,滚动条的速度变的慢的难以接受,我更喜欢active_widgets的grid,如果能写一个QxGrid就好了,呵呵

是的,QxListView的效率不太好,我看到其他库的一些ListView(有的叫grid)是基于table实现的,而QxListView是单独的一个个div,在我的T42上其实运行还是满流畅的,但配置差一些的机器就明显的满了。http://www.linb.net/ 的ListView(grid)满好的可以参考一下,linb是国人开发的,不错。

@sun123
你的问题和福星高照兄的不一样,你用iframe后,就会存在这样的问题,因为菜单的显示和消失是通过感知鼠标的,但当你的鼠标进入iframe后,菜单所在的frame就无法感知鼠标了,所以也就消失不了了。
re: [推荐]两款好用的SVN Web Client 一农 2006-08-06 00:45  
<Connector port="8080" URIEncoding="UTF-8" ... />

如果这样解决,势必影响其它的application,我以前在使用mvnforum的时候解决的方法是将form的method由get改为post。如果是链接的话,需要进行encode处理,我最近也要试用这两款软件,到时再仔细研究一下。
@mixlee

在UI上B/S是倒退,使用类似C/S的web ui是为了改善可操作性。
胖客户端是倒退,但富客户端现在是趋势。
比如gmail,为什么搞那么麻烦的代码,就是为了方便客户操作。
有些地方ajax只是辅助性的,有些地方则是基于ajax来进行开发,场合不同而已。
js web ui+rpc+service是否也是一种框架呢?
我用qooxdoo(一个js wen ui库)来构建页面,使用json-rpc-java(类似DWR)来访问后台的java程序,传递和获取数据。
http://www.blogjava.net/ynstudio/archive/2006/07/23/59648.html

我认为由于使用了XHR,使得页面不刷新,带来很多方便,而ActionForm使用的繁琐,数据模型上的简单,是最让我讨厌的,而采用了json-rpc,感觉真的很好。因为可以前后台直接传递对象。就像使用javascript直接调用java程序一样。不再像以前一样想办法对付ActionForm,因为即便使用了BeanUtils,也存在很多问题的。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-03 13:37  
@福星高照

1、"你说得太简单,menubarbutton如何用"
因为我现在没时间去看这个问题所以我才说,让你参考一下menubarbutton,因为Qxmenubar就处理了mouseleave,来切换menu。

2、"js不需要每次都载入吧,缓存不能对js起作用吗?"
js文件是被缓存但是浏览器还是要重新把qooxdoo.js解释一遍,这个是消耗时间的,而且是明显的消耗时间。

3、"关于刷新前的状态,该保留的还是得保留吧,"
不单刷新,而且后退也应该处理的,但感觉会带来麻烦,对我做的项目来讲似乎也无必要.不知你是如何保留刷新前状态的.如果我来处理这个问题的话,我可能会模仿编辑器的方式设置一个undomanager,来处理,通过iframe来记录后退。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-02 11:54  
@福星高照
localeCompare,^0^,好

@李孜
开发人员的回复只是解释了,这个内存问题的原因,并没有说可以解决,除了刷新,我们发现只有把所有相关的页面都最小化,IE才会进行内存的释放。
你说bindows没这个问题,抽时间研究一下。不过在我们项目里,主要的内存消耗我们发现是由于window.open造成的,同一页面长时间操作变化不算太大。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-08-01 21:37  
@福星高照

1、我刚才看了一下确实中文排序有问题,不过我猜想原因是我使用RPC是基于utf-8的,所以排序不是按拼音。utf-8里汉字是按笔划组织的。这个问题我有时间会测一下原因,不过似乎不好解决,没办法的话,可能要交由后台处理一下了。

2、这个我没了解过,你可以参考一下menubarbutton。



@李孜
首先是remove,然后再dispose掉,不过也降不到初始值。bindows不是免费的,所以我这边没有使用。
re: appfuse+qooxdoo+JSON-RPC-JAVA 一农 2006-07-31 15:20  
@福星高照
1、你说的情况确实是的
2、我测试的是支持中文排序的,你再检查一下看看,不过我还没来得及看0.5.3,另外如果你需要特殊的排序方法,可以自己添加排序方法,可以参考一下
QxCompare.js
3、我的gmail信箱是ynstudio,在这回帖聊天怕影响别人浏览^0^。
共2页: 1 2 下一页