1 / 17

第九章 Servlet 技术 ( 续 )

西南科技大学网络教育系列课程 动态网页设计( JSP ). 第九章 Servlet 技术 ( 续 ). Jsp 与 Servlet 的角色划分. Jsp: 页面显示. Servlet: 逻辑处理. JSP 设计模式. JSP 设计模式包括两个: ( 1 ) Model1 , JSP+JavaBean 设计模式 ( 2 ) Model2 , MVC 设计模式. 模式一 JSP+JavaBean 模式. 在这种模式中, JSP 页面独自响应请求并将处理结果返回客户,所有的数据库操作通过 JavaBean 来实现。

Download Presentation

第九章 Servlet 技术 ( 续 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 西南科技大学网络教育系列课程 动态网页设计(JSP) 第九章 Servlet技术(续)

  2. Jsp与Servlet的角色划分 • Jsp: • 页面显示 • Servlet: • 逻辑处理

  3. JSP设计模式 • JSP设计模式包括两个: • (1)Model1,JSP+JavaBean设计模式 • (2)Model2,MVC设计模式

  4. 模式一JSP+JavaBean模式 • 在这种模式中,JSP页面独自响应请求并将处理结果返回客户,所有的数据库操作通过JavaBean来实现。 • 大量地使用这种模式,常会导致在JSP页面中嵌入大量的Java代码,当需要处理的商业逻辑非常复杂时,这种情况就会变得很糟糕。大量的Java代码使得JSP页面变得非常臃肿。前端的页面设计人员稍有不慎,就有可能破坏关系到商业逻辑的代码。 • 这种情况在大型项目中经常出现,造成了代码开发和维护的困难,同时会导致项目管理的困难。因此这种模式只适用于中小规模的项目。

  5. 模式二MVC模式 • “MVC”模式即是:“Model-View-Controller”模式。在这种模式中,通过JSP技术来表现页面,通过Servlet技术来完成大量的事务处理工作,实现用户的商业逻辑。 • 在这种模式中,Servlet用来处理请求的事务,充当了控制器(Controller即“C”)的角色,Servlet负责响应客户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。JSP页面处于表现层,也就是视图(View即“V”)的角色。JavaBean则负责数据的处理,也就是模型(Model即“M”)的角色

  6. 模式二MVC模式 • MVC处理过程: • 首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理 • 然后模型用业务逻辑来处理用户的请求并返回数据, • 最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

  7. 模式二MVC模式 • 为什么使用MVC: • 数据层代码和表示层代码混在一起 • MVC从根本上强制性的将其分开 • 多个视图能共享一个模型 • 模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用 • MVC的应用程序的三个部件相互对立 • 可以使用控制器来联接不同的模型和视图去完成用户的需求

  8. 模式二MVC模式

  9. MVC在JSP中的实现模型 • 目前有两种实现模型: • (1)基于Bean的MVC模型。 • (2)基于Structs的MVC模型。

  10. 基于Bean的MVC模型 • Bean可以利用JavaBean实现,也可以利用EJB来实现,分别构成的系统是: • JavaBean(M)+JSP(V)+Servlet • EJB(M)+JSP(V)+Servlet(C)实现。

  11. Struts概述 • Client browser(客户浏览器) 来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP 响应作出响应。 • Controller(控制器) 控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而言,控制器是以 servlet 实现的一个命令设计模式。 struts-config.xml 文件配置控制器。 • 业务逻辑 业务逻辑更新模型的状态,并帮助控制应用程序的流程。就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。 • Model(模型)的状态 模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm bean 在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。 • View(视图) 视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息 -- 只有标记。标记是使 Struts 有别于其他框架(如 Velocity)的因素之一。

  12. Struts实现MVC框架 Servlet/JSP容器 Struts-config.xml (模型) JavaBean EJB Action (控制器) ActionServlet Web 服务器 Action Bro (视图) JSP Action

  13. 用Jbuilder建立简单Struts实例 • 1.新建项目 • 2.新建Web应用 • 3.建立ActionForm • 4.新建Action • 5.新建并配置forward • 6.编程

  14. 用Jbuilder建立简单Struts实例 • 配置资源文件 • 修改ActionForm里的validate()方法 • 修改Action里的perform()方法 • 建立index.jsp和loginok.jsp文件

  15. 自定义JSP标记库 • 在JSP规范1.1版中增加了自定义标记库,允许开发人员在自定义的标记符中封装复杂的功能。定制标记使得JSP项目中很容易创建重用的代码模块

  16. 使用自定义标记库 • 在使用自定义标记库时,主要分为以下3个步骤: • (1)建立一个TLD(Tag Library Descriptor)文件,指定标记库中哪一个标记与哪一个处理程序相匹配。这是一种很简单的XML文件,TLD文件描述和说明了属性、信息和标记处理器文件位置等信息。JSP 容器使用这一文件来映射被调用标记库的位置和用法。 • (2)建立一个对标记的处理程序。处理程序本身也是一个Java类。这是标记库的真正核心。JSP页面把页面上设置的标记属性都传递给标记处理器,JSP页面上的标记标示的内容也是这样处理的。当标记处理器完成其处理过程,它就会把处理后的输出结果回送给JSP页面做进一步处理。 • (3)在JSP页面中使用标记。在JSP页面中首先声明标记库,然后再使用它。

  17. 创建并使用标记库 案例名称:TLD配置文件 程序名称:mytld.tld 案例名称:处理自定义标记的Java类 程序名称:MyTagLib.java 案例名称:使用自定义标记库的JSP页面 程序名称:exampletag.jsp

More Related