仓酷云

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

[学习教程] JAVA教程之经由过程Struts使用MVC计划模子

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

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

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

x
IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,netbeans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。计划  模子--视图--把持器(Model-View-Controller,MVC)系统凸起了Servlets和JSP的长处,同时也令它们的弱点最小化。在完成中,用户哀求被发送到一个把持器servlet,该servlet决意哀求的性子,而且依据哀求的范例传送给合适的处置器。每一个处置器都和一个出格的模子相干,内里封装有贸易逻辑来实行一些出格的函数汇合。处置终了后,了局会发送回处置器,处置器选择合适的视图显现它。

  Struts最早于2002年5月作为Jakarta项目标构成部分问世,Jakata项目由ApacheFoundation.运做。项目标创建者但愿该项目标研讨改善和进步JavaServerPages(JSPs)、servlet、标签库和面向对象的手艺水准。Struts为利用MVC系统来编写使用供应了一个架构。Struts利用“ActionMapping”,它同意servlet将用户的哀求变化为使用举动。ActionMapping一般指定一个哀求的路径、在哀求长进举动作的对象范例,和指定别的必要的属性。

  Action对象作为ActionMapping的一个部分利用,卖力处置哀求,而且发送呼应回合适的视图(一般是一个Web扫瞄器),大概传送哀求至合适的模子。

  在模子和视图间的桥是一个formbean,它能够经由过程承继org.apache.struts.action.ActionForm失掉。formbean用来保留处置前的用户数据,大概显现前往给用户的模子数据。Struts包括有自界说的标签,它能够由创立的formbean中主动组合字段。

  在理论顶用户哀求JSP页面,把持器servlet吸收哀求并决意由哪一个使用处置它。Action对象传送该哀求到包括有吸收贸易逻辑的JavaBean中。贸易逻辑bean将毗连数据库并举行查询,吸收了局,然后前往了局给Action对象。Action对象将了局作为哀求的一部分寄存到一个formbean中。一旦搜集完哀求的全体数据,就能够格局化了局而且显现。最初是JavaServerPage以HTML表格的情势将了局显现出来。

  模子,把持器和视图

  Struts中的把持器的基础组件是ActionServlet类中界说的servlet,它是由ActionMappings界说的。ActionMapping类暗示的是Action对象的名字和地位。当一个哀求进进把持器时,它将哀求的路径映照到Action的地位,而且将哀求传送给Action。Struts的ActionMapping类还大概包括有别的的信息,这些信息大概只是与你的使用相干,比方当地变量,情况变量大概别的URIs。

  Struts的关头是把持器四周的举动。Struts把持器servlet映照事务到类(一个事务一般是一个HTTPPOST,GET,大概相似的哀求)。ActionServlet是MVC计划模子的司令部,也是Structs架构的中心。ActionServlet创立和利用Action,一个ActionForm和ActionForward。struts-config.xml是用来设置Action的。在创立Web使用时代,接纳扩大Action和ActionForm来办理怎样呼应用户哀求的成绩。struts-config.xml则是告知ActionServlet怎样利用扩大类。也可扩大ActionServlet以令Structs使用带有一些自界说的特征。

  这个办法有几个长处。起首,使用的全部逻辑流都是在一个分品级的文本文件中。如许就能够对照简单地检察、了解使用,出格是年夜的使用。第二,编写网页的人在修正网页时就无需遍历Java代码来了解使用的流程,而Java开辟者在改动流程的时分也无需从头编译代码。

  ActionForm为Web使用保护session形态。ActionForm是一个笼统类,它能够被每一个输出表格模子扩大。它代表数据的一样平常观点,能够被HTML表格设置大概更新。比方,你的使用大概具有一个被HTML表格设置的UserActionForm。Struts的架构将反省UserActionForm是不是存在,假如不存在,就会创立一个该类的实例。Structs将会利用HttpServletRequest的响应字段来设置UserActionForm的形态。在传送UserActionForm给贸易封装层的UserAction前,Struct架构先更新UserActionForm的形态。

  Structs模子包括有体系的形态和它能够承受的操纵。可使用林林总总的布局来暗示模子(比方别的servlets大概JSP),不外在年夜多半的时分你城市利用JavaBeans。JavaBean的属性,大概在EnterpriseJavaBeans(EJBs)中由内部数据源失掉的数据--暗示的是形态,而办法则是暗示能够在下面举行的操纵。操纵其实不必要被JavaBean办法界说;在复杂的情形下,操纵能够安排到Action对象中,固然如许会令处置和分级之间的区分变得含混。

  StrutsMVC使用的视图一般由JSP机关,它可使用HTML大概XML静态格局化页面,还供应了一个办法可静态拔出自界说的内容来呼应用户的哀求。Structs的一个关头是它的自界说标签库,它供应了一个办法,能够很简单地利用JSP来创立用户界面。

  Structs架构包括有自界说的标签库,能够经由过程各类分歧的体例利用。固然就利用该架构来讲,这些库并非必需的,不外它们包括的标签在你的使用的很多中央都很有效。Structs的一些标签库包含有:

  .structs-html标签库。该库能够用作创立静态HTML用户界面大概表格。

  .structs-bean标签库。关于将JavaBean代码放到JSP页面,该库供应了一个增强体例,经由过程标签完成。

  .struts-logic标签库。该库能够办理有前提地发生输入文本,遍历对象collections以反复地发生输入文本,另有使用流把持。

  .struts-template标签库。该库包括的标签可用作为页面创立静态的JSP模板,这些页面都具有一个大众的表面大概公同的格局。

  利用这些标签库和别的的任何库都是一样的。由于库已写好了,你所要做的就是告知servlet引擎要利用它。在Tomcat中,你能够经由过程web.xml文件中的<taglib>标签来指定标签库的URI,和Web服务器体系上标签库形貌文件的地位。

  TheSmallPrint

  Jakarta工程可以让你下载Structs的二进制版本,大概间接由源代码中编译它。二进制版事情得很好,不外假如你具有一个不罕见的软件平台,大概想进修一下怎样编译它,也不是很坚苦。不管你的选择怎样,Structs都必要以下几个软件:

  .JavaDevelopmentKit(JDK).你必要为你的操纵体系下载和安装一个Java2JDK完成。

  .Servlet容器。你还必要下载和安装一个兼容ServletAPI标准(2.2版以上)、JSP标准(1.1版以上)的servlet容器。一个好的选择是下载Apache的Tomcat,它能够撑持网页服务,而且能够运转servlet和JSP。

  .XML剖析器。Struts必要一个兼容JavaAPIforXMLParsing(JAXP)标准(1.1版或以上)的XML剖析器。

  .ServletAPI类。为了编译Structs大概利用Structs的使用,你将必要一个包括有servlet和JSPAPI类的servlet.jar文件。年夜部分的servlet容器都包括有这个JAR文件。

  .JDBC2.0optionalpackage类。Structs撑持javax.sql.DataSource的一个可选完成,因而它必要这些API类来编译。你能够在这个网址下载这些包类:http://java.sun.com/products/jdbc/download.html

  要利用Structs来创建一个使用,必要服从以下步骤。起首,将Structs中的lib/commons-*.jar和lib/struts.jar文件拷贝到使用中的WEB-INF/lib目次。然后将Structs中的全体标签库形貌文件(lib/struts-*.tld)拷贝到你的Web使用中的WEB-INF目次。

  拷贝完这些文件后,你就能够修正Web使用中的web.xml文件,令它包括有一个<servlet>元从来界说把持器servlet,另有一个<servlet-mapping>元素以指明哪一个哀求的URI被映照到这个servlet。假如你利用默许的目次来举行一个尺度的安装,你可使用Struts例子使用中的web.xml文件来作为一个参考,看它是怎样设置的,然后你就能够修正Web使用中的web.xml文件来指定得当的标签库声明。再次声名,你能够由Structs的例子使用中进修怎样设置。

  修正完web.xml文件后,在WEB-INF目次创立一个称为struts-config.xml的文件,在个中界说操纵映照和别的与你的使用相干的特征。最初,在每一个将利用Struts自界说标签的JSP页面的顶部,到场Struts自界说标签的声明。

  Struts这个名字来历于在修建和新式飞机中利用的撑持金属架。它的目标是为了匡助你削减在使用MVC计划模子来开辟Web使用的工夫。你仍旧必要进修和使用该架构,不外它将能够完成个中一些沉重的事情。假如想夹杂利用servlets和JSP的长处来创建可扩大的使用,Struct能够匡助你完成个中的一些事情。
没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之!
变相怪杰 该用户已被删除
沙发
发表于 2015-1-20 15:40:10 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
只想知道 该用户已被删除
板凳
发表于 2015-1-25 21:49:49 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
若相依 该用户已被删除
地板
发表于 2015-1-27 05:48:03 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
第二个灵魂 该用户已被删除
5#
发表于 2015-2-4 23:01:17 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-6 15:11:35 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
蒙在股里 该用户已被删除
7#
发表于 2015-2-7 02:30:52 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
灵魂腐蚀 该用户已被删除
8#
发表于 2015-2-11 13:13:14 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
柔情似水 该用户已被删除
9#
发表于 2015-2-13 11:47:00 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
金色的骷髅 该用户已被删除
10#
发表于 2015-3-3 20:31:09 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
活着的死人 该用户已被删除
11#
发表于 2015-3-11 13:09:25 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
山那边是海 该用户已被删除
12#
发表于 2015-3-18 12:15:48 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 23:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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