专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » struts2开发者突击:Struts为程序开发者带来的好处 »正文

struts2开发者突击:Struts为程序开发者带来的好处

来源: 发布时间:星期四, 2009年1月15日 浏览:38次 评论:0
  最近不是很忙于是决定了解下有关J2EE相关内容现在已基本知道Servlet和JSP是如何回事目前正在看Struts.在看Struts过程中直存在个疑惑:为什么要使用Struts呢?

  Struts是对MVC2模型实现于是许多讲解Struts书用Servlet做了个符合MVC2要求Web应用再用Struts做了个同样功能Web应用但是在对两种方式对比中我发现Struts似乎并没有为开发者带来很大方便以下是我对比:

  视图:两者

  控制器:利用Struts并不能完全摆脱这开发者还是需要写Action.使用Servlet方式也是写个同ActionServlet充当控制器两者在代码量上没有区别逻辑上也样;

  模型:两者

  两者主要差别:Struts多了个ActionServlet

  既然编写个类似AcitionServlet就可以充当控制器那么Struts在提供Action后ActionServlet意义何在?

  ActionServlet作用是拦截用户请求并将用户请求转发给合适Action而自己Web应用是将用户请求直接发送给功能等同于Action自定义Servlet.ActionServlet在拦截过程中注入了个ActionForm对象和个ActionMapping对象经过这个过程后Struts为开发者带来了如下实际好处:通过ActionMappingAction在转发时并不是转发给个实际页面而是转发给在strus-config.xml中已经配置对象这意味着在不改变Action代码情况下就可以更换其转发页面;如果没有ActionMapping当有100个Action都要更换转发页面时我们不得不在庞大Web应用中找出这100个Action修改其转发页面然后再重新编译它们有了ActionMapping后只需要在struts-config.xml中修改相应配置即可这样既查找方便又不用重新编译

  现在个主要问题是:Web应用旦投入使用的后更换转发页面可能性有多大?Action转发页面般都是直接向用户展示JSP页面软件Software工程中切和用户直接打交道部分都是极易发生变化

  当然Struts肯定还有其它方面便利的处但是这些还并不足以打动我去使用Struts即便它还提供了丰富标签库

  最终个重要原因让我认为我确需要采用像Struts这样框架当然首先我直是相信MVC模型所倡导理念:将视图和模型分开把和用户交互部分独立出来好处是明显

  首先如前面所述和用户交互部分是最易发生变化视图独立意味着变化隔离;然后是将视图分离出去后开发者可以将精力集中在对业务流程处理上个大型系统最复杂最核心部分就是处理业务流程可是实际情况是繁琐地界面处理占用了员大量甚至是大部分时间

  我相信了MVC模型带来好处所以开发Web应用时我定会采用这种模式但是我并不需要StrutsServlet就可以让我实现MVC模型这种想法似乎很自然但是这里面隐含着个前提是:我每次开发Web应用都必须有意识严格按照MVC规范标准来写这看起来不是很困难但是做起来却很难有时候在业务处理过程中嵌入几行有关界面代码似乎是非常自然而且简单于是我就真这样做了段时间的后我突然发现我业务处理过程和界面显示部分又混杂在起了至此我才真正相信我要使用Struts.

  Struts可以规范标准行为也许Struts并不能降低实际代码量甚至有时候不使用Struts代码可能更简洁但是按照Struts写出来Web应用却定是符合MVC模型就我认为这是采用Struts最大好处规范标准行为在不知不觉中写出符合优秀架构代码这应该是所有框架共同目也应该是根本目

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: