实现MVC思想,易维护等等

解决方案 »

  1.   

    kui,你推荐的软件并非那么好用.而且你的文章中也很少讲到.struts究竟有什么好处.
      

  2.   

    以前使用servlet开发应用系统的人深深感受到在java代码中嵌入大量html代码是一件非常痛苦的事,于是sun推出了JSP,解决了java代码中嵌入html代码的问题。但是很快程序员们就知道,用JSP“在html代码中嵌入大量java代码”跟“在java代码中嵌入大量html代码”是一样的非常痛。JSP是这样,ASP也是这样。由于,Craig R. McClanahan借用MVC的思想,把Java web应用程序的java和html分离开放在不同的文件中,分成了三部分,也就是struts;后来,微软也学会了这种分离方法,但微软懒一些,只分成了两部分,也就是ASP.NET。     Struts (org.apache.struts)是一个开放源代码的Web应用框架,基于MVC设计模式,使用servlet和JSP API建立,可以用来构建复杂的Web应用。它允许我们分解一个应用程序的商业逻辑、控制逻辑和表现逻辑的代码,使它的重用性和维护性更好。Struts框架是Jakarta工程的一部分,由Apache软件基金会管理。Struts可以从http://jakarta.apache.org/ struts站点下载。Struts框架提供以下服务。    作为MVC结构中的controller的servlet.     JSP里用于bean管理、HTML和JavaScript生成、模板处理和流程控制的JSP标签库。     用于国际化消息的框架。国际化你的Web应用,意味着你的Web应用在使用时可以让用户以喜爱的语言显示。这意味着你需要创建一个应用资源文件,包含每种语言的信息。    一个JDBC的实现来定义数据源和数据库连接池。    一个通用的的错误和异常处理机制,包括从一个应用程序资源文件读取错误信息。    XML语法分析。    文件上载工具。    注册机制。    一个基于Struts的应用程序的表示层(view)使用Struts标签库(taglibs)构建。来自客户的请求被传递给叫ActionServlet的servlet,它作为controller.使用了Struts的应用程序,所有需要通过框架的请求都通过ActionServlet传递。这个ActionServlet把数据从请求传递到ActionForm JavaBean。    ActionForm是代表从一个表单View组件输入数据的JavaBean。这些表单由JSP用Struts html标签库产生。这个beam由  ActionServlet生成,带request参数,它还请求ActionForm来验证用户提交数据的合法性。    ActionServlet通过定义一组ActionMapping来配置。一个ActionMapping是一个对象,它将请求中的URL映射到由应用程序开发者提供的处理请求的组件。ActionServlet和ActionMapping的配置在XML配置文件中完成。    专用的应用程序用于处理请求的组件叫Action类。在MVC结构中,它们代表模型。它们可能用于验证用户输入的合法性,假如在信息处理过程中出现了应用程序错误,Action类可以创建一个error对象的实例,然后保存庆HTTP request对象中。如果在Action类中的逻辑成功地被招待类给Controller传递一个ActionForward对象,代表所需的描绘响应的JSP。ActionForward有两种:专门转发给特定的Action类或全局转发(任何一个Action类可以把这些ActionForwards转给Controller)。
      

  3.   

    主要还是实现了MVC的设计模式比较方便。
      

  4.   

    kui我看了,你写的介绍.这些我在很早就知道.但是究竟有什么好处,还是没说出来啊.有人说:"易于维护",有人说比较方便..可是这些我在使用的时候我都没有感觉到.可能是我使用的不好,可是谁能举个使用的好的例子呢.把html和java分离,对!这是一个好处.但我想就光这一个好处,不足以让java开发者推崇备至.
    它究竟究竟有什么\多少好处呢?大部分使用struts的人,我想和我有一样的感觉,就是不知道究竟使用它为什么好,我不能人云亦云,我想知道,它究竟是哪儿好.我想不是一句两句能说清的吧.
      

  5.   

    分离就是好处啊,如果要再说下去,那可就是孩子没娘——说来话长了。相比所有做过实际的产品和工程的程序员,都对需求的不断变化深有感触吧。程序设计想出的对应方法就是——分离或者封装,把一个大的功能细分到小的模块,当需求发生变化时,就重新组合这些模块,或者修改一部分的模块来适应变化。面向对象、设计模式(GoF对模式精神的阐述就是封装变化)、企业应用框架都是顺应这个潮流衍生出来的技术。具体说道struts,作为一个框架,它把一个系统按MVC模式分成了若干部分——模型、控制、视图。而这些模块有都实现了一系列的公共接口ActionForm……。当需求发生变化时,我们可以在接口后完成修改,就提高了系统的可维护性和可重用性。
      

  6.   

    实现MVC这种思想,把不同的功能模块流程化简本化代码(包括标签库的使用)重用率更高.
      

  7.   

    哎,如果只是为了实现MVC这种思想,其他的也不复杂啊!@_@
      

  8.   

    to mor(安稼) :
    当需求发生变化时,我们可以在接口后完成修改,就提高了系统的可维护性和可重用性。
    什么叫接口后修改,怎么就提高的系统的可维护性,和可重用性,你说的未免有些牵强吧...你开始说的分离指的是分离业务功能模块(我承认,分离这个可以带来更好的维护性和重用性),而struts分离的是整个的程序架构,这怎么能混为一谈呢? 
    to simon810610(龙吟潇) :你说的我比较赞成,这倒是一个提高重用性的典型.大家继续讨论啊,分不够我可以另起帖子....
      

  9.   

    你如果要知道STRUTS的好处;你应该研究一下:MVC;到时候你就知道它的好处了;
      

  10.   

    mvc的架构,我用了1年半了,开始没有使用struts,后来使用了.而且,书上说的也都是说这儿好,哪儿好.讲为什么的太少,举实例的就更少了...我就是想知道,它为什么好,而不是想知道它都哪儿好?
      

  11.   

    理解MVC就等于理解了STRUTS,主要的还是熟悉STRUTS里是怎么搭建MVC及如何处理动作,映射....
      

  12.   

    我建议大家用jsf吧,绝对比struts好用。
      

  13.   

    你接手一个复杂的WEB应用程序就知到了是接别人做了一半的,而不是自己重新开发的你就会想到STruts的好处了
      

  14.   

    呵!但真正有机会在项目上使用struts的还不很多。。
      

  15.   

    它是去除了jsp和servlet的缺点而发扬了优点,但是他也有不尽如人意之处,难上手是最大的障碍,有好多人望而却步于门外,它基于mvc当然好了。