项目7订单管理-1基本概念.ppt_第1页
项目7订单管理-1基本概念.ppt_第2页
项目7订单管理-1基本概念.ppt_第3页
项目7订单管理-1基本概念.ppt_第4页
项目7订单管理-1基本概念.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVAWEB应用开发 项目七订单管理 application 工作任务 任务一熟悉应用对象任务1 1application对象任务1 2pageContext对象任务1 3过滤器任务二订单生成任务三订单处理任务四订单查询 2 项目目标 任务一 支撑知识理解application对象的应用熟悉pageContext对象的使用熟悉Servlet过滤器的使用任务二 项目实战 订单管理订单生成订单处理订单查询 一 application对象 application对象负责提供应用程序在服务器中运行时的一些全局信息application作用域就是服务器启动到关闭的整段时间 在这个作用域内设置的信息可以被所有应用程序使用 与session对象不同 session对象是每个客户访问时就会一次生成的 客户之间的会话是互相独立的 所有的客户的application对象都是同一个 2020 4 1 4 application对象方法 ObjectgetAttribute Stringname 得到name指定的属性值 voidsetAttribute Stringname 设置name指定的属性值 getInitParameter Stringname 得到由name指定的某个属性的初始值 RequestDispatchergetRequestDispatcher Stringuripath 返回指定资源的RequestDispatcher对象StringgetServletInfo 获取服务器的相关信息longgetRealPath 获取与虚拟路径相对应的实际路径StringgetInitParameter Stringname 获取name指定的初始化值 2020 4 1 5 计数器实例 网页计数器您是第位访问者 2020 4 1 6 application与session比较 来源session来自javax servlet http httpSession接口application来自javax servlet servletContext接口存储的数据session存储的是不同用户的个别数据application存储的是不同用户之间共享的数据生存周期session从客户第一次访问服务器到关闭浏览器为止application从服务器启动 到服务器关闭为止 二 pageContext对象 pageContext是页面上下文对象 被封装成pageContext接口 管理对属于JSP特殊可见部分已命名对象的方法 pageContext对象提供了对JSP页面内所有的对象及名字空间的访问 也就是说他可以访问到本页所在的session 也可以取本页面所在的application的某一属性值 他相当于页面中所有功能的集大成者pageContext的创建和初始化都是由容器来完成的 JSP页面中可直接使用 2020 4 1 8 pageContext对象方法 forward StringrelativeURL 把页面重定向到其他页面 getAttribute Stringname intscope 根据名字name得到其属性值 getException 得到当前的exception对象 getRequest 得到当前的request对象 getResponse 得到当前的response对象 getServletConfig 得到当前页面的servletConfig对象 getServletContext 得到ServletContext对象 是所有页面共享的 getSession 得到页面的session对象 对应一次会话 同session findAttribute Stringname 查找名字为name的属性 范围依次为页面 请求 会话 应用程序 setAttribute Stringname intscope 在指定的范围里设置一个属性的值 2020 4 1 9 pageContext对象 例1request设定的值 session设定的值 application设定的值 范围1内的值 范围2内的值 范围3内的值 范围4内的值 pageContext修改后的session设定的值 pageContext修改后的application设定的值 值的查找 属性name的范围 三 Servlet过滤器 Servelt过滤器是可插入的一种Web组件 对经过过滤器的请求和响应数据进行处理 实现Web应用中的一些非功能性需求 如 日志记录 提高性能 安全处理 会话处理和XSLT转换等 过滤器处在客户端与所请求的资源 servlet或JSP 之间 过滤器不能独立执行 总要依附在所请求的资源上才能执行 2020 4 1 11 Servlet过滤器过滤过程 2020 4 1 12 Servlet过滤器特性 Servlet过滤器有以下特性 Servlet过滤器将对应用程序处理的逻辑封装到某个类文件中 提供了可以容易从请求 响应链中添加或删除的模块化单元 Servlet过滤器调用是动态的 过滤器在运行时由Servlet容器调用来拦截和处理请求和响应 Servlet过滤器是通过XML文档声明配置的 也就是Web部署描述符 web xml Servlet过滤器是可重用的 过滤器可附加到一个或多个Servlet或JSP页面上 并且可以跨越不同的项目和应用程序使用 2020 4 1 13 Servlet过滤器体系结构 过滤器API包含3个接口 分别是Filter FilterConfig FilterChain 它们在javax servlet包中 过滤器类要先实现Filter接口 然后使用这个过滤器类中的FilterChain和FilterConfig接口 该过滤器的一个引用将传递给FilterChain对象 允许过滤器把控制权传递给过滤链中的下一个资源 FilterConfig对象将由容器提供给过滤器 以允许访问该过滤器的初始化数据 2020 4 1 14 Filter接口 所有的过滤器必须实现javax servlet Filter接口 这个接口包含三个方法 分别是 init doFilter和destroy publicvoidinit FilterConfigconfig throwsServletException这是过滤器的初始化方法 在过滤器第一次初始化时执行Servlet容器创建Servlet过滤器实例后将调用这个方法在这个方法中可以读取web xml文件中Servlet过滤器的初始化参数 2020 4 1 15 Filter接口 doFilter方法完成实际的过滤操作 每当调用一个过滤器 即每次请求与此过滤器相关的Servlet或JSP页面 时 就执行其doFilter 方法 publicvoiddoFilter ServletRequestrequest ServletResponseresponse FilterChainchain throwsServletException IOException第一个参数是大多数过滤逻辑处理的对象 提供了请求信息 若要处理HTTP请求 需要转换为HttpServletRequest第二个参数表示响应对象第三个参数激活与Servlet或JSP相关的下一个过滤器 若没有另一个相关的过滤器 则激活Servlet或JSP本身 Filter接口 destroy 方法在销毁过滤器时使用 publicvoiddestroy Servlet容器在销毁过滤器实例时调用此方法 用以释放Servlet过滤器占用的资源 FilterConfig接口 FilterConfig接口类似于ServletConfig接口 用于在过滤器初始化时 向其传递信息 FilterConfig接口有容器实现 容器将其作为参数传入过滤器对象的init 方法中 在FilterConfig接口 定义了4个方法 1 publicStringgetFilterName 得到描述符中指定的过滤器的名字 2 publicStringgetInitParameter java lang Stringname 返回在部署描述中指定的名字为name的初始化参数的值 如果不存在返回null 3 publicEnumerationgetInitParameterNames 返回过滤器的所有初始化参数的名字的枚举集合 4 publicServletContextgetServletContext 返回Servlet上下文对象的引用 2020 4 1 18 FilterChain接口 FilterChain接口由容器实现 容器将其实例作为参数传入过滤器对象的doFilter 方法中 过滤器对象使用FilterChain对象调用过滤器链中的下一个过滤器 FilterChain接口只有一个方法 publicvoiddoFilter ServletRequestrequest ServletResponseresponse throwsjava io IOException调用该方法将使过滤器链中的下一个过滤器被调用 如果是最后一个过滤器 会调用目标资源 2020 4 1 19 Servlet过滤器步骤 建立一个过滤器有以下几个步骤 首先创建一个Java类 实现Filter接口 在doFilter 方法中实现过滤逻辑 调用FilterChain对象 激活下一个相关的过滤器 或Servlet JSP页面 在web xml中注册过滤器 2020 4 1 20 Servlet过滤器步骤 1 创建Java类publicclassMyFilterimplementsFilter publicvoiddestroy TODOAuto generatedmethodstub publicvoiddoFilter ServletRequestrequest ServletResponseresponse FilterChainchain throwsIOException ServletException TODOAuto generatedmethodstub publicvoidinit FilterConfigarg0 throwsServletException TODOAuto generatedmethodstub Servlet过滤器步骤 2 实现过滤逻辑publicvoiddoFilter ServletRequestrequest ServletResponseresponse FilterChainchain throwsIOException ServletException 过滤逻辑处理HttpServletRequestrequest 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 2020 4 1 24 Servlet过滤器配置 filter元素filter元素放置在filter mapping Servlet或Servlet mapping元素之前 filter元素包含的子元素主要有 filter name 定义过滤器的名称display name 定义使用过滤器的简短名称description 对过滤器的描述filter class 指定过滤器实现类的完整限定类名init param 过滤器的初始化参数 2020 4 1 25 Filter配置 处理编码的FilterEncodingFilterEncodingFilterEncodingFilter页面请求的编码值encodingGB18030 2020 4 1 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 指定过滤器对应的请求方式 2020 4 1 27 Filter mapping配置示例 EncodingFilter index jspREQUESTFORWARD 2020 4 1 28 过滤器实例 Filter类 packagecom my filter importjava io importjavax servlet importjavax servlet http importjava util ForDateclasspublicclassFirstFilterimplementsFilter publicvoiddoFilter ServletRequestrequest ServletResponseresponse FilterChainchain throwsServletException IOException HttpServletRequestreq HttpServletRequest request System out println req getRemoteHost triedtoaccess req getRequestURL on newDate chain doFilter request response publicvoidinit FilterConfigconfig throwsServletException publicvoiddestroy 2020 4 1 29 过滤器实例 Web xml FirstFiltercom my filter FirstFilterFirstFilter 2020 4 1 30 常用过滤器实例 四 订单管理 项目分析 订单管理用户选中图书后 可以选择到收银台结账 用户在结账前必须先登录登录后用户填写订单信息填写完成后生成订单列表用户可以查看订单信息管理员登录后可以查看订单信息 管理可以处理订单信息 2020 4 1 31 订单生成 2020 4 1 32 订单管理 2020 4 1 33 项目实施 生成订单 2020 4 1 34 数据关系分析 2020 4 1 35 数据关系分析 图书表book 存放的是图书的基本信息 用户表userinfo 存放的是用户登录的基本信息收货人地址表 consigneeAddress 存放的是收货人的基本信息订单表orders 存放的是订单的基础信息订单商品表orderLine 存放的是订单商品的详细信息表之间的关系 Orders表中userid addressid分别是userinfo consigneeAddress的主键 orderid是orderLine表的外键 OrderLine表中bookid是book表中的主键 2020 4 1 36 订单处理过程分析 用户点击结算中心 进入生成订单流程 用户登录 如果是非注册用户 需要注册 登录后 用户需要输入收货人信息 如果是第一次购物 则需要输入完整的用户信息 如果不是第一次购物 则重数据库中读出最近一次的用户信息 根据订单的时间判断 选择送货方式 选择支付方式 生成订单 2020 4 1 37 1 订单生成设计 设计一个JavaBean查询最近一次的收货人地址 如果取到值 也就是ConsingneeAddress对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论