专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java框架自学视频教程下载:应用开发框架

Java框架自学视频教程下载:应用开发框架

更新时间:2020-03-16 09:42:51 来源:动力节点 浏览1657次


  一、概述


  Web应用架构可以划分为两大子系统:前端子系统和后台子系统。


  前端子系统:


  1.基础技术:Html/Javascript/CSS/Flash


  2.开发框架:jQuery,Extjs,Flex等;


  后台子系统:


  1.基础技术:JavaServlet;


  2.开发框架:Struts,Spring,Hibernate,ibatis等;


  3.应用服务器:Tomcat/Jetty


  编程模型:B/S模型。客户端向服务器端发送请求,服务器经过处理后返回响应,然后客户端根据响应及需求绘制前端展现。


  在用户客户端和实际提供功能的Web服务器之间还可能存在着代理服务器,负载均衡服务器,不过那些属于锦上添花的事物,暂时不在考虑范围内。


  客户端应用理念:客户端承担大量的交互逻辑及渲染工作,服务器端主要是处理请求和返回数据。


  前后端系统耦合:客户端和服务器端各自处理自己内部的子系统耦合;而客户端与服务器端的耦合简化为一个通信与数据通道。该通道用来传输通信请求和返回数据。


  请求通信:采用Http/Tcp协议


  数据通道:采用Json,xml,文本字符串,字节。内部系统一般采用Json作为数据交换格式;系统间的互操作则采用XML来规范;文本字符串是最一般的形式,字节是最底层的形式。


Java框架自学视频教程下载:应用开发框架


  二、架构演变


  最轻的架构:jQuery+Servlet+ajax在客户端使用jQuery发送ajax请求给Java服务端的Servlet进行处理,Servlet仅仅返回数据给客户端进行渲染。


  该架构有效地分离了前端展示和后台请求处理,同时又保持了最轻的复杂性,只需要学会编写Servlet及使用jQuery,就能构建简单的应用。


  如果只是做个人创意演示,可以采用该架构,快速实现自己的创意功能。Servlet是Javaweb应用的基础技术,jQuery则是前端开发的简单易用的利器。


  后台架构演变:


  1.逻辑与页面的分离:JSP/Servlet


  JSP实现了页面逻辑与外观的分离,但是,前端子系统与后台子系统仍然是紧密耦合的;前端设计人员实际上只需要服务端返回的数据,就可设计出非常专业的界面显示。


  2.MVC架构:Struts2(含Servlet,MVC)+JDBC


  用Servlet来添加服务器功能是基本的选择,但在web.xml中配置大量的Servlet却不是最佳的选择。


  Struts2在服务端实现了更丰富的MVC模式,将本来由应用决定的控制器从web容器中分离。


  3.SSH架构:Struts2(含Servlet,MVC)+Spring(Ioc)+Hibernate(ORM,对象-关系映射)


  通常,应用系统中需要预先创建一些单例对象,比如Controller,Service,Dao,线程池等,可以引入SpringIoc来有效地创建、管理和推送这些对象;使用Hibernate来实现关系数据库的行与面向对象的属性之间的映射与联接,以更好地简化和管理应用系统的数据库操作。SSH可以说是JavaWeb应用系统开发的三剑客。


  4.SI架构:SpringMVC(含Servlet,Ioc,MVC,Rest)+iBatis(Semi-ORM)


  过于复杂的架构会将人搞晕。因此,在适应需求的情况下,尽量选择简单的架构,是明智之选。这种架构使用面向资源的理念,着重使用Spring作为MVC及应用基础服务设施,同时使用iBatis来实现更简单灵活的ORM映射,使之在可以理解和维护的范围内。


  前端架构:


  1.Flash架构:Flex+jQuery+JSP


  这是一种比较传统的前端架构,采用同步模式,Flex承担大量的页面渲染工作,并采用AMF协议与Java端进行通信,而JSP则可以用于更快速的页面显示。优点是:经过考验的结构,通常是值得信赖的;缺点是,由于采用同步模式,在交互效果上可能不够流畅,需要进行比较耗时的编译过程;此外,Flex基于浏览器插件运行,在调试方面有些麻烦。


  2.MVC架构:Extjs+jQuery


  这是一种比较现代的前端架构,采用异步模式,Extjs4可以实现前端子系统的MVC分离,对于可维护性是非常不错的支持;此外,jQuery可以作为有效的补充。


  优点:异步,快速,对于企业内部的后台管理系统是非常好的选择。


  缺点:Extjs4的可定制性、可适应性可能难以适应各种特殊的需求,需要用其它组件来补充,比如大数据量的绘制。对于互联网应用,速度可能是致命伤。


  三、架构的选择


  不要去询问哪种架构更好,更需要做的是清晰地定位项目目标,根据自己的具体情况来选择和定制架构。反复地尝试、观察和改进,反复磨炼技艺,这样才有助于设计水平的提升。


  架构的选择通常有四种关注点:


  1.适用性:是否适合你的项目需求。架构有大有小,小项目用小架构,大项目用大架构。


  2.可扩展性:该架构在需要添加新功能时,是否能够以常量的成本添加到现有系统中,所做的改动在多大程度上会影响现有功能的实现(基本不影响,还是要大面积波及)。


  3.便利性:使用该架构是否易于开发功能和扩展功能,学习、开发和测试成本有多大。


  4.复杂性:使用该架构后,维护起来的成本有多大。你自然希望能够写一条语句做很多事,使用各种成熟的组件是正确的方式,同时,在项目中混杂各种组件,也会提升理解和维护系统的复杂度。便利性和复杂性需要达到较好的平衡。


  特殊的关注点:


  譬如,应用需要支持高并发的情况,需要建立一个底层的并发基础设施,并向上层提供简单易用的接口,屏蔽其复杂性。


  四、架构演进的基本手段


  架构并不是一成不变的,在做出最初的架构之后,随着开发的具体情况和需求的变更,需要对最初架构做出变更和改进。


  架构演进的基本手段:


  一致性,隔离与统一管理,螺旋式重构改进,消除重复,借鉴现有方案。


  1.一致性:确保使用统一模式来处理相同或相似的功能;解决一次,使用多次。


  2.模块化、隔离与统一管理:对于整体的应用,分而治之,将其划分为隔离性良好的模块,提供必要的通信耦合;对于特定的功能模块,采用隔离手段,将其隔离在局部统一管理,避免分散在系统的各处。


  3.不断重构改进,一旦发现更好的方式,马上替换掉原有方式。


  4.尽可能重用,消除重复。


  5.尽可能先借鉴系统中已有方案并复用之;如果有更好方案可替换之;


  有一条设计准则是:预先设计,但不要过早设计。


  意思是说,需要对需求清楚的部分进行仔细的设计,但是对于未知不清楚的需求,要坚持去理解它,但不要过早地去做出“预测性设计”;设计必须是明确的、清晰的、有效的,不能针对含糊的东西来设计。可以在后期通过架构演进来获得对后续需求的适应能力。


Java框架自学视频教程下载:应用开发框架


    以上就是动力节点Java培训机构小编介绍的“Java框架自学视频教程下载:应用开发框架”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>