struts带来的巨大烦恼…是不是系统做大了都不能使用struts?

转载 2006年05月20日 13:14:00
经过一段时间使用struts,随着系统越做越大,现在,我终于要抛弃struts了,因为

到现在,struts的巨大不足和缺陷越来越影响到我的项目的进度和开发效率了。

背景:现在,我负责着一个大型企业的人力资源管理系统,整个系统管理的人员大约

有1.6万人左右,系统基于jboss+oracle,java技术框架为struts,少许的报表用到

了 servlet,项目开发的时间差不多一年,好,转入正题:

到现在为止,我认为formbean 的好处就是和页面表单对应起来,在系统业务处理中,

可以实例化formbean之就可以取出页面表单的值来,方便于在业务逻辑中引用。使得

业务处理层和展示层可以分离开来,到现在为止,这也是我发现struts的唯一好处。

但struts带给我的烦恼,各位,实在太多太多了,主要的几点我罗列如下:

一、转到展示层时,需要配置forward

   每一次转到展示层,相信大多数都是直接转到jsp,而涉及到转向,需要配置

forward,如果有十个展示层的jsp,需要配置十次struts,而且还不包括有时候目录

、文件变更,需要重新修改forward,注意,每次修改配置之后,要求重新部署整个

项目,而tomcate这样的服务器,还必须重新启动服务器,如果业务变更复杂频繁的

系统,这样的操作简单不可想象。现在就是这样,几十上百个人同时在线使用我们的

系统,大家可以想象一下,我的烦恼有多大。

二、当页面表单需要自动变化或者频繁变化时。

  对于一个成熟的MIS系统来说,页面表单肯定是不固定的,甚至象有些系统,页面表

单是存在数据库中,需要填写的表单在页面自动生成,比如填写一个人员基本信息,

本来只需要填写 姓名、性别、出生年月 三个指标,而我后来需要增加籍贯这样的指

标,我只需要在数据库中添加籍贯这个记录,并在页面就能自动增加籍贯这样的表单

。而 struts在这方面,其优势反而变成了不足,我参考了非常多的人力资源管理系

统,这些系统几乎都能够做系统里面就可以控制人员信息的指示,进行使展示层能随

之灵活变化,如果使用了struts,这些灵活性就根本用不上。

   同时,如果页面表单频繁变化时,就需要频繁修改formbean对应的方法和属性,

而每次修改之后,就要求重新部署,或者重新启动服务器……。

三、要引入struts包,引入strtus标签库,现到现为止,我们有所见即所得的

dreamwaver、frontpage、webeditor,对于繁杂页面的设计,是非常方便的,而对于

struts标签库,没有哪一种软件能够支持。jbuilder我没用过,不知道支持不支持,

而为了维护这些标签库,增加工作量支持,也非常容易出错,稍微不小心,就一堆异

常抛出来,系统他死给你看。


总结:

  现在为什么asp.net越来越流行,非常重要的一点,就是asp.net这样的模式,简单

,易于控制。而且我现在仍然觉得,利用jsp的文件名作为路径的映射非常方便,而

struts还非常去配置action,使之有带有象.do、.main这样后缀的路径访问方式,不

但增加了系统功能的复杂性,影响了系统的性能不说,还增加了非常多的系统不可掌

握因素。其实 javabean+jsp,利用javabean处理业务逻辑,只利用jsp来展示数据,

这正是.net的原型,同样,即可以不用去配置struts、也不需要象serlet一样去配置

web.xml带来的麻烦。  所以,并不是所有的框架都是好的,越简单越易于控制。
   所以,现在,我决定放弃struts,转而采用javabean+jsp的技术结构。

相关文章推荐

重装系统后6件必做大事

  • 2009年10月31日 12:40
  • 15KB
  • 下载

win7 系统下配置 java 环境变量———细节决定成败,一个逗号都不能忽略!

今天重装系统,需要重新安装jdk,因为是很久以前安装过,具体的配置方法不是很模糊,所以网上搜索了一些方法配置后,出现了各种各样的问题,其实原因都是很简单的,符号,路径等上面的问题很多,归根究底就是自己...

工业4.0时代,您需要的是高性价工业物联网智能网关,PLC远程监控,PLC远程维护,系统数据采集,一个都不能少。

如何实现智能制造? 第一步能够完成生产过程的自动化,第二步将生产过程中的数据实时上送到MES、ERP、EAM、大数据分析系统、设备远程运维系统,第三步各种系统协同合作,实现市场、计划、生产、维修、设...

某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观

拦截导弹 时间限制:1 秒内存限制:32 兆特殊判题:否提交:577解决:238 题目描述: 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够...

小团队能做大系统:Cloud_Native云原生架构实践

本文整理自2017云栖大会-成都峰会上阿里云存储服务产品经理大邪的分享讲义,讲义主要分享了Cloud Native的概念及其核心思想之一—康威定律,介绍了DevOps如何利用Cloud Native实...
  • Gamay
  • Gamay
  • 2017年06月01日 13:55
  • 906

一个都不能少: DevOps的3大核心基础架构

DevOps的涵盖面非常广,因为这个概念的火热,又有很多文章和技术都在把DevOps的帽子扣在自己头上,让很多人迷惑不解。其实,DevOps的知识体系如果从顶层上来分解,只有2块:方法论和工具链。方法...
  • ups216
  • ups216
  • 2016年05月31日 22:17
  • 991

使用Struts2和jQuery EasyUI实现简单CRUD系统(一)——从零开始,ajax与Servlet的交互

就是前端与后台的交互,学j2ee,很多时候,写jsp的时候,jsp帮你把前端后台串联起来。但事实上,很多时候前端写好的东西,需要后台进行一些处理,再去改成jsp代码是很恶心的东西,什么都是jsp。其实...

慕课网_使用Struts2+Hibernate开发学生信息管理系统

相关软件、驱动及源代码见:https://github.com/xiaozhaowhut/imooc_sh章节结构: 第1章 Struts2与Hibernate整合 1.1...

教育办公系统的SimpleHibernateDao类,struts-menu 插件,员工录入,displaytag使用

1.SimpleHibernateDao 类.      使用泛型,简化对数据库的操作.是所有的DAO类继承 SimpleHibernateDao 类.提高代码的重复使用性.     提供的支持方...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts带来的巨大烦恼…是不是系统做大了都不能使用struts?
举报原因:
原因补充:

(最多只允许输入30个字)