论坛首页 Java企业应用论坛

为公司写的1个简单的WEB框架,希望大家给点意见

浏览 19184 次
精华帖 (0) :: 良好帖 (6) :: 新手帖 (6) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-23  
楼主的框架基本可以的,我也有写过一个类似的东西,我就是自己开发点小东西时用,公司开发还是以公司技术基础为主。如果不想长干的,也就算了,拿来主义未尝不可。

各个WEB框架大同小异,主体功能无非是传递,组装,分解,展示,页面流控制,我认为不管是WEB还是其他,技术框架公司也是有自己的积累较好,也可以把一些好的东西拿过来融入自己的框架。

0 请登录后投票
   发表时间:2009-03-23  
目前我们公司就是使用这个简单的框架进行开发。目前做了几个项目,感觉还可以。
0 请登录后投票
   发表时间:2009-03-23  
还需要String yourname = this.getParam("yourname");  啊啊啊?????

最起码得能象asp.net那样页面对象可以直接使用吧?尤其觉得this.getParam(...)样的写些有点别扭。

0 请登录后投票
   发表时间:2009-03-23  
netfork 写道
还需要String yourname = this.getParam("yourname");  啊啊啊?????

最起码得能象asp.net那样页面对象可以直接使用吧?尤其觉得this.getParam(...)样的写些有点别扭。


同意,这点还是可以继续简化的。楼主还可以借助BeanUtil来设置对象属性,不过将来越写就可能越像Struts了
0 请登录后投票
   发表时间:2009-03-23  
番茄有益 写道
netfork 写道
还需要String yourname = this.getParam("yourname");  啊啊啊?????

最起码得能象asp.net那样页面对象可以直接使用吧?尤其觉得this.getParam(...)样的写些有点别扭。


同意,这点还是可以继续简化的。楼主还可以借助BeanUtil来设置对象属性,不过将来越写就可能越像Struts了


有类似的功能,可以自动根据request中的值反射生成对应的对象,因担心这样反射的值太多会影响性能,所以虽然有这个功能,但我们用这个功能的还比较少。
0 请登录后投票
   发表时间:2009-03-24  
其实楼主你也可以选择一个框架,然后根据认为费时的地方进行封装改进的。。。这样的话至少还有点余地处理。
0 请登录后投票
   发表时间:2009-03-24  
为啥不用Wicket ?
0 请登录后投票
   发表时间:2009-03-25  
  看了楼主的文章和各位的评论,感受很多了;我这个人比较直率,不喜欢说恭维的话,也很喜欢事情最原生的一面;我觉得楼主的勇气另人佩服,但是从以下几方面 我对楼主的做法并不很赞同;
第一:必要性,也就是说 是否有必要自己开发自己的框架;开发人员应该是把主要的精力放在业务逻辑的设计和实现上;这个看来虽很小,但我觉得那是很深层次的东西,社会中无不体现这样的原则 ,那就是分工了 ;我们不可能每一个事情都是自己做,就好比我们吃的,穿的,并不是我们自己做不了,而是要看自己有没有这个特长和有没有这个必要;在开发中也是一样的道理,那么多成熟的框架为什么不用呢,而 要自己写呢;

第二 扩展性;楼主在代码中每个类都要继承一个名为BaseForm的类,这个是很有风险的东西;我们都知道java是只支持单继承的,这就要求我们在用继承的时候要非常的小心,要考虑到以后的扩展;举个简单的例,为什么很多在进行spring和structs整和的时候都不喜欢用继承spring的Baseaction的方式呢,很简单那就是以后要扩展的话,那是很困难的事情;

第三 性能性 楼主说在表单的form里面某一个name 就是要执行某一个类的名字为name的方法;我想问一下 你的映射关系是如何确定的,如果是用的反射的话,就是客户能够忍受,我自己都没部分忍受

第四 说说其他的问题 楼主的代码风格我不是很欣赏 就比如保存文件那个了     mf.saveTo("c:\\" + mf.getOriginalFilename());  这样写程序就非常死了一个是移植非常困难,根本就没有办法linux或者其他非window系统 其他 就不说了 呵呵
1 请登录后投票
   发表时间:2009-03-25  
qinjingkai 写道
  看了楼主的文章和各位的评论,感受很多了;我这个人比较直率,不喜欢说恭维的话,也很喜欢事情最原生的一面;我觉得楼主的勇气另人佩服,但是从以下几方面 我对楼主的做法并不很赞同;
第一:必要性,也就是说 是否有必要自己开发自己的框架;开发人员应该是把主要的精力放在业务逻辑的设计和实现上;这个看来虽很小,但我觉得那是很深层次的东西,社会中无不体现这样的原则 ,那就是分工了 ;我们不可能每一个事情都是自己做,就好比我们吃的,穿的,并不是我们自己做不了,而是要看自己有没有这个特长和有没有这个必要;在开发中也是一样的道理,那么多成熟的框架为什么不用呢,而 要自己写呢;

第二 扩展性;楼主在代码中每个类都要继承一个名为BaseForm的类,这个是很有风险的东西;我们都知道java是只支持单继承的,这就要求我们在用继承的时候要非常的小心,要考虑到以后的扩展;举个简单的例,为什么很多在进行spring和structs整和的时候都不喜欢用继承spring的Baseaction的方式呢,很简单那就是以后要扩展的话,那是很困难的事情;

第三 性能性 楼主说在表单的form里面某一个name 就是要执行某一个类的名字为name的方法;我想问一下 你的映射关系是如何确定的,如果是用的反射的话,就是客户能够忍受,我自己都没部分忍受

第四 说说其他的问题 楼主的代码风格我不是很欣赏 就比如保存文件那个了     mf.saveTo("c:\\" + mf.getOriginalFilename());  这样写程序就非常死了一个是移植非常困难,根本就没有办法linux或者其他非window系统 其他 就不说了 呵呵

1. 必要性确实很重要,我们公司开始使用JSF(包括金蝶在JSF上做的AOM),很不成熟,很多问题,所以放弃。后来使用struts,感觉配置很麻烦,太庞大,很多功能我们用不上,希望有的它又没有。一直觉得rails开发很方便,但因为一直用的JAVA,所以不能转,grails领导还不敢去尝试,所以就想到自己做1个简单的WEB框架。正因为这个框架很简单,所以可以说没花什么精力去开发和研究(1个人1个多星期就出来了)。

2. 我们做的这个框架只是为了公司内部使用,并不打算(也没这个能力)推广给其他人使用,BaseForm并不是必要的继承,只是自己的爱好和编码习惯,为了把公用方法放在1起,所以加了1个BaseForm。我的这个框架不需要继承任何类或接口。如果说继承就不能很好的扩展到话,那楼主为什么不说struts了?如果没记错的话struts的action类是必须继承它本身的一个类。

3. 性能问题我没什么发言权,因为都是做的都是企业内部网,没有做过JAVAEYE这样访问量的网站,不过在企业应用中还是没问题的(我们公司最大的系统就是用的这个,估计比我们公司人多的公司也不会太多吧)。我的原理确实用的是反射,不过我觉的struts也应该是用的反射,不然怎么引发你的action了?(本人才疏学浅,只能这么猜测)

4. 虽然不敢说我的编码风格好,但请注意下,这里只是1个demo,并不是1个项目,难道大家在做demo的时候还会去考虑操作系统,考虑国际化,考虑把很多信息写在配置文件中?
0 请登录后投票
   发表时间:2009-03-25   最后修改:2009-03-25
BearRui 写道

1. 必要性确实很重要,我们公司开始使用JSF(包括金蝶在JSF上做的AOM),很不成熟,很多问题,所以放弃。后来使用struts,感觉配置很麻烦,太庞大,很多功能我们用不上,希望有的它又没有。一直觉得rails开发很方便,但因为一直用的JAVA,所以不能转,grails领导还不敢去尝试,所以就想到自己做1个简单的WEB框架。正因为这个框架很简单,所以可以说没花什么精力去开发和研究(1个人1个多星期就出来了)。

2. 我们做的这个框架只是为了公司内部使用,并不打算(也没这个能力)推广给其他人使用,BaseForm并不是必要的继承,只是自己的爱好和编码习惯,为了把公用方法放在1起,所以加了1个BaseForm。我的这个框架不需要继承任何类或接口。如果说继承就不能很好的扩展到话,那楼主为什么不说struts了?如果没记错的话struts的action类是必须继承它本身的一个类。

3. 性能问题我没什么发言权,因为都是做的都是企业内部网,没有做过JAVAEYE这样访问量的网站,不过在企业应用中还是没问题的(我们公司最大的系统就是用的这个,估计比我们公司人多的公司也不会太多吧)。我的原理确实用的是反射,不过我觉的struts也应该是用的反射,不然怎么引发你的action了?(本人才疏学浅,只能这么猜测)

4. 虽然不敢说我的编码风格好,但请注意下,这里只是1个demo,并不是1个项目,难道大家在做demo的时候还会去考虑操作系统,考虑国际化,考虑把很多信息写在配置文件中?

现在主流的web框架你们都考察过了么? 现在的struts2也就是以前的webwork似乎不存在你说的配置复杂的问题,难道你说的是struts1.x?
如果还没考察好就开始自己上马山寨框架,未免太草率了。
ps:用继承要看情况,由于action本身就是框架的一部分,因此它用继承没有问题,而Model完全没必要用继承绑死在框架上。
用反射没问题,相对于数据库访问的开销不算什么。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics