知识大全 用Struts建立MVC应用的介绍

Posted

篇首语:最好的治疗是在温暖、干净、干燥的环境下养猪。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用Struts建立MVC应用的介绍相关的知识,希望对你有一定的参考价值。

用Struts建立MVC应用的介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   .Model 和Model 简介    我们在开发Web应用时经常提到的一个概念是Model /Model 那么到底它是什么意思呢?其实它是对采用JSP技术构成Web应用的不同模型的描述 下面对这个概念做一个简单的介绍     Model     在使用JAVA技术建立Web应用的实例中 由于JSP技术的发展 很快这种便于掌握和可实现快速开发的技术就成了创建Web应用的主要技术 JSP页面中可以非常容易地结合业务逻辑(jsp:useBean) 服务端处理过程(jsp:scriplet)和HTML() 在JSP页面中同时实现显示 业务逻辑和流程控制 从而可以快速地完成应用开发 现在很多的Web应用就是由一组JSP页面构成的 这种以JSP为中心的开发模型我们可以称之为Model     当然这种开发模式在进行快速和小规模的应用开发时 是有非常大的优势 但是从工程化的角度考虑 它也有一些不足之处      应用的实现一般是基于过程的 一组JSP页面实现一个业务流程 如果要进行改动 必须在多个地方进行修改 这样非常不利于应用扩展和更新      由于应用不是建立在模块上的 业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离 所以非常不利于应用系统业务的重用和改动     考虑到这些问题在开发大型的Web应用时必须采用不同的设计模式――这就是Model     Model     Model 表示的是基于MVC模式的框架 MVC是Model-View-Controller的简写 Model 代表的是应用的业务逻辑(通过JavaBean EJB组件实现) View 是应用的表示面(由JSP页面产生) Controller 是提供应用的处理过程控制(一般是一个Servlet) 通过这种设计模型把应用逻辑 处理过程和显示逻辑分成不同的组件实现 这些组件可以进行交互和重用 从而弥补了Model 的不足     Model 具有组件化的优点从而更易于实现对大规模系统的开发和管理 但是开发MVC系统比简单的JSP开发要复杂许多 它需要更多的时间学习和掌握 同时新东西的引入会带来新的问题(这让我想起来关于 自动计算 的一篇文章 中间提到为了降低系统的复杂度 却导致更高的复杂度)      必须基于MVC组件的方式重新思考和设计应用结构 原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程      所有的页面和组件必须在MVC框架中实现 所以必须进行附加地开发工作     MVC本身就是一个非常复杂的系统 所以采用MVC实现Web应用时 最好选一个现成的MVC框架 在此之下进行开发 从而取得事半功倍的效果 现在有很多可供使用的MVC框架 由于Struts有完整的文档并且相对来讲比较简单 所以用它开发MVC系统还是比较方便地      .Struts的结构和处理流程简介    Struts是Apache组织的一个项目 像其他的Apache组织的项目一样 它也是开放源码项目 Struts是一个比较好的MVC框架提供了对开发MVC系统的底层支持 它采用的主要技术是Servlet JSP和custom tag library 获取它的使用版本和具体信息可以查阅网站     Struts框架的基本构成由下图所示    >   >    作为一个MVC的框架 Struts对Model View和Controller都提供了对应的实现组件 对应上面的UML图 分别进行介绍 并且看看它们是如何结合在一起的      Controller 控制器的作用是从客户端接受请求 并且选择执行相应的业务逻辑 然后把响应结果送回到客户端 在Struts中Controller功能由图中ActionServlet和ActionMapping对象构成 核心是一个Servlet类型的对象ActionServlet 它用来接受客户端的请求 ActionServlet包括一组基于配置的ActionMapping对象 每个ActionMapping对象实现了一个请求到一个具体的Model部分中Action处理器对象之间的映射    Model MVC系统中的Model部分从概念上可以分为两类――系统的内部状态 和改变系统状态的动作 Struts为Model部分提供了Action和ActionForm对象 所有的Action处理器对象都是开发者从Struts的Action类派生的子类 Action处理器对象封装了具体的处理逻辑 调用业务逻辑模块 并且把响应提交到合适的View组件以产生响应 Struts提供的ActionForm组件对象 它可以通过定义属性描述客户端表单数据 开发者可以从它派生子类对象 利用它和Struts提供的自定义标记库结合可以实现对客户端的表单数据的良好封装和支持 Action处理器对象可以直接对它进行读写 而不再需要和request response对象进行数据交互 通过ActionForm组件对象实现了对View和Model之间交互的支持 Struts通常建议使用一组JavaBean表示系统的内部状态 根据系统的复杂度也可以使用像Entity EJB 和 Session EJB等组件来实现系统状态 Struts建议在实现时把 做什么 (Action)和 如何做 (业务逻辑)分离 这样可以实现业务逻辑的重用    View Struts应用中的View部分是通过JSP技术实现的 Struts提供了自定义的标记库可以使用 通过这些自定义标记可以非常好地和系统的Model部分交互 通过使用这些自定义标记创建的JSP表单 可以实现和Model部分中的ActionForm的映射 完成对用户数据的封装 同时这些自定义标记还提供了像模板定制等多种显示功能     Struts框架的处理流程清楚的体现了MVC系统的特点 简单的Struts组件结构如图 所示 Struts Controller ActionServlet处理客户请求 利用配置的ActionMapping对象把请求映射到Action处理器对象进行处理 Action处理对象访问ActionForm中的数据 处理和响应客户请求 它还调用后台的Bean组件 这些组件封装了具体的业务逻辑 Action处理器对象根据处理结果通知Controller Controller进行下一步的处理    >   >     .利用Struts框架开发MVC系统要做的工作    由于Struts已经为我们提供了一个非常好的MVC框架 我们利用Struts开发MVC系统时可以大大加快开发的速度 在开发时可以采用的一个开发流程如下(引自资料 )      收集和定义应用需求    基于数据采集和显示的原则定义和开发 屏幕显示 需求    为每一个 屏幕显示 定义访问路径    定义ActionMappings建立到应用业务逻辑之间的联系    开发满足 屏幕显示 需求的所有支持对象    基于每一个 屏幕显示 需求提供的数据属性来创建对应的ActionForm对象   开发被ActionMapping调用的Action对象    开发应用业务逻辑对象 (Bean EJB 等等)    对应ActionMapping设计的流程创建JSP页面    建立合适的配置文件struts config xml web xml    开发/测试/部署    具体在使用Struts框架时 对应各个部分的开发工作主要包括      Model部分 采用JavaBean和EJB组件 设计和实现系统的业务逻辑 根据不同的请求从Action派生具体Action处理对象 完成 做什么 的任务来调用由Bean构成的业务组件 创建由ActionForm 的派生类实现对客户端表单数据的封装    Controller部分 Struts为我们提供了核心控制部分的实现 我们只需要配置ActionMapping对象   View部分 为了使用Model中的ActionForm 对象 我们必须用Struts提供的自定义标记创建HTML 表单 利用Struts提供的自定义标记库编写用户界面把应用逻辑和显示逻辑分离 Struts框架通过这些自定义标记建立了View和Model之间的联系 Struts的自定义标记还提供了很多定制页面的功能    同时需要编辑两个配置文件 web xml和struts config xml 通过它们配置Struts系统中的各个模块之间的交互 下面对这两个配置文件做一些介绍     web xml文件的配置     web应用中的web xml是第一个要配置的地方 它描述了系统的Controller对象 在web xml中增加如下标记        action    apache struts action ActionServlet        ······       说明 这个servlet对象就是Struts提供的Controller 还可以为它指定初始化参数 比如对系统应用属性的支持         action   * do      说明 实现客户请求的url信息和服务器端具体处理的映射关系         /WEB INF/struts bean tld    /WEB INF/struts bean tld      ·······    说明 添加对Struts提供的应用所使用的自定义标记库的引用     struts config xml文件的配置     struts config xml是用于建立Controller和Model之间的关系的 它描述了Controller所使用的把请求对应到具体处理的法则 同时它还描述了客户提供的数据与ActionForm组件的对应映射关系     在struts config xml中增加如下标记               说明 标记描述一个具体的ActionForm子类对象 通过它和J cha138/Article/program/Java/ky/201311/28029

相关参考

知识大全 Struts开发指南之MVC架构实际应用

Struts开发指南之MVC架构实际应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  模型视图

知识大全 用struts+spring+hibernate组装web应用

  其实就算用Java建造一个不是很烦琐的web应用程序也不是件轻松的事情当为一个应用程序建造一个构架时有许多事情需要考虑从高层来说开发者需要考虑怎样建立用户接口(userinterfaces)?在哪

知识大全 Spring MVC与struts比较

SpringMVC与struts比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  下面的内容只

知识大全 对于Struts和Spring两种MVC框架的比较[2]

对于Struts和Spring两种MVC框架的比较[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 对于Struts和Spring两种MVC框架的比较[1]

对于Struts和Spring两种MVC框架的比较[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 关于MVC&Model2&Struts的一点看法

关于MVC&Model2&Struts的一点看法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 用 Spring MVC 轻松进行应用程序开发(图)

用SpringMVC轻松进行应用程序开发(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在

知识大全 用Struts框架开发Java应用

用Struts框架开发Java应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Struts开

知识大全 用StrutsTestCase测试Struts应用程序

用StrutsTestCase测试Struts应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 用ActionMapping构建漂亮的Struts应用程序

用ActionMapping构建漂亮的Struts应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一