仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 489|回复: 11
打印 上一主题 下一主题

[学习教程] JAVA网站制作之古代Java Web开辟架构剖析

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:10:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。web|架构  当支流盘算机使用软件入手下手迁徙到客户/服务器系统布局时,程序员们入手下手寻觅办法以简化利用相似手艺而且在布局也相似的工程的开辟。这就为古代软件开辟框架打好了基本。

  跟着基于万维网的使用程序服务器的开展及其相干的使用软件的收缩,撑持这些手艺的开辟框架也跟着兴旺开展。以后,在企业开辟范畴中呈现了很多出格合适于JavaJ2EE平台的软件开辟框架。

  在本文中,我将会合会商古代的Java开辟框架,剖析它们的特性和各自的利用长处。别的,我还想对照今朝盛行的临盆质量框架,比方Struts,Spring和Hibernate,并具体会商其基础类似性及有关基础观点。

  我将冗长剖析被用于撑持这些框架的企业开辟情况或工具箱,比方BorlandJBuilder,Eclipse和BEAWorkbench。请记着,市场上有很多有关这些开辟框架的图书;但是,在任何一篇文章中,要对它们举行深切形貌是不成能的。不外,我将全力会商最普遍地利用的观点。

  1.配合点

  几近一切古代的收集开辟框架都遵守了模子-视图-把持(MVC)计划形式--贸易逻辑和形貌被分隔,由一个逻辑流把持器来和谐来自客户真个哀求和服务器大将接纳的举动。这条路子成了收集开辟的现实上的尺度。每一个框架的内涵的机制固然是分歧的,可是开辟者们利用来计划和完成他们的Web使用软件的API是很相似的。不同还存在于每一个框架供应的扩大方面,比方标签库,JavaServerFaces或JavaBean包装器等。

  一切的框架利用分歧的手艺来和谐在Web使用程序以内的导航,比方XML配制文件,java属性文件或定制属性。一切的框架在把持器模块完成的办法方面也存在分明的分歧。比方,EJB大概实例化在每一个哀求中必要的类或利用Java反射静态地挪用一个得当的举动(Action)类。别的,分歧框架在各自引进的观点上也有所分歧。比方,一个框架大概界说用户哀求和反响(和毛病)场合,而别的一个框架大概仅仅界说一个完全的流--从一个哀求到多个响答和随后的再哀求……

  各类Java框架在它们构造数据流的办法方面是很相似的。在哀求收回后,在使用程序服务器上发生一些举动;而作为呼应,一些大概包括对象集的数据老是被发送到JSP层。然后,从那些对象--多是有setter和getter办法的复杂类,javabeans,值对象,大概一些汇合对象--中提取数据。古代的Java框架还千方百计简化开辟者的开辟义务,如经由过程利用浅易的API,数据库毗连池,乃至数据库挪用包等供应主动化的追踪体例来完成。一些框架大概可以钩进(hookedinto)别的的J2EE手艺中,比方JMS(Java动静服务)或JMX,或把这些手艺集成到一同。服务器数据延续性和日记也有大概成为框架的一部分。

  2.企业开辟情况

  一些框架在Web开辟者社区和企业开展范畴变得相称盛行。跟着这些框架的日渐成熟并入手下手刊行不乱的版本,贸易的IDE(集成开展情况)入手下手为这些框架供应撑持并把他们归入到本人的产物中。一些IDE乃至基于框架的观点开辟出全部的产物,比方,BEAWebLogicWorkshop就是基于Struts框架创建起来的。

  BorlandJbuilder为Struts供应了内建的撑持,也撑持JSF和JSTL。


  Eclipse平台已成为一个很盛行的开辟工具,部分由于它是基于插件的,部分由于它关于Web框架的撑持。如今,呈现了浩瀚的Eclipse插件,乃至完全的基于Eclipse的IDE。很多插件被计划合适于Struts框架开辟,比方MyEclipse(www.myeclipse.org)或M7(www.m7.com)。


  年夜多半IDE都具有图形化的流程和可视化对象(类代办署理)。比方,上面是一个JBuilder的举动(Action)计划器,用于计划Web使用程序的页面按次。

  WebLogicWorkshop引进Java页面流程手艺,它扩大了Struts框架而供应了一个简化的开辟模子并增添了别的一些特征。Workshop利用页面流(PageFlows),完成容易地把用户接口与导航和贸易逻辑分别开来。页面流由JSP页构成,这些页面包括用户接口元素和一个把持器文件(JPF)--它包括由用户供应的数据将如何被处置的指令和下一步甚么页面将被前往到用户的信息。页面活动供应给开辟者一个可视化的Web使用程序整体表面,它闪开发者可以看到直不雅地剖析分歧的JSP页相互相干联,并完成Web使用程序全体布局的疾速创建。


  MyEclipse供应相似的特性,并带有更多吸惹人的价值标签。


  3.ApacheStruts框架

  Struts框架是一开源产物,基于模子-视图-把持器(MVC)计划典范来开辟Web使用软件。它利用而且扩大了JavaServletAPI,最后由CraigMcClanahan创立。在2000年5月,它被捐赠到ApacheFoundation。Struts框架展现了一个强无力的定制标签库,平展显现,表单查验和I18N(国际化)。别的,Struts撑持很多形貌层,包含JSP,XML/XSLT,JavaServerFaces(JSF)和Velocity;还撑持一些模子层,包含JavaBeans和EJB。

  4.Spring框架

  Spring框架是一个分层的Java/J2EE使用程序框架,基于ExpertOne-on-OneJ2EE计划和刊行的代码。Spring框架供应一种复杂的开辟手艺,用于主动化处置工程中大批的属性文件和助理类。

  Spring框架包含的次要特征有:

  ・强无力的基于JavaBeans的设置办理,利用Inversion-of-Control(IoC)准绳。

  ・一个中心bean工场,可用在任何情况,从applets到J2EE容器程序。

  ・通用的笼统层合适于数据库事件办理,同意可拔出的事件办理器,而且不必要处置低条理的成绩便可简单地分别各事件的界线。

  ・一个很成心义的非常处置的JDBC笼统层。

  ・与Hibernate集成到一同,DAO完成撑持和事件战略。

  5.Hibernate框架

  Hibernate是一合适于Java言语的对象-干系映照(ORM)办理计划。它也是开源软件,相似Struts,而且在LGPL回护下公布。Hibernate被一群来自天下各地的Java软件开辟者所配合开辟。它供应一个易用的框架来完成把一个面向对象的域模子映照到一传统的干系数据库。它不但卖力从Java类到数据库表格(和来自Java数据范例的SQL数据范例)的映照,并且还供应数据查询和检索才能,并能年夜年夜削减花在SQL和JDBC手工数据处置上的开辟工夫。

  Hibernate的方针是加重开辟者的与大批一般的数据延续性相接洽的编程义务。Hibernate还可以顺应开辟历程,不管它是刚入手下手计划仍是来自一现成的数据库。Hibernate能够主动天生SQL,使开辟者挣脱了手工处置了局集和举行对象转化的烦琐义务,并能使使用程序移植到一切的SQL数据库。它还能供应通明的延续性,对延续性类的独一的请求的是完成一个无参数的机关器。

  这个框架典范地利用在JavaSwing使用软件、基于Servlet的Java使用软件和利用EJBsessionbeans的J2EE使用软件中。

  6.结论

  本文概述了古代最盛行的JavaWeb开辟框架。固然,另有更多框架还没有形貌,开源和贸易化的都有,比方WebWork(http://www.opensymphony.com/webwork/)或Tapestry(http://jakarta.apache.org/tapestry/);而很多框架经由过程扩大别的的MVC框架在外部被乐成开辟。以后,最盛行的框架是ApacheStruts。当Web开辟竞技场持续演化它的工具和编程办法时,Java使用程序框架也将持续发展下往。JavaWeb开辟框架的将来一片亮堂!
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,
乐观 该用户已被删除
沙发
发表于 2015-1-20 15:47:10 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-23 23:18:22 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-1-31 20:41:43 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
小妖女 该用户已被删除
5#
发表于 2015-2-1 11:55:55 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
活着的死人 该用户已被删除
6#
发表于 2015-2-6 16:15:38 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
飘飘悠悠 该用户已被删除
7#
发表于 2015-2-10 12:40:16 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
再现理想 该用户已被删除
8#
发表于 2015-2-14 04:03:55 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
透明 该用户已被删除
9#
发表于 2015-3-4 04:29:01 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
分手快乐 该用户已被删除
10#
发表于 2015-3-11 16:38:41 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
金色的骷髅 该用户已被删除
11#
发表于 2015-3-19 01:34:44 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
愤怒的大鸟 该用户已被删除
12#
发表于 2015-3-26 21:46:38 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 12:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表