微软的和java的老的新的都用过 asp,jsp,struts,还有cs架构的 大型ERP系统的 (日本项目) 光表就几十个 一个表的字段最多200多个 当然有发言权
^_^,就这点东西也拿出来得瑟一下?
和你比,我工作时间是6年,在校3年,工作3年,我先后参与过广东省电信、移动得boss系统的开发与设计工作。几十个表?我们上千个表都有了!况且你的是啥对日项目,咱现在在大连,正在见识什么对所谓的外包对日的项目(我们的对日本项目的评价是:傻子都能干,干3年能变成傻子,过激点了...)。
我晓得,你是从asp的年代过来,一时难以接受结构清晰的j2ee架构。咱也做过很多asp项目(在校),asp如果那种混乱的编码方式连微软自己都挺不住了,还要你在这里歌功颂德?
技术人要向前看,5、6年不等于高水平。你看看人家robbin,redsaka,都是28岁,人家是啥
水平,你那么厉害我匝就不知道你的大名?
我用struts快三年了,从最早的1.0beta开始,到现在的1.2...个人觉得这是一个设计非常合理的框架,每一次使用struts都能受益匪浅,提高不少工作效率,尤其是多模块开发和可扩充性。至于struts的一些缺点,mailing list里面有许多地方谈到,这里就不一一数落了。但是总的来说,它是J2EE里一个非常理想的框架,关键是你的团队是不是能真正意义上熟练使用它。而事实上很多人(包括很多半懂不懂IT管理人员)都是“跟风“,学会了struts-config文件如何配置,action/actionform如何写,几个标签如何使用就说熟悉了struts,这只是学会了1%的精华,试问你能顺口说出RequestProcessor的所有doXXX()事件执行顺序吗。只有了解至少99%的细节才能有权评论它得好坏。不要动不动就口出狂言,大有"愤青"之嫌!
不是吧,大家不用觉得这个不好,那个不好,什么东西都有自己不足之处,就连Windows都有漏洞了,大家不要一再指出不好,那个不好的,要不你们自己开发一个freamwork出来,相信你还不如Struts!
任何功夫练不好都是软手软脚
这里的火药味挺浓的,看着都有点怕。我用spring framework,对struts的了解只限于在spring中介绍的那么一点点知识。
用spring一段时间,感觉也挺好用的,标签库用jstl,而且只用最简单
c:out c:forEach c:choose,其它都不用。
我认为,在正确的使用了struts后,是否提高效率,要看这个人原先对jsp掌握的能力。

对于jsp不太熟悉的人来说,jsp的跳转是个非常麻烦的东西,经常搞的头大,学jsp头一年经常会出现这样的问题,这时候如果使用struts规范jsp流转,并强制使用mvc模式,那么对使用者来说是一件解脱,以前较难的东西不难了,虽然变的复杂一些,但是总能理的头头是道,struts是用复杂来替换难度。

但是对于本身有丰富的jsp经验的人,很可能在自己的摸索中就已经掌握了一套基于MVC的编程方法,而且在定制的MVC结构使用起来更加顺手,更加便捷,struts由于要兼顾所有的情况肯定比不过夺身定制的MVC构架。这种情况下使用struts的人自然感觉struts和自己定制的MVC相比也没有什么特别高深的地方。毕竟所有的MVC都是实现类似的东西。

个人觉得struts的实现过程太分散太麻烦了,修改一个业务要修改jsp、javabean还要修改xml,把信息分布在互相牵制的好多层文件里,一改全盘皆需改,不满足配置信息最少冗余的范式,其实是增加了复杂程度。不过struts比较好的是在struts构架里不只实现了MVC还实现了很多其他功能,这是很多人仍然选择使用struts的原因。

我觉得strut挺好的,不过我认为有两个不方便,一是html:text之类的在Dreamware中不能正确显示,做界面有困难;二是修改不方便,每次必须重起服务,不像jsp,修改后立马见效!
80几个表 一个表的最大字段有200多个 难道不能称是大的系统吗?我看你不紧java,oo方面不如我 连脑子也有点问题 要么就是小学没毕业 回去读吧 学费没有的话 可以问我借点!


这个确实不算大的系统。正在做一个小的系统,只有480多个表,唉。。。
en??
唉,潜了这么久,忍不住了!80个表是大系统,无语……加一个“0”还可差不多,在哪加大家自己斟酌,我也不多说了
外包真是害人,人都做傻了
开发框架

Ver 1.1


基于经验,有如下认知:

人员能力不一,特别有创造力的很少。
同样的工具,不一样用法,不一样的效率。
对于人员素质,能够快速上手即可。对普通员工的要求越高,说明公司的开发模式越差。

关于质量,做如下保证:
90%的常规代码自动生成。手写的东西出错几率大。
通过迭代,原型,业务对象分分析,确定需求。此阶段所有代码自动生成,不做任何手工编码,但系统能运行。

接下来,少量编码,界面美工,完善。

这些的实现,赖以完善的基础框,他提供快速的开发,测试,无缝集成,发布。


会写select语句的人员不能说他就会开发。。
但是,高效的模式就能做到:
对员工做短期培训,便可达到会开发的水平。


设想的开发模式:
功能完善的基础平台,其上集成产品构件。就像windows,在上面可以安装、卸载各类应用软件一样。
所以,产品的开发,只要遵从给出的模式,就应当无缝集成。


目标:
1. 提高开发、测试、集成、发布之效率
2. 产品模块化,集成无缝化
3. 通过迭代,快速的代码自动生成技术,提高项目化软件的可控性。
4. 这是一套生成j2se代码的产品,对任务关键型不适用,但这并不说他脆弱。

功能:
1. 基础功能:
1. 1数据库访问
1. 2对象
1. 3技术框架
1. 4代码生成
2.
2. 扩展功能
2.1多web应用集成,单点登陆
2.2权限控制
2.3参数引用

3. 附件


功能介绍:
本框架提供根据数据库表,自动生成代码的功能。数据库目前支持Oralce、MsSql、MySql。生成代码基于Struts框架,代码是完全的J2SE模式。包括jsp界面(add、list、update),struts-config.xml,action类(add、list、update、delete),form类,dao类(数据访问对象),业务对象(通数据库表格字段一一对应),master类(封装业务逻辑)。

1.基础功能:
1.1 数据库访问
jdbc的统一数据库访问模式,无疑问应用的跨数据库特性提供了有力支持。本框架提供了一套数据库连接池技术,可以为不同的产品模块指定不同的数据库连接。
配置文件实例:

#how to get the config file
#add the follow java options
#-DdbConfig=$SAVED_PATH\dbprop.txt
#E.G.
#-DdbConfig=c:\db\dbprop.txt
#by default,it get config file from c:\dbprop.txt
#
#
com.virtual.test.driver=oracle.jdbc.driver.OracleDriver
com.virtual.test.url=jdbc:oracle:thin:@10.5.5.25:1521:shsw
com.virtual.test.user=vopak
com.virtual.test.password=vopak2004
com.virtual.test.size=10
com.virtual.test.database=ORACLE


default.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
default.url=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=northwind;SelectMethod=cursor
default.user=sa
default.password=sa
default.size=10
default.database=MSSQL

通过配置文件,指明数据库类别(额外属性,供数据库解析使用),连接属性,连接池的id,如com.virtual.test,default,若找不到指定的连接池的id,则返回default的配置。
代码实例:
public static DepartmentDAO dao = new DepartmentDAO();

public static java.util.List findAll(int start, int range) throws
Exception {
Map map = new HashMap();
List list = new ArrayList();

ConnPool cp = ConnPoolMgr.getConnPool(dao.DB_ID);
Connection conn = cp.getConn();
try {
list = dao.listAllObjects(conn, start, range);
}
finally {
cp.freeConn(conn);
}

return list;
}


1.2 对象
针对java语言开发应用,有这么两类极端的、低效的方式:A. 大多数从windows桌面应用开发转过来的人员,停留在数据纪录集层面,jsp页面到处可见sql语句;B. 疯狂的运用所谓的设计模式,遵从死板的格式,却没有快速的代码生成做支撑。
本框架,运用了一些基本类概念:A. 每个数据库表格,对应一个业务对象类,该类是最基本的java bean,包含set、get方法。B. 针对此业务对象类,关联出两个类:数据库访问类DAO,业务方法类MASTER。DAO类负责数据库访问,指明数据库表格―业务对象的关联关系,基本的增删改查功能;MASTER则是对业务方法的封装,提供了创建、查询、更新、删除等基本方法。

1.3 技术框架
基于Struts框架,代码纯J2SE形式。


PublicForm继承自ActionForm,实现了当前登陆用户的统一获取(getUserId()),分页显示参数的统一传递(getStart(),getRange()),功能扩展参数(getDoType())。

PublicAction继承自Action,附加权限的判别,异常处理,日志纪录等功能
e.g.






通过resource,operator获取当前的资源,操作,进而进行权限鉴别。


1.4 代码生成




2.扩展功能
2.1 多web应用集成,单点登陆
实现简单的SSO,即通过COOKIE共享登陆用户信息。

2.2 权限控制
提供用户管理,角色管理,授权管理


2.3 参数引用
针对最常见的主从关系,实现一种快速的引用方法,快速生成下拉框、复选框、单选框,弹出式窗口等。

3. 附件
功能演示avi,公共jar(struts 1.1,Oracle、MsSql、MySql jdbc driver),本框架核心jar(open.jar),全套源代码。
安装指南.doc,代码结构分析.doc,平台功能.doc。

dongqi_zhao@hotmail.com

我个人看法是,struts再不好,也比我这边接手的代码强太多,jsp+javabean,转手几个人已经不成模样,改个东西到处找,找include,找.js,找session里面乱七八糟的变量。
何况这玩意还可以,我用的觉得还行啊,一般常用的东西都有解决方案。
我现在struts,common validator,tiles,hibernate,displaytag,加上几个免费的东东,基本上什么要求都能实现。
当然webwork什么的应该也不错,以后也可以去看。
但是我非常非常地不赞成的大家说自己去随手写,或者是自己搞个框架,公司产品一定要有核心框架,要用一个成熟的产品。除非你一个人玩,怎么弄都行。以后别把垃圾丢给别人。
struts这么多年,你要相信别人的智慧。
事实上struts主要关注在v/c这部分。我并不觉得这东西有多难学。技巧多,但是其实本质还是简单的。真不想用就不用。反正人家是免费的。我就不喜欢微软的东西,太死。

如果是纯技术层面上的,我们就不必加上若干没用的题外话比如自己做过几张表或是中国人的嗉子问题。我是 struts 的初学者,楼主的意思直白地说明了学习 struts 纯粹是浪费时间,应用 struts 绝对是自己找罪受,我也觉着这个ramework 非常难以调试,甚至增加了系统耦合,但是这只是到现在为止的观点,非常希望有应用 struts 得心应手的前辈介绍经验,指出学习的要点。
请问仁兄,做过2亿的项目吗??