基于MVC的Java-Web项目实战完整版课件全书电子教案教材课件(完整).ppt
《基于MVC的Java-Web项目实战完整版课件全书电子教案教材课件(完整).ppt》由会员分享,可在线阅读,更多相关《基于MVC的Java-Web项目实战完整版课件全书电子教案教材课件(完整).ppt(133页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第 一一 章章在线图书购物需求分析在线图书购物需求分析1目标目标q了解如何进行需求分析q了解如何进行详细设计2概述概述q本课程通过一个完整的项目:在线图书购物(BookShop)来讲解MVC中各方面的知识qBookShop实现了网络购物的基本功能,包括用户注册、登陆、浏览商品、购物以及查看订单等q在第一章中,我们主要学习对项目进行需求分析以及数据库的建模3系统需求系统需求q软件开发第一步:明确系统需求q系统要实现什么功能q具体的要求是什么 qBookShop实现购物网站的基本功能,包括:q登录和注册q浏览商品q查询购物车和结账 4系统需求系统需求q登录和注册q已注册用户才可以在网站购物q注册
2、时系统会对注册信息进行验证,以确保注册信息正确性 q购物结账时用户需要登录信息 q登录时验证用户名密码5系统需求系统需求q商品浏览q根据图书ID显示商品列表q浏览时允许将商品放入购物车6系统需求系统需求q结账q用户可以查看购物车中的商品q用户可以修改购物车中商品的数量q用户可以删除购物车中的商品q用户选择结账生成订单7系统需求系统需求q用例图8系统功能描述系统功能描述q用户注册q用户通过注册得到网络商店帐号 9系统功能描述系统功能描述q用户注册时序图q注册成功进入主页(并自动以新账号登录)q注册失败返回注册页面10系统功能描述系统功能描述q用户登录q在首页,用户点击登录连接进行登录 11系统功
3、能描述系统功能描述q用户登录时序图q登录成功,返回到系统的首页q登录失败,转入到重新登录页面 12系统功能描述系统功能描述q浏览商品q在首页显示图书信息13系统功能描述系统功能描述 q购物q在浏览商品时选择加入购物车进行购物q在购物车中可修改商品的数量,删除商品 14系统设计系统设计q 系统架构设计q系统遵循多层次的架构设计q每个层所负责的功能也是不相同的q从上到下分别是视图层、控制层、模型层、数据访问层、数据库层15系统设计系统设计q业务实体设计q设计域模型,创建域模型实体对象q设计关系数据模型q根据关系数据库创建对象16系统设计系统设计q业务实体设计q在图书商店中有以下的业务实体:q用户(
4、UserInfo)q图书商品(Book)q订单(Order)q订单项(Item)17系统设计系统设计q业务实体关系图18总结总结q软件开发的第一步就是明确系统需求q多层次的架构设计一般从上到下分别是视图层、控制层、模型层、数据访问层、数据库层 19第第 二二 章章MVC简介简介20课程目标课程目标q掌握MVC架构的概念q掌握MVC架构中Model的实现q掌握MVC架构中View的实现q掌握MVC架构中Control的实现21本章简介本章简介qMVC的基本概念qMVC在Web开发中的应用q通过示例来了解MVC的执行过程22MVC介绍介绍qOOD的特点q将程序分解成根据具体的对象而设计的一系列元素
5、q允许开发者控制开发中复杂性的增加q定义严格的出口语义(明确接口,隐藏细节)q适当使用对象之间的关系(继承、包容、使用和协调)23MVC介绍介绍q可视化接口(用户界面)在OOD方面的不足 q设计中将面向操作的界面布局同面向对象的设计混合在一起,导致对象大量耦合q不同的用户有不同的接口,导致大量类的扩展q可视化接口的改变会增加应用开发的复杂性 24MVC介绍介绍qMVC弥补了可视化接口/OOD的不足qMVC 三层架构 q模型(Model)q视图(View)q控制(Control)qMVC通过创建三个层将面向对象的设计与可视化接口分开25MVC介绍介绍q模型(Model)q包含完成任务所需的所有的
6、行为和数据q一般由许多类组成26MVC介绍介绍q视图(View)q一个视图就是一个程序的可视化元素q视图显示从模型中提供的数据 27MVC介绍介绍q控制器(Controller)q控制器将模型映射到视图中q控制器接收用户输入,创建或修改适当的模型对象,并将模型对象传送到视图q每个视图有一个控制器q控制器在需要时还负责创建其它的视图和控制器28MVC介绍介绍qMVC模型关系图29MVC介绍介绍q使用MVC的优点q允许开发者将一个好的面向对象的设计与用户接口隔离开来q允许在同样的模型中容易地使用多个接口q允许在实现阶段对接口作大的修改而不需要对相应的模型进行修改30MVC在在 Web系统中的应用系
7、统中的应用qWeb开发模式一(Model 1)q使用一系列的JSP页面来实现应用的业务逻辑,同时还要向用户显示界面 31MVC在在 Web系统中的应用系统中的应用qModel 1的缺点q代码重复q难以维护q可扩展性差q测试困难32MVC在在 Web系统中的应用系统中的应用qWeb开发模式二(Model 2)q以MVC架构为基础,使用Servlet和JSP的体系结构q用Servlet作为控制器,接收用户请求,影响模型中的修改,并向用户提供视图 33MVC在在 Web系统中的应用系统中的应用 qModel 2执行流程 34MVC在在 Web系统中的应用系统中的应用 qModel 2 View层q代
8、表系统的显示,完全存在于Web层q由JSP,数据对象和Custom Tag组成q在项目设计时,可以先设计出所有可能出现的Viewq可以使用模板方法设计View层35MVC在在 Web系统中的应用系统中的应用qModel 2 Model层q代表了商业规则和商业数据,存在于业务逻辑层和Web层。q系统有些数据需要存储于数据库中,也有一些不需要记录在数据库里q可以把存取数据库的对象模式化为DAO对象。DAO中可以封装与具体数据库的交互细节36MVC在在 Web系统中的应用系统中的应用 qModel 2 Controller层qController对象协调Model与Viewq一般通过Servlet,
9、来接收用户请求,它可以决定下一个Viewq Controller另一个重要的功能是同步View和Model的数据37MVC示例示例q以BookShop系统中,管理员查看用户信息这个功能为例q在BookShop数据库中有一个存贮客户信息的表USERINFO q在一个页面中只有一个超链接,当用户点击“显示客户列表”超链接时,应用程序就把所有的USERINFO显示出来 38MVC示例示例q时序图 39MVC示例示例Sq运行结果40总结总结qMVC架构把系统分为3个模块:模型(Model)、视图(View)和控制器(Controller)q模型(Model)对象代表了商业规则和商业数据q界面(View
10、)代表系统的显示qController对象协调Model与View,把用户请求翻译成系统识别的事件41第第 三三 章章JavaBean42目标目标q了解JavaBean在MVC模式中的作用q掌握JavaBean编写规范q掌握DAO的概念43概述概述q本章主要讲解MVC架构中,Model层的实现技术qModel层一般使用JavaBean来实现q数据访问模式:DAO模式44JavaBean介绍介绍qJavaBean是一种可重复使用的软件组件,是一种用Java语言编写的特殊结构的类qJavaBean可分为两种:q有用户界面(UI)的JavaBeanq没有用户界面的JavaBean,主要负责处理事务(
11、如数据运算、操作数据库)45JavaBean介绍介绍qJavaBean的编写要遵循Sun的JavaBean编写规范q标准的JavaBean有以下几个特征 q是一个公共的(public)类q必须有一个默认构造函数(无参构造函数)q可以有多个属性,但是这些属性要通过getXXX()和 setXXX()方法设置和获取属性q可以有多个可供调用的方法46JavaBean介绍介绍qJavaBean的属性q属性可以设置为读写、只读或只写q属性的读写性可以通过JavaBean实现类中的两个方法来实现47/读属性public String getUsername()/写属性public void setUser
12、name(String username)JavaBean介绍介绍q例:Userinfo类是一个简单的JavaBean,它只包含了属性 48通常把包含数据属性的JavaBean称为数据数据BeanJavaBean介绍介绍q可读写属性 49package com.xt.beans;import java.util.*;public class UserInfo implements java.io.Serializable/filedprivate String username;public String getUsername()return username;public void set
13、Username(String username)this.username=username;JavaBean介绍介绍q只读属性 50public class Userinfo implements java.io.Serializable private String name;/数据字段public String getName()return this.name;JavaBean介绍介绍q只写属性 51public class Userinfo implements java.io.Serializable private String name;/数据字段public void se
14、tName(String name)this.name=name;需要注意:boolean类型属性是通过get/set来设置的 JavaBean介绍介绍qJavaBean方法q是指类中的公有方法q对数据的操作进行有效的封装q使我们能够更加容易的操作数据52DAO模式模式qDAO:Data Access Object 数据访问接口qDAO主要进行数据库操作,夹在业务逻辑与数据库资源中间 53DAO模式模式q例:创建一个ShopDB的类,来实现与数据库的基本交互 54public class ShopDB private String dbURL=jdbc:mysql:/localhost:330
15、6/shoponline;private String dbUser=root;private String dbPassword=root;private Connection conn=null;private Statement stmt=null;private PreparedStatement pstmt=null;private ResultSet rs=null;如果数据库迁移只需修改ShopDB类就可以了DAO模式模式q在UserinfoManager类中使用ShopDB55public class UserinfoManager public static Userinfo
16、 getUserinfo(String userid)Userinfo userinfo=null;String sql=select*from Userinfo where userid=?;ShopDB db=new ShopDB();Connection conn=db.getConnection();PreparedStatement pstmt=conn.prepareStatement(sql);pstmt.setString(1,userid);ResultSet rs=pstmt.executeQuery();DAO模式模式q有了ShopDB类和UserinfoManager类
17、以及Userinfo类以后,我们只需要调用UserinfoManager类的方法就可以来得到想得到的数据,而不用考虑其具体是如何实现的56总结总结qJavaBean可分为两种:一种是有用户界面的JavaBean。还有一种就是没有用户界面,主要负责处理事务的JavaBeanq一个标准的JavaBean有以下几个特征:JavaBean是一个公共的类、JavaBean必须有一个默认构造函数、JavaBean可以有多个属性,但是这些属性要通过getXXX()和setXXX()方法来访问、JavaBean可以有多个可供调用的方法qJavaBean的属性可以设置为 读写、只读或只写qDAO是Data Ac
18、cess Object数据访问接口,是与数据库打交道。在业务逻辑与数据库资源中间57第四章第四章Servlet目标目标q掌握Servlet的概念q掌握Servlet在MVC中的作用q掌握Servlet的doPost方法和doGet方法概述概述q在使用MVC架构的Web应用中,控制器Controller一般使用Servlet来实现q本章将介绍Servlet的概念,生命周期,以及如何编写Servlet程序Servlet介绍介绍qJava Servlet是与平台无关的服务器端组件,它运行在Servlet容器中qServlet容器负责Servlet和客户的通信以及调用Servlet的方法qServle
19、t和客户的通信采用“请求/响应”模式 Servlet介绍介绍q每一个JSP页面就是一个ServletqJSP在执行时,Web服务器先要把JSP页面翻译成Java源代码,而这个源代码就是一个ServletqServlet可以完成JSP的所有功能 Servlet介绍介绍qServlet在MVC中的工作方式q接收客户的请求q根据请求调用JavaBean进理q将处理结果进行存储q将控制转到JSP页面,让JSP客户显示处理结果ServletServlet介绍介绍q要实现Servlet程序,需要创建一个Servlet类,该类必须继承javax.servlet.http.HttpServletq以“显示客户
20、列表”为例,处理客户请求的Servlet如下:qServlet中的几个常见方法qinit()方法:Servlet初始化qdestroy()方法:Servlet销毁时调用qdoGet()方法:处理Get请求qdoPost()方法:处理Post请求qdoGet()方法和doPost()方法中的参数qHttpServletRequest对象包含请求信息qHttpServletResponse对象包含响应信息Servlet介绍介绍Servlet介绍介绍public void doPost(HttpServletRequest request,HttpServletResponse response)t
21、hrows ServletException,IOException String action=request.getParameter(action);/获取请求参数 String jspPage=./admin/userinfo.jsp;if(action=null)|(action.length()1)action=default;if(default.equals(action)jspPage=./admin/userinfo.jsp;else if(displaylist.equals(action)List userinfos=UserinfoManager.getUserinf
22、os();/调用JavaBean的方法 request.setAttribute(userinfos,userinfos);/在request范围存储数据 jspPage=./admin/userinfoDisplayList.jsp;RequestDispatcher rd=this.getServletContext().getRequestDispatcher(jspPage);/指定转发路径 rd.forward(request,response);/转发请求Servlet分析分析q在Servlet规范中,所有的Servlet必须实现java.servlet.Servlet接口qjav
23、a.servlet.Servlet接口方法:方法方法描述描述init初始化ServletdestroyServlet结束时调用getServletInfo得到有关Servlet的信息getServletConfig得到与Servlet实例相关联的javax.servlet.ServletConfig对象service容器调用这个方法向Servlet传递一个请求来进行处理。Servlet必须处理这个请求,并提供响应q抽象类GenericServlet实现了Servlet接口q在GenericServlet中service()方法被定义成抽象方法q抽象类HttpServlet扩展了GenericS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MVC Java Web 项目 实战 完整版 课件 全书 电子 教案 教材 完整
限制150内