>为什么什么东西都要自己从头做?如果你只是做基础平台开发的,可以,如果还要完成业务目标,你有精力完成你开发的平台的维护吗?

偶现在在公司当什么鸡竖总奸(以上文字用于测试jive的过滤功能),在其位某其职,所以总想玩儿点玄乎的东东,而且又是编程迷...惭愧ing

to:wxlin2k
您说:在最近由一些同事的开发应用中看到一个比较明显的问题,大家都只把Struts当流控制器(指ActionServlet)用了,但到了需要非指向性问题的时候(例如在当页生成报表)却又用回model 1那种思维去编写jsp。实在是...理论和实际的出入很大啊,这一点跟EJB大家一般只用SB去调配数据一样。不是struts或EJB的问题。而是开发者的习惯和模式,不是说改就改的...
=============================
这样是可行的,petstore就采用了这中方法,叫做什么fast_l...,想不起来了,反正就是允许view层直接访问只读的DAO,我在项目中也采用了这种方法,效果不错,简单多了。
但是如果是update、insert等操作,还是要走标准的MVC道路的。

我觉得目前国内做企业的公司,关键问题不在于具体的技术,而是在开发的方法论上,如何提高效率,如何改善开发环境,如何减少维护的负担等等。我也是编程迷,也自己做过一些框架性的东西,但公司的性质决定了我不能以这种方式来发展,所以我现在更多的是虚心学习使用已经成熟的框架,工具,尤其是Apache上的开源工程。

同意

不敢当,学习是相互的,您的贴子也使我对一些平时未留意的问题加强思考。

我不是说那种做法是不可行,不过用起来和做起来的感觉不是好像petstore那种因为应用需要而去干,而是因为习惯。我的同事,一开始是按MVC的,做着做也就又按照原来的习惯去做了,结果另外一些习惯了Struts-MVC的同事接手做一下步的时候又变得不习惯这些编码方式了。

其实这就我说的问题倒不是JAVA或MVC本身的技术问题。技术本身的效果是很明显的。倒是觉得是项目管理会出现的问题。比如说,在一个开发组里,各开发人员对技术的接受和理解程度都不一样,在用一种新开发模式的时候,到底有没有提高开发效率,还是结果降低了?这些问题才是最头痛的。

>>提外话:Weblogic的console左侧的tree是用applet作的,也很好呀。要是有时间作一个通用的。

补充一下,jboss也是用applet做树的,applet有很多jsp比不上的东西,特别是界面的灵活性。不过这个讨论方向再下去的话,又变回了B/S、C/S的优异论,咱们提一下也就算了吧。

Front Controller 模式只是Struts的一部分功能,当然也是核心功能。其他如Tag Library, TILES, Validator,localization都是为了解决项目开发中可能遇到的问题。
如果重新开发这样的框架,耗时耗力不值得而且未必有STRUTS好。当然如果项目不大,开发人员不熟悉STRUTS,Front Controller 模式也够好了

不光是Struts,整个MVC的使用其实都让我觉得有点偏离的它原本的理想。
MVC主要是为了能明确分工和大家不用依赖对方,但实际上却很难做到这一点,就连近来很热的JSF我觉得也并不能做到UI的理想。怎么说呢?MVC原来的想法是美好的,但好象和人类(或者说逻辑)是想违背的,你怎么能设计了前面不用看后面呢?不知道是不是我对MVC的理解有问题,其实我总觉得MVC到现在还没有真正脱离原来的jsp+servlet(javabean)。

我觉得STRUTS里的模式好象不只这些啊!formbean的用法我就觉得是ValueObject模式。
还有STRUTS是J2EE设计模式的结晶,我觉得这句话真的是有道理的。在我看来 它实现了大部分的J2EE设计模式!
我也是个新手!有不对的地方,请大家多多指教!ありがとう。おいします。

> 再问一句,struts是否会生成很多处理action的类?我作得这
> 隹蚣芑岵芏command类,还要用factory+xml管理它们,?> 闷中...

我的做法是:在actionmapping中定义许多forward,然后通过在request中传参数(uiaction)来实现一个(或者几个,要看模块划分了)action对所用请求的转发,这样做的好处是:
1。action类不会爆发
2. 日志及异常的集中管理。

这也是一种facade吧

to: cats_tiger

你可不可以考虑一下,使用java.lang.reflect,将一组处理Action的Comamnd放在同一个Class中,用每一个Method对应一个Command类,它们有相同的接口,这样就不需要太多的Command类了. 我自己写了一个MVC Controller就是这样玩的,用起来还不错. 在几个项目中,开发和运行效率都非常地高, 配置也很简单明了,没有struts那么复杂.

to: cats_tiger

你可不可以考虑一下,使用java.lang.reflect,将一组处理Action的Comamnd放在同一个Class中,用每一个Method对应一个Command类,它们有相同的接口,这样就不需要太多的Command类了. 我自己写了一个MVC Controller就是这样玩的,用起来还不错. 在几个项目中,开发和运行效率都非常地高, 配置也很简单明了,没有struts那么复杂.

好注意,我试试!

关于html和jsp还是可以分离的,建立一个页面控制类
所有html中需要显示的变量都通过特殊的tag来标记
一个html对应一个jsp页面,a.jsp<->a.htm

jsp页面作为view层去符合MVC的标准,只不过从html中获得
显示的代码.这样page designer可以完全脱离程序来进行
page的制作.



ActionServlet