struts基础教程

上传人:第*** 文档编号:54413862 上传时间:2018-09-12 格式:PPT 页数:39 大小:279KB
返回 下载 相关 举报
struts基础教程_第1页
第1页 / 共39页
struts基础教程_第2页
第2页 / 共39页
struts基础教程_第3页
第3页 / 共39页
struts基础教程_第4页
第4页 / 共39页
struts基础教程_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《struts基础教程》由会员分享,可在线阅读,更多相关《struts基础教程(39页珍藏版)》请在金锄头文库上搜索。

1、,J2EE,J2EE:电子商务标准,它的出现就是为了解决“企业应用”方面的问题,作为一个官方的标准,J2EE将工作划分为不同层次,包括基本的三层架构:表示层(客户端和服务端)、服务器端业务逻辑层、数据层。J2EE的应用部署在J2EE服务器中,J2EE服务器支持Web组件以及三层架构,并使用标准的J2EE API来处理不同的事务。,J2EE API,Servlet接口(Java Servlet API):处理Web请求,并将内容返回给客户端。一般它出现在服务器端表示层。 JSP接口(Java Server Page):主要为了处理显示的内容。优秀的JSP接口易于维护,不负责业务逻辑方面的内容。而

2、劣质的JSP接口则将所有业务逻辑都载入,对后期的修改和维护带来诸多的不便。,J2EE API,EJB接口(Enterprise JavaBeans)。允许创建由服务器管理的分布式对象,表示业务逻辑的EJB接口被划分为3类: 实体bean(entity bean):定义应用的数据结构 会话bean(session bean):负责与实体bean的结合,以及其他业务逻辑。 消息驱动bean(message driven bean):与会话bean类似,不同之处在于它是由各种消息触发。,J2EE API,JNDI(Java命名与目录接口):为访问目录服务提供支持,用于在J2EE应用上下文中标识资源,

3、为EJB和数据库连接提供定位。 Java邮件接口(JavaMail API):支持SMTPIMAPPOP等邮件服务协议的API,也支持来自第三方的各种可用协议。 Java事务接口(java Transaction API):简称JTA,允许应用管理自己的事务。支持不同层次和不同服务器上的多个组件,共同参与到同一个分布式的事务中来。,J2EE API,Java 消息服务接口(Java Messge Service API):简称JMS,允许J2EE应用消息中间件(MOM)套装软件,允许在应用间传输消息。 Java数据库连接(JDBC API):常见的数据访问API,是Java程序与数据库系统通信

4、的标准API。JDBC为任何兼容的数据库提供了一个通用接口。 远程方法调用(RMI):通过网络,用于分布式、面向对象计算的标准工具。RMI允许代码可以被另一个远程的Java虚拟机进行调用,而不必与网络通信协议打交道。,MVC(model-view-controller)模式,MVC架构模式在1980年由Smalltalk-80的图形用户界面库的开发者提出,是一个存在于服务器端表示层的模型,它将应用分开,改变应用之间的高度耦合。MVC模型将应用分为模型(Model)、视图(View)和控制器(Control)三层. 从此它在面向对象的用户界面和应用程序控制工具包中得到了广泛地应用。 J2EE中的

5、MVC模型常常使用JavaBean作为模型层的应用,使用Servlet作为控制器层的应用,使用JSP来进行视图层的应用。,Model-View-Control Architecture,MVC(model-view-controller)模式,MODEL: 封装了所有的商业逻辑以及规则。通常被JavaBean或EJB实现。 VIEW: 使用商业逻辑处理后的结果并构建呈现给客户端的响应。通常由JSP实现。 CONTROLLER:管理和控制所有用户和应用程序间的交互。通常是一个servlet接收用户的请求并把所有的输入转交给实际工作的MODEL。最后调用JSP返回输出。,MVC模式,MVC中的三个

6、核心模块:模型、视图、控制器,他们分别担负不同的任务,控制器 (Controller),模型 (Model),视图 (Viewer),用户事件,选择视图,模型查询,更改通知,模型更改,MVC模式,(控制器-Controller)接受用户请求调用模型响应用户请求选择试图显示响应结果 (视图- Viewer)显示模块状态接受数据更新请求把用户输入数据传送给控制器,MVC模式,(模型- Model)代表应用程序状态 响应状态查询处理业务流程通知视图业务状态,Model1和Model2,在服务器端表示层的架构中,早期曾经列举了两种架构,分别为Model1和model2.,Model 1 Archite

7、cture (Page-centric),Request,1,JSP pages,Java Bean,Response,4,2,3,BROWSER,Servlet Container,Enterprise Information Systems (EIS),Model1,Model1的模式比较简单,适用于快速开发小规模项目。整个Web应用基本全部由JSP页面组成,使用JSP直接处理Web浏览器的请求,对请求直接做出响应,使用JavaBean处理业务逻辑。虽然编写代码十分容易。但JSP混淆了MVC模型中的视图层和控制层,高度耦合的结果是JSP代码十分复杂,组件很难复用,后期维护困难。,Model

8、 2 Architecture (Servlet-centric),Request,1,(Controller) Servlet,(View) JSP,Response,5,3,4,BROWSER,Servlet Container,(EIS),Redirect,2,(Model) Java Bean,Instantiate,MVC Design Pattern,Model2,Model2的架构,将Servlet的概念引入架构体系中,使用它来分配视图层JSP的显示页面,同时调用模型层的JavaBean来控制业务逻辑。这是一个良好的MVC模式。使用JavaBean、JSP、Servlet三者协同

9、工作,就是对Model2架构的一种诠释。,JSP Model2体系结构,是一种联合使用JSP与Servlet来提供动态内容服务的方法。 控制器(Controller) -Servlet 视图(Viewer) - JSP 模型(Model) - JavaBean,Model2,虽然可以使用Model2来分离各层的应用,但是因为页面转换十分复杂,必然导致Servlet代码增大。这时使用多个Servlet来分离不同的转换,可以解决一定的问题,但是同时配置多个Servlet显然不是个好办法。在这样的情况下,服务器端得各种框架就应运而生了。,Jakarta Apache,开源软件 (Open Sourc

10、e Sofeware)是指被公众使用,并且开发源代码的软件,此类软件的使用、修改和发行不受许可证得限制。它完全免费,并且允许第三方扩展和发布。比较有名的组织有SourceF(http:/)和Apache基金会(http:/www.apache.org) Struts框架就是Apache软件基金会下的一个开源子项目。,STRUTS框架,Struts的含义是”支柱,支干”,来源于在建筑和旧式飞机中使用的金属支架。它的目的是为了减少程序开发的时间。项目的创立者认为JSP、Servlet的存在虽然可以帮助用户解决大部分的问题,但是由于它们的编码对项目的开发带来了很多不表,可重用性也差,提出Struts

11、这个框架,帮助用户在最短的时间内解决这些问题。,STRUTS框架,Struts框架提供如下服务: 作为控制器层的Servlet。 提供了大量的标签库。 提供了用于国际化的框架,利用不同的配置文件,可以帮助用户选择适合自己的语言。 XML语法分析。,STRUTS框架,一开始的时候,Struts仅作为开发包发表,经过不断的扩充,发展成一个内容相当完整的框架(Framework)了。 Struts框架从出现发展到现在已经成为了服务器端表示层的经典的MVC框架,它以清晰的架构,简单的使用,完备的文档成为了表示层解决方案的首选。,STRUTS框架,它将逻辑层从表现层以及控制层中清晰地分隔出来,实现组件重

12、用; 它允许使用三层结构,逻辑层和表现层分置于不同的服务器上,可应用不同的安全模式; 它使一个开发团队更加的明确分工,页面设计与商业逻辑开发无缝地结合; 控制器提高了应用程序的灵活性和可配置性.,STRUTS框架,在JSP Model2的基础上实现的一个MVC框架。 控制器(Controller)-ActionServlet、Action 视图(Viewer)-JSP 模型 (Model)-JavaBean、SessionBean,STRUTS框架,WEB 服务器,(模型) JavaBean EJB,Struts-config.xml,(控制器) ActionServlet,(视图) JSP,

13、Action,Action,Action,浏 览 器,STRUTS框架,Struts组件在MVC中所处的位置: Struts标签库:处于视图层,用来辅助JSP展现页面,类似JSP的JSTL标签库。 ActionForm对象:视图层和控制器层之间的接口,可以看成是一个值对象(VO)提供get()、set()方法,在Strust中这个对象还提供了校验数据的方法。 ActionServlet控制器组件:在控制层中控制页面流转,并调用模型层,基础自HttpServlet。 Action对象:在控制层和模型层进行交互时,该对象被ActionServlet组件调用。可以在Action中调用业务逻辑,并将页

14、面回复给ActionServlet组件。它是控制层和模型层之间的桥梁。,STRUTS框架,Struts通过配置文件将上面这些组件和对象关联起来一起工作。在Web.xml中应该将Struts提供的ActionServlet配置成一个Servlet,接着指定Struts自身的配置文件struts-config.xml这个文件在Servlet中被解析调用。 Struts-config.xml对应Strust,就好比人类的骨架对于整个身体的支撑。 XML通常被称为部署描述符。Struts就是靠XML的配置来完成各层之间的流转。,STRUTS的工作流程,Jsp页面,出错 页面,Action Form,A

15、ction Servlet,Action,外观层,业务 规则层,数据 持久层,STRUTS的工作流程,接收到请求后,检索和用户请求匹配的ActionMapping实例,如果请求不存在,返回用户请求路径无效的信息. 如果ActionForm不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm. 根据配置信息决定是否需要表单验证.如果需要验证,调用ActionForm的validate()方法.,STRUTS的工作流程,如果validate()方法返回null或返回一个不包含AcionMessage的ActionErrors对象,就是验证成功.(不成功Acti

16、onServlet直接将请求转发给input指向的页面,不再创建Action对象并调用execute(). ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action.如果相应的Action实例不存在,就先创建实例,然后调用Action的execute()方法.,STRUTS的工作流程,execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP. ActionForward对象指向的JSP生成动态网页,返回给用户.,STRUTS的配置文件,控制器组件 - ActionServlet,在Web.xml中配置描述actionorg.apache.struts.action.ActionServletconfig/WEB-INF/struts-config.xmldebug22action*.do,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号