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

    项目7订单管理-1基本概念.ppt

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

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

    项目7订单管理-1基本概念.ppt

    JAVA WEB应用开发,项目七 订单管理(application),工作任务,任务一 熟悉应用对象任务1-1 application对象任务1-2 pageContext对象任务1-3 过滤器任务二 订单生成任务三 订单处理任务四 订单查询,2,项目目标,任务一:支撑知识理解application对象的应用熟悉pageContext对象的使用熟悉Servlet过滤器的使用任务二:项目实战订单管理订单生成订单处理订单查询,一、application 对象,application对象负责提供应用程序在服务器中运行时的一些全局信息application作用域就是服务器启动到关闭的整段时间,在这个作用域内设置的信息可以被所有应用程序使用。与session对象不同,session对象是每个客户访问时就会一次生成的,客户之间的会话是互相独立的,所有的客户的application对象都是同一个。,2023/9/16,4,application 对象方法,Object getAttribute(String name)得到name指定的属性值。void setAttribute(String name)设置name指定的属性值。getInitParameter(String name)得到由name指定的某个属性的初始值。RequestDispatcher getRequestDispatcher(String uripath)返回指定资源的RequestDispatcher对象String getServletInfo()获取服务器的相关信息long getRealPath()获取与虚拟路径相对应的实际路径String getInitParameter(String name)获取name 指定的初始化值,2023/9/16,5,计数器实例,网页计数器您是第位访问者,2023/9/16,6,application与session比较,来源session来自接口application来自接口存储的数据session存储的是不同用户的个别数据application存储的是不同用户之间共享的数据生存周期session从客户第一次访问服务器到关闭浏览器为止application从服务器启动,到服务器关闭为止,二、pageContext对象,pageContext是页面上下文对象,被封装成pageContext接口,管理对属于JSP特殊可见部分已命名对象的方法。pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的session,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者pageContext的创建和初始化都是由容器来完成的,JSP页面中可直接使用。,2023/9/16,8,pageContext对象方法,forward(String relativeURL)把页面重定向到其他页面。getAttribute(String name,int scope)根据名字name得到其属性值。getException()得到当前的exception对象。getRequest()得到当前的request对象。getResponse()得到当前的response对象。getServletConfig()得到当前页面的servletConfig对象。getServletContext()得到ServletContext对象,是所有页面共享的。getSession()得到页面的session对象,对应一次会话,同session。findAttribute(String name)查找名字为name的属性,范围依次为页面、请求、会话、应用程序。setAttribute(String name,int scope)在指定的范围里设置一个属性的值。,2023/9/16,9,pageContext对象_例1request设定的值:session设定的值:application设定的值:范围1内的值:范围2内的值:范围3内的值:范围4内的值:pageContext修改后的session设定的值:pageContext修改后的application设定的值:值的查找:属性name的范围:,三、Servlet 过滤器,Servelt过滤器是可插入的一种Web组件,对经过过滤器的请求和响应数据进行处理,实现Web 应用中的一些非功能性需求。如:日志记录、提高性能、安全处理、会话处理和XSLT转换等。过滤器处在客户端与所请求的资源(servlet或JSP)之间,过滤器不能独立执行,总要依附在所请求的资源上才能执行。,2023/9/16,11,Servlet 过滤器过滤过程,2023/9/16,12,Servlet 过滤器特性,Servlet过滤器有以下特性:Servlet过滤器将对应用程序处理的逻辑封装到某个类文件中,提供了可以容易从请求/响应链中添加或删除的模块化单元。Servlet过滤器调用是动态的,过滤器在运行时由Servlet容器调用来拦截和处理请求和响应。Servlet过滤器是通过XML文档声明配置的,也就是Web部署描述符(web.xml)。Servlet过滤器是可重用的。过滤器可附加到一个或多个Servlet或JSP页面上,并且可以跨越不同的项目和应用程序使用。,2023/9/16,13,Servlet过滤器体系结构,过滤器API包含3个接口,分别是Filter、FilterConfig、FilterChain,它们在javax.servlet包中。过滤器类要先实现Filter接口,然后使用这个过滤器类中的FilterChain和FilterConfig接口。该过滤器的一个引用将传递给FilterChain对象,允许过滤器把控制权传递给过滤链中的下一个资源。FilterConfig对象将由容器提供给过滤器,以允许访问该过滤器的初始化数据。,2023/9/16,14,Filter接口,所有的过滤器必须实现接口。这个接口包含三个方法,分别是:init、doFilter和destroy。public void init(FilterConfig config)throws ServletException这是过滤器的初始化方法,在过滤器第一次初始化时执行Servlet容器创建Servlet过滤器实例后将调用这个方法在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数,2023/9/16,15,Filter接口,doFilter方法完成实际的过滤操作。每当调用一个过滤器(即每次请求与此过滤器相关的Servlet或JSP页面)时,就执行其doFilter()方法。public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws ServletException,IOException第一个参数是大多数过滤逻辑处理的对象,提供了请求信息,若要处理HTTP请求,需要转换为HttpServletRequest第二个参数表示响应对象第三个参数激活与Servlet 或JSP相关的下一个过滤器,若没有另一个相关的过滤器,则激活Servlet或JSP本身,Filter接口,destroy()方法在销毁过滤器时使用。public void destroy()Servlet容器在销毁过滤器实例时调用此方法,用以释放Servlet过滤器占用的资源,FilterConfig接口,FilterConfig接口类似于ServletConfig接口,用于在过滤器初始化时,向其传递信息。FilterConfig接口有容器实现,容器将其作为参数传入过滤器对象的init()方法中。在FilterConfig接口,定义了4个方法:1)public String getFilterName()得到描述符中指定的过滤器的名字。2)public String name)返回在部署描述中指定的名字为name的初始化参数的值。如果不存在返回null。3)public Enumeration getInitParameterNames()返回过滤器的所有初始化参数的名字的枚举集合。4)public ServletContext getServletContext()返回Servlet上下文对象的引用。,2023/9/16,18,FilterChain接口,FilterChain接口由容器实现,容器将其实例作为参数传入过滤器对象的doFilter()方法中。过滤器对象使用FilterChain对象调用过滤器链中的下一个过滤器。FilterChain接口只有一个方法:public void doFilter(ServletRequest request,ServletResponse response)throws 调用该方法将使过滤器链中的下一个过滤器被调用。如果是最后一个过滤器,会调用目标资源。,2023/9/16,19,Servlet过滤器步骤,建立一个过滤器有以下几个步骤:首先创建一个Java类,实现Filter接口。在doFilter()方法中实现过滤逻辑。调用FilterChain对象,激活下一个相关的过滤器,或Servlet、JSP页面。在web.xml中注册过滤器。,2023/9/16,20,Servlet过滤器步骤,1.创建Java类public class MyFilter implements Filter public void destroy()/TODO Auto-generated method stubpublic void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException/TODO Auto-generated method stubpublic void init(FilterConfig arg0)throws ServletException/TODO Auto-generated method stub,Servlet过滤器步骤,2.实现过滤逻辑public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException/过滤逻辑处理HttpServletRequest request=(HttpServletRequest)request;/1.转换请求对象/2.过滤逻辑(编码过滤、权限处理等)chain.doFilter(request,response)/3.激活下一个过滤器,Servlet过滤器步骤,3.注册过滤器Web.xml过滤器名完整的过滤器类名初始化参数名初始化参数值过滤器名URL值,Servlet 过滤器配置,在实现一个过滤器后,需要在部署描述符web.xml中对过滤器进行配置,主要通过filter和filter-mapping元素来完成。filter元素用于在Web应用程序中注册一个过滤器对象。filter-mapping 元素指定该过滤器对象所应用的URL。,2023/9/16,24,Servlet过滤器配置,filter元素filter元素放置在filter-mapping、Servlet或Servlet-mapping元素之前。filter元素包含的子元素主要有:filter-name:定义过滤器的名称display-name:定义使用过滤器的简短名称description:对过滤器的描述filter-class:指定过滤器实现类的完整限定类名init-param:过滤器的初始化参数。,2023/9/16,25,Filter 配置,处理编码的Filter EncodingFilter EncodingFilter EncodingFilter 页面请求的编码值 encoding GB18030,2023/9/16,26,filter-mapping元素,filter-mapping元素用于指定过滤器关联的URL样式或者Servlet。它包含的子元素有:filter-name:必须与在filter元素中声明过的过滤器的名字相同。url-pattern:指定过滤器关联的URL样式。servlet-name:指定过滤器对应的Servlet。用户在访问url-pattern元素指定的URL上的资源或servlet-name元素指定的Servlet时,该过滤器才会被容器调用。filter-mapping元素还可以包含0到4个dispatcher,指定过滤器对应的请求方式。,2023/9/16,27,Filter-mapping 配置示例,EncodingFilter/index.jsp REQUEST FORWARD,2023/9/16,28,过滤器实例-Filter类,package com.my.filter;import java.io.*;import javax.servlet.*;import.*;import java.util.*;/For Date classpublic class FirstFilter implements Filter public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws ServletException,IOException HttpServletRequest req=(HttpServletRequest)request;System.out.println(req.getRemoteHost()+tried to access+req.getRequestURL()+on+new Date()+.);chain.doFilter(request,response);public void init(FilterConfig config)throws ServletException public void destroy(),2023/9/16,29,过滤器实例-Web.xml,FirstFilter FirstFilter/*,2023/9/16,30,常用过滤器实例:,四、订单管理,项目分析:订单管理用户选中图书后,可以选择到收银台结账。用户在结账前必须先登录登录后用户填写订单信息填写完成后生成订单列表用户可以查看订单信息管理员登录后可以查看订单信息,管理可以处理订单信息。,2023/9/16,31,订单生成,2023/9/16,32,订单管理,2023/9/16,33,项目实施生成订单,2023/9/16,34,数据关系分析,2023/9/16,35,数据关系分析,图书表 book:存放的是图书的基本信息;用户表 userinfo:存放的是用户登录的基本信息收货人地址表:consigneeAddress:存放的是收货人的基本信息订单表 orders:存放的是订单的基础信息订单商品表 orderLine:存放的是订单商品的详细信息表之间的关系:Orders表中userid、addressid分别是userinfo、consigneeAddress的主键,orderid是orderLine表的外键。OrderLine表中bookid是book表中的主键。,2023/9/16,36,订单处理过程分析,用户点击结算中心,进入生成订单流程;用户登录,如果是非注册用户,需要注册;登录后,用户需要输入收货人信息。如果是第一次购物,则需要输入完整的用户信息;如果不是第一次购物,则重数据库中读出最近一次的用户信息。(根据订单的时间判断)。选择送货方式;选择支付方式;生成订单。,2023/9/16,37,1.订单生成设计,设计一个JavaBean 查询最近一次的收货人地址;如果取到值,也就是ConsingneeAddress对象不为空,在收货人地址中输入地址;如果该对象为空,则直接显示收获人文本框,要求输入收货人信息。选择送货方式,单选,缺省是第一个;选择付款方式;单选,是第一个;提交给订单控制Servlet。,2023/9/16,38,订单控制Servlet设计,首先生成一个新的订单号。获取收货人的信息。根据收货人姓名查询,如果存在,则进行修改操作;如果不存在,则插入收货人信息表。获取送货方式 获取付款方式根据收货人查询,收货人id获取session中用户信息,得到用户id。获取session中购物车对象。依次遍历cart对象,将购物车中的商品信息插入到orderLine表中。计算总的金额。生成一条订单信息,将订单信息插入到订单表中。将订单生成所有信息保存到session中。转向到订单生成完成页面。,2023/9/16,39,订单生成完成页面设计,获取session中生成订单信息;打印出订单生成信息。,2023/9/16,40,2.订单处理,任务分析 订单处理是管理员对于订单用户生成订单的处理,如果是大型网站有专门的订单管理部门负责处理用户订单,如产品部、客户部门、财务、仓储等部门。本网站设计假设只有管理员来处理。处理的流程,首先审核用户订单信息,如果审核通过,进入发货状态(以货到付款),用户看到发货状态后,模拟一个用户接受货物,订单状态变成处理完成状态。,2023/9/16,41,订单处理流程,2023/9/16,42,用户订单处理流程,2023/9/16,43,项目实训,用户订单查询管理员订单查询,2023/9/16,44,项目总结,application对象、pageContext对象的学习Servlet过滤器的学习订单处理流程分析、订单的数据分析设计订单管理的分析与设计订单查询的分析与设计,2023/9/16,45,

    注意事项

    本文(项目7订单管理-1基本概念.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开