Struts开发技术.

Slides:



Advertisements
Similar presentations
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
Advertisements

7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
NAT与ICMP交互.
HE Fixed Assets Manage System
Struts核心组件及 运行机制.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
Java Web设计实用教程 主 编:孔 昊 副主编:卢 霞 机械工业出版社.
基于SSH的web开发 AND 企业级WEB应用开发新技术
初级会计电算化 (用友T3) 制作人:张爱红.
MVC Servlet与MVC设计模式.
J2EE Struts 和Spring 的区别.
Oracle数据库 Oracle 子程序.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
程序的形式验证 - 简介 中国科学院软件研究所 张文辉 1.
Hadoop I/O By ShiChaojie.
Arena System Technology Architecture 系统技术架构 1、Database V2(Lotus Notes)V3(Oracle8i) 2、Application Server SilverStream2.53 (Java as server side programming.
SVN的基本概念 柳峰
第六章 窗口系统和用户界面管理系统 山东大学计算机学院.
R in Enterprise Environment 企业环境中的R
6.4 Notification 通知栏.
走进编程 程序的顺序结构(二).
网络常用常用命令 课件制作人:谢希仁.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
第一讲: 基本流程(1).
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
DevDays ’99 The aim of this mission is knowledge..
任务1-3 使用Dreamweaver创建ASP网页
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
三:基于Eclipse的集成开发环境搭建与使用
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
编程作业3:网页正文抽取 (10分).
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
基于struts和hibernate的网上新 闻发布系统
现代教育技术应用 第六章 素材的加工与处理 第19讲 动画的类型和采集 单 位: 北京师范大学 作 者: 毛荷&王翠霞.
VisComposer 2019/4/17.
Java Server Faces 参考书籍 Java Server Faces 核心编程.
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
Chapter 18 使用GRASP的对象设计示例.
Visual Basic程序设计 第13章 访问数据库
Delphi 7.0开发示例.
OpenStack vs CloudStack
Python 环境搭建 基于Anaconda和VSCode.
实施前的工作 CJEA : Holen
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
RefWorks使用指南 归档、管理个人参考文献.
第21章 Spring 的MVC框架 Spring不但一个很好的集成框剪,它还提供了构建Web应用程序的全功能MVC模块。Spring 的MVC框架非常强大并不逊色于其他专业的Web框架,如Struts、WebWork。但在国内Spring MVC应用的并不是特别多,原因可能是Struts太深入人心的缘故吧。
第十三章 Struts应用详解 在本章的内容中,将主要介绍Struts的基本知识, 对Struts处理用户请求过程的各个环节进行了详 细的介绍,并且还介绍在Struts中使用Validator、 Tiles等其他框架的基本方法,通过本章内容的学 习,读者可以掌握Struts的基本知识,具备.
多个Activity的使用 本讲大纲: 1、使用Bundle在Activity之间交换数据 2、调用另一个Activity并返回结果
Presentation transcript:

Struts开发技术

本课程简介 课程内容 MVC与Struts框架简介 开发视图 扩展控制器 开发模型 配置Stuts应用

MVC与Struts框架简介 教学目标 理解MVC的概念 理解JSP Model1 理解JSP Model2 理解Struts框架的结构

MVC的概念 MVC是Model-View-Controller的简称,即模型-视图-控制器。

MVC结构图

视图 视图是用户看到并与之交互的界面,作用如下: 视图向用户显示相关的数据。 接受用户的输入。 不进行任何实际的业务处理。 视图向模型查询业务状态,但不能改变模型。 视图接受模型发出的数据更新事件,从而对用户界面进行同步更新。

模型 模型是应用程序的主体部分, 模型表示业务数据和业务逻辑。 一个模型能为多个视图提供数据。 由于应用于模型的代码只需写一次就可以被多个视图重用,所以提高了代码的可重用性。

控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。 当Web用户单击Web页面中的递交按钮来发送HTML表单时,控制器本身不输出任何东西和做任何处理。 控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。

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

MVC的优点 首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。 此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。

MVC的适用范围 使用MVC需要精心的计划,由于它的内部原理比较复杂,所以你需要花费一些时间去理解它。将MVC运用到你的应用程序,会带来额外的工作量,增加应用的复杂性,所以MVC不适合小型应用程序。 但对于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序,MVC将会使你的软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费一定的工作量,但从长远角度看,它会大大提高后期软件开发的效率。

JavaWeb应用结构的发展 阶段1:JSP是一个独立的、自主完成所有任务的模块 阶段2:JSP Model1 阶段3:JSPModel2

JSP是一个独立的、自主完成所有任务的模块 早期的Java Web应用中,JSP文件同时负责生成网页、控制到下一个网页的流程,以及负责业务逻辑,这给Web开发带来一系列问题: HTML 和 Java 强耦合在一起,JSP 文件的编写者必须既是网页设计者,又是 Java 开发者。 可读性差。 调试困难。 不利于维护,更改业务逻辑或数据可能牵涉相关的多个网页。

JSP是一个独立的、自主完成所有任务的模块

JSP Model1

JSP Model2

JSP Model2 JSP负责生成动态网页 Servlet负责流程控制 JavaBean负责业务逻辑

Struts概述 Struts 实质上就是在JSP Model2的基础上实现的一个MVC框架。 模型:JavaBean、EJB组件 、java实用类 控制器:ActionServlet、Action 、RequestProcessor 视图:JSP(Struts客户化标签)+ActionForm

Struts概述

ActionForm Bean ActionForm Bean也是一种JavaBean,除了具有一些JavaBean的常规方法,还包含一些特殊的方法,用于验证HTML表单数据等。 Struts框架利用ActionForm Bean来进行View组件和Controller组件之间表单数据的传递。 Struts框架把View组件接受到的用户输入的表单数据保存在ActionForm Bean中,把它传递给Controller组件,Controller组件可以对ActionForm Bean中的数据进行修改 JSP文件使用Struts标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。

ActionForm Bean

Struts框架的初始化流程 对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化控制器ActionServlet ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到ActionMappings对象中。

Struts框架响应客户请求的工作流程

Struts框架响应客户请求的工作流程 (1)如果ActionMapping实例不存在,就创建一个ActionMapping对象,它包含了把请求转发给哪个Action的信息。 (2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。 (3)根据配置信息决定是否需要表单验证。如果需要验证,就调用ActionForm的validate()方法。 (4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功。 (5)ActionServlet根据配置信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute方法。 (6)Action的execute方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。 (7)ActionForward对象指向的JSP组件生成动态网页,返回给客户。 对于以上流程的步骤(4),如果ActionForm的validate()方法返回一个包含一个或多个ActionError的ActionErrors对象,就表示表单验证失败,此时ActionServlet将直接把请求转发给包含客户提交表单的JSP组件。在这种情况下,不会再创建Action对象并调用Action的execute方法。

Helloapp应用 helloapp应用包括如下需求: 接受用户输入的姓名<name>,然后返回字符串“Hello <name> !” 如果用户没有输入姓名就提交表单,将返回出错信息,提示用户首先输入姓名。 如果用户输入姓名为“Monster”,将返回出错信息,拒绝向“Monster”打招呼。

控制器:ActionServlet、HelloAction Helloapp应用的组成 视图:hello.jsp HelloForm Bean 控制器:ActionServlet、HelloAction struts-config.xml 模型:PersonBean

练习题1 问题:在Struts应用的视图中包含哪些组件? 选项: 答案:A,G (A) JSP (B) Servlet (C) ActionServlet (D) Action (E) 代表业务逻辑或业务数据的JavaBean (F) EJB (G) 客户化标签 答案:A,G

练习题2 问题:在Struts应用的控制器中包含哪些组件? 选项: 答案:B,C,D (A) JSP (B) Servlet (C) ActionServlet (D) Action (E)代表业务逻辑或业务数据的JavaBean (F) EJB (G) 客户化标签 答案:B,C,D

练习题3 问题:在Struts应用的模型中包含哪些组件? 选项: 答案:E,F (A) JSP (B) Servlet (C) ActionServlet (D) Action (E)代表业务逻辑或业务数据的JavaBean (F) EJB (G) 客户化标签 答案:E,F