欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    软件开发案例分析(二)网络商城.ppt

    • 资源ID:5018757       资源大小:12.66MB        全文页数:115页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件开发案例分析(二)网络商城.ppt

    项目二、网络商城,采用技术,语言:JAVA数据库:MySQL框架:SSH(Struts/Spring/Hibernate)运行模式:B/S Browser/Server,采用技术,Spring,Struts,Hibernate,MVC,数据访问,手段,目的,Web应用,静态网页服务器存储静态HTML(HyperText Markup Language,超文本标记语言)动态网页服务器动态生成HTMLASPPHPJSP,CGI动态网页的鼻祖,CGI(Common Gate Interface)通用网关接口一段部署在服务器上的程序,供客户端的页面来调用的接口常见的CGI程序为Perl脚本,CGI程序,ServletJAVA版本的CGI,不想用PERL,想用JAVA!合适的WebServer:Apache-Tomcat、JBoss、WebLogic、WebSpere等,JAVA程序,Servlet的补充Filter,过滤器:传送/修改请求,但不创建请求,也不生成响应请求到达Servlet之前的预处理程序响应离开Servlet之后的后处理程序,Web Server,Servlet的补充Listener,监听器:监听客户端请求,服务端操作等。实现不同的监听接口。通过监听器,可以自动激发一些操作可以在不修改现有系统基础上,增加Web应用程序生命周期事件的跟踪例:ContextLoaderListener监听器:实现了ServletContextListener这个接口。当启动Web容器时,自动装配ApplicationContext的配置信息。,Web.xml组件配置文件,JSP工作原理,JSP(JAVA Server Page)JAVA服务器页面JSP服务器管理JSP页面有两个阶段:转换阶段:JSP服务器检验JSP页面语法是否正确,然后将JSP页面转换为Servlet源文件,然后调用javac工具编译Servlet源文件,生成class文件执行阶段:Servlet容器加载转换后的Servlet类,实例化一个对象处理客户端的请求。在请求处理完成后,响应对象被JSP服务器接收,服务器将HTML格式的响应信息发送到客户端,客户端,JSP文件(.jsp),Servlet文件(.java),Class文件(.class),Servlet实例(对象),JSP服务器,Request,Response动态生成HTML,JSP内置对象,最常用、最重要的几个与Web相关的对象无需声明,直接在JSP中使用的JAVA对象,传统MVC,V(View):数据的显示M(Model):数据的处理/存储C(Controller):接收View的事件,操作Model,Web世界的MVC,SSH,Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转。Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问Spring做管理,管理struts和hibernate,Spring,Struts,Hibernate,Struts实现Web MVC的框架,Strut.xml,Struts 2配置,web.xml:中添加Struts 2组件(过滤器)struts.properties:Struts全局属性配置(Key-Value形式)Struts.xml:管理应用中的Action映射,主要内容包括:Action:Struts2的基础工作单元ControllerResult:定义Action返回值,同时告诉Struts2,Action调用后做什么Interceptor:拦截器在Action执行之前或者之后,被调用的代码Package:将Action、Result、Interceptor等打包到一个逻辑单元Namespace:命名空间使功能不同的Action,可以取相同的名字,以html为后缀的请求直接转换为Action,并由Struts管理,Struts 2配置,例:struts.xml,Struts 2配置,例:struts-admin.xml(部分代码),Struts 2辅助功能,利用通配符定义Action:,Struts 2辅助功能,拦截器拦截器是一个能在Action执行的前后执行的代码,也可以把若干个拦截器连在一起,组成拦截器栈验证器有些时候,系统需要对用户的输入数据进行验证。比如用户注册时,需要对各个数据项进行数据校验,Struts2提供了一些默认的校验器,比如数字的检测邮箱的检测、字符串长度的检测等等转换器网页收集的信息不管是什么类型的,都是以字符串形式提交给服务器。而Java是强类型语言,要想接收客户端提交的信息,就必须将这些信息转换成相应的Java数据类型,拦截器及拦截器栈,拦截器是一个能在Action执行的前后执行的代码,也可以把若干个拦截器连在一起,组成拦截器栈。使用自定义的拦截器配置在struts配置文件的Action中,还要引入defaultStack,否则会造成若干重要功能的缺失,如,使用了modelDriven的Action将不能获取到form表单中字段的值。例:,adminDefaultStack,indexAction,loginInterceptor,defaultStack,拦截器,拦截器栈,拦截器及拦截器栈,例:,Struts 2验证器,Struts2 输入验证有些时候,系统需要对用户的输入数据进行验证。比如用户注册时,需要对各个数据项进行数据校验,Struts2提供了一些默认的校验器,比如数字的检测邮箱的检测、字符串长度的检测等等,Struts 2验证器,Struts2 输入验证使用在对应的action的包下添加一个验证框架的配置文件,文件名称为Action类名-validation.xml.如果Action中有多个方法,则一般使用Action类名-Action别名-validation.xml支持校验的Action必须实现Validateable接口,一般继承ActionSupport类就可以了.如验证失败,错误信息将会显示在标签中例:,Customer_reg.jsp,CustomerAction.java的save()函数,CustomerAction-customer_save-validation.xml,用户注册页面,Struts 2类型转换器,Struts2 类型转换网页收集的信息不管是什么类型的,都是以字符串形式提交给服务器。而Java是强类型语言,要想接收客户端提交的信息,就必须将这些信息转换成相应的Java数据类型全局配置xwork-conversion.properties,JSP(网页),Struts(标签),Action(属性),String,Enum,Struts 2类型转换器,例:,枚举的使用,创建枚举类型要使用 enum 关键字,隐含了所创建的类型(如Sex)都是 抽象类java.lang.Enum 的子类枚举类型符合通用模式Class Enum,而E表示枚举类型的名称(如Sex)枚举类型的每一个值都将映射到protected Enum(String name,int ordinal)构造函数中。在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序,Enum,Sex,继承,getName(),getValues(),方法,BOY,GIRL,ALL,值,枚举的使用,最简化定义:,HibernateORM框架,ORMObject/Relation Mapping:对象-关系映射JAVA面向对象数据库关系型数据库,JAVA,数据库,拆解出属性拼接SQL字符串,构造JAVA对象,自动化,Hibernate框架组成,数据持久化类(*.java)JAVA Bean数据库表映射文件(*.hbm.xml)对象到数据库表的映射配置文件(),持久化类,数据库表,映射,映射文件,配置文件,配置,Hibernate框架组成,例:(映射文件),持久化类(User),数据库表(tb_user),映射,username,password,记录,username,password,属性,Spring,开源的应用框架,为了解决企业应用开发复杂而创建的致力于提供一个以统一、高效的方式构造整个应用,并可以将单层框架(如Struts、Hibernate等)以最佳的组合糅合在一起,建立一个连贯的体系,Struts,Hibernate,Spring,SpringIoC,IoC(Inversion of Control)控制反转不直接(在JAVA中)创建对象,但是(在XML文件中)描述创建它们的方式。代码中不直接与对象和服务连接,而在配置文件中描述哪一个组件需要哪一项服务,(IoC)容器负责将组件和服务连接到一起,Obj A,Obj B,Obj C,Create,Create,传统的对象组装,Obj A,Obj B,Obj C,Set(),Set(),IoC容器创建对象,IoC容器,Obj A,Obj B,Obj C,Create,Create,SpringIoC,使用配置文件实现IoC,配置文件,BeanFactory,Bean对象,加载,getBean(),Bean类,Spring IoC容器,SpringIoC,例:,Bean类,将Bean类注册到配置文件(bean-config.xml),SpringIoC,Bean对象获取(无需构造函数,属性值自动注入),SpringIoC,Web.xml加载Spring配置文件(无需代码中手工加载),SpringIoC,Bean中引入其他Bean Ref,transactionManager,hibernateTemplate,sessionFactory,SpringIoC,采用注释的方式简化配置文件无需写到配置文件中简化Bean(类/对象)程序中所有的XXXAction类及所有的XXXDAO类,实际上都被Spring管理起来(虽然没有出现在配置文件中),SpringIoC,简化Bean中的引入(Ref)属性自动装配(Autowired注释),XXXAction,XXXDAO,Autowired,XXXDAO,HibernateTemplate,Autowired,SessionFactory,Ref,Ref,Ref,配置文件applicationContext-Commom.xml,SpringIoC,Spring其他注释Scope Spring作用域,声明IOC容器中的对象的存活空间Transactional Spring事务管理,以保证事务的原子性,SpringAOP,AOP(Aspect Oriented Program)面向切面编程通过减少重复代码模块,提高工作效率例:通过调用过程中的植入,可以分离出系统的核心关注点和横切关注点。从横向角度,截取业务管理行为的内部消息,以达到织入权限管理逻辑的目的。在调用代码中并不包含权限验证的调用过程,订单管理,权限验证,权限验证,传统逻辑管理,数据,权限验证,产品管理,。,订单管理,引入AOP管理,数据,产品管理,。,切面,权限验证,切入点,Spring 整合Struts,Spring 整合Hibernate,Action,DAO,HibernateTemplate,Spring,装配,调用,调用,sessionFactory,调用,数据库,ORM,需求分析,需求分析功能模块,需求分析,前台首页,Head.jsp,登录、注册链接,需求分析,后台页面,需求分析功能模块,网络商城,前台,后台,账户管理,商品浏览、购买,登录,管理页面(商品、商品类别、订单),添加,查询,删除,修改,注册,订单,登录,购物车,按类别,按推荐|商家,按时间,按热销|销量,按查询,按人气|点击,需求分析需求列表,商品,购物车,订单,需求分析需求列表,需求分析主要实体,主要实体管理员(卖家):(User)用户(买家):(Customer)商品:(ProductInfo)商品类别(ProductCategory)商品图片:(UploadFile)购物车(Cart)订单:(Order)订单项:(OrderItem),实体联系图,User(管理员),Customer(用户),商品(ProductInfo),商品类别(ProductCategory),订单(Order),订单项(OrderItem),商品图片(UploadFile),n,1,n,1,n,1,1,n,拥有,拥有,拥有,属于,购物车(Cart),拥有,1,1,1,n,拥有,1,n,拥有,商品管理,商品类别管理,订单管理,后台,前台,总体设计数据库设计,总体设计数据库设计,管理员(卖家)信息表(tb_user),总体设计数据库设计,会员(买家)信息表(tb_customer),总体设计数据库设计,商品类别信息表(tb_productcategory),总体设计数据库设计,商品信息表(tb_productinfo),总体设计数据库设计,上传文件信息表(tb_uploadfile),总体设计数据库设计,订单信息表(tb_order),总体设计数据库设计,订单项表(tb_orderitem),总体设计界面设计,HTML超文本标记语言“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括两部分:“头”部分(Head):关于网页的信息“主体”部分(Body):网页的具体内容。HTML 使用标记标签来描述网页,HTML 标签通常是成对出现的,比如 和 HTML 元素:指的是从开始标签(如)到结束标签(如)的所有代码。大多数 HTML 元素可以嵌套(可以包含其他 HTML 元素)。HTML 标签可以拥有属性。属性提供了有关 HTML 元素的更多的信息,总体设计界面设计,超文本,整个页面,head,页面属性(不显示),Body,页面内容(显示),标签,控件类,元素(除标签外),父控件内所有子控件,总体设计界面设计,常见标签及功能,总体设计界面设计,动态网页:JSP HTML+JAVA以结尾,中间嵌入JAVA代码Struts标签简化JSP以结尾,总体设计界面设计,Struts常用标签通用标签UI标签,总体设计界面设计,例:Index.jsp,Body,head.jsp,div id=box,div id=left,div id=right,div id=foot,div id=left_s01,div id=left_s02,div id=left_x,1,n,总体设计界面设计,div id=left,div id=right,head.jsp,div id=left_s01,div id=left_s02,div id=left_x,div id=foot,总体设计界面设计,div id=left_x,div id=left_122,table(1行2列),tr(行),tb(列),tb(列),div id=left122_y,红色的字,二级类别,一级类别,div.,n,总体设计界面设计,Struts实现Web MVC的框架,Strut.xml,总体设计界面设计,Struts.xml,Struts-default.xml,Struts-front.xml,Struts-admin.xml,前台,后台,继承,总体设计界面设计,Struts-default.xml,任意Action,struts,xxx.jsp,返值,链接/表单,总体设计界面设计,Struts-font.xml除继承Struts-default.xml返值以外,总体设计界面设计,主页,product_list.jsp,点击菜单,搜索,点击具体商品,点击具体商品,product_click_list.jsp,product_find_list.jsp,包含子页面,点击具体商品,购物车页面:cart_list.jsp,product_select.jsp,商品浏览、加入购物车流程,总体设计界面设计,购物车、订单,购物车页面:cart_list.jsp,主页,继续挑选,订单添加:order_add.jsp,订单确认:order_confirm.jsp,订单列表:order_list.jsp,总体设计界面设计,后台页面,top.jsp,left.jsp,user_login.jsp,main.jsp,iframe(name=abc),总体设计界面设计,Struts-admin.xml,总体设计界面设计,后台界面,user_login.jsp,main.jsp,登录,top.jsp,left.jsp,iframe,包含,category_add.jsp,category_list.jsp,product_add.jsp,product_list.jsp,order_query.jsp,order_list.jsp,调用,显示,总体设计逻辑设计,Action,Struts.xml,JSP,DAO,数据库,Model,View,Controller,Model,ORM,Util,总体设计Util,Action,Struts.xml,JSP,DAO,数据库,Model,View,Controller,Model,ORM,Util,We are Here!,Hibernate,总体设计Util,Util,UtilHibernate,Struts转换器,自定义Hibernate映射类型,总体设计Model,Action,Struts.xml,JSP,DAO,数据库,Model,View,Controller,Model,ORM,Util,We are Here!,Hibernate,总体设计Model,ORM,总体设计Model(持久化类),Model外键 表之间利用外键联系,总体设计Hibernate框架,HibernateORM框架ORM:Object-Relation Mapping(对象关系映射)面向对象程序语言(如JAVA)到关系数据库之间的映射实现面向对象的方式操作数据库采用面向对象的方式操作持久化对象将持久化对象的操作转化为数据库操作Hibernate框架构成持久化类(*.java)映射文件(*.hbm.xml)Hibernate配置文件(),总体设计Hibernate框架,a.java,表a,b.java,表b,c.java,表c,映射,持久化类,数据库,总体设计Hibernate框架,例:Order.java,tb_order,总体设计Hibernate框架,主键,属性映射,外键映射,总体设计Hibernate框架,Hibernate核心类(本项目将其封装在HibernateUtils.java)Configuration类:加载配置文件()SessionFactory类:创建Session的工厂类一个项目通常只需要一个SessionFactory对象当项目需要操作多个数据库时,需为每个数据库指定一个SessionFactory由Configuration创建Session类:封装持久化操作,由SessionFactory创建Query类:用于数据库查询的类,由Session创建,Configuration,SessionFactory,Session,Query,buildSessionFactory,openSession,createQuery,增、删、改,查,总体设计Hibernate框架,HQL:面向对象查询语言,Query.list()等,总体设计Hibernate框架,HibernateTemplateSpring对Hibernate功能的封装,HibernateTemplate,sessionFactory,程序(DAO),总体设计Hibernate框架,HibernateTemplateSpring对Hibernate功能的封装,总体设计DAO,Action,Struts.xml,JSP,DAO,数据库,Model,View,Controller,Model,ORM,Util,We are Here!,Hibernate,总体设计DAO,DAOData Access Object(数据访问对象)利用Hibernate框架实现面向对象形式的数据库操作,BaseDao,DaoSupport,XXXDao,XXXDaoImpl,extends,extends,继承,继承,implements,implements,实现,实现,接口,类,被Action调用,总体设计DAO,BaseDAO泛型基础接口,将所有DAO共有的公共接口抽象出来,统一定义在这里,总体设计DAO,SupportDAO泛型基础接口实现(利用泛型的方式,将其他DAO的公共操作抽象地实现在这里)其他DAO类的基类属性:方法:使用HibernateTemplate对象,实现BaseDAO接口定义的方法,总体设计DAO,例:,总体设计DAO,XXXDAO/XXXDAOImpl,总体设计DAO,Action,Struts.xml,JSP,DAO,数据库,Model,View,Controller,Model,ORM,Util,We are Here!,Hibernate,总体设计Action,例:链接方式(index.jsp):,例:表单方式(customer_login.jsp):,总体设计Action,Action驱动模式Property-Driven:Action自己的属性来接收来自JSP的参数数据Model-Driven:Action利用一个单独的对象来接收来自JSP的参数数据例:customer_login.jsp,总体设计Action,ActionSupport,BaseAction,XXXAction,由Struts框架提供包含了Action能够提供的许多可选服务的默认实现,RequestAware,SessionAware,ApplicationAware,通过实现拦截器接口,获取ServiceAPI对象(与JSP内置对象相对应),定义所有的DAO定义了所有Action公共返值实现了所有Action公共接口,总体设计Action,BaseAction属性,总体设计Action,BaseAction方法,总体设计Action,IndexAction:准备数据,返回后数据将被显示到主页面新增属性新增方法,总体设计Action,OrderCartAction:封装所有购物车操作新增属性新增方法,总体设计Action,OrderOrderAction:封装所有订单操作新增属性,总体设计Action,OrderOrderAction:封装所有订单操作新增方法,总体设计Action,productProductAction:封装所有商品操作新增属性,总体设计Action,productProductAction:封装所有商品操作新增方法前台,总体设计Action,productProductAction:封装所有商品操作新增方法后台,总体设计Action,productProductCategory:封装所有商品类别操作新增属性,总体设计Action,productProductAction:封装所有订单操作新增方法后台,总体设计总结,Action,Struts.xml,JSP,DAO,数据库,Model,View,Controller,Model,ORM,Util,Hibernate,所有都由Spring管理起来IoC,

    注意事项

    本文(软件开发案例分析(二)网络商城.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开