`

Java Web快速入门——第9讲

阅读更多

1、在JSP中如何存储信息

    前面介绍过的:在数据库中存储信息;在request对象中存储信息。
    分为两类:内存 和 持久存储
    内存中如何组织数据:
    pageContext对象,存储当前页面的信息;请求涉及多少个文件,就会创建多少个pageContext对象。
    request对象,一次请求会创建一个request对象,如果希望在同一次请求的多个文件之间共享信息,可以保存在request中。
    session对象,每个客户端对应一个session,session中用于存储在用户的整个访问过程中要使用的信息。最典型的应用把用户的登录信息保存在session中,这样在后续的页面中使用登录信息。
    application对象,整个网站对应这样一个对象,访问网站的所有用户在访问所有网页的时候都可以使用。典型的应用是公有的聊天室,聊天信息所有人都可以看到,这时候就应该使用application对象。

    持久存储:
    数据库,通过JDBC访问。
    文件,通过IO进行操作。
    Cookie,信息存储在客户端。如果使用数据库和文件,信息都存在服务器端。

2、网上购物车的基本功能
  
   浏览图书信息;
   把图书添加到购物车中;
   对购物车中的物品进行管理;
   查看购物车的信息;
   生成订单。

3、如何保存在购物过程中选择的物品?

   关心购物车中有哪些类型的物品,每种类型的物品有多少。物品的种类数量不确定。每次请求只能选择某一种物品。根据这些特点,应该设计购物车的存储结构如下:

   1)需要把购物车放到session中,这样才能进行多个页面之间的共享;
   2)因为物品种类不确定,所以一般选择ArrayList来存储物品种类以及数量;
   3)对于每一种物品,包含物品本身的信息以及物品的购买数量,通常使用订单项来表示,里面包含了物品对象及其数量。

4、完成向购物车中添加图书的功能

   V部分:输入,是选择物品向购物车添加的界面,使用物品信息查看界面;
          输出,显示购物车信息的页面。
   M部分:把选择的物品添加到购物车中,需要知道原来购物车中有什么信息,购物车在session中保存,所以需要对session进行操作。
   C部分:第一句话,获取信息,从输入界面获取要添加的图书,从session中获取原有的购物车信息。
          第二句话,调用M部分的添加购物车功能。
          第三句话,保存信息,把修改后的购物车重新写入session中。
          第四句话,转向显示购物车信息的页面。
5、构建订单项类
package bean;

// 表示购物项
public class Item{
   private BookBean book;
   private int quantity;
   public void setBook(BookBean book){
      this.book = book;
   }
   public BookBean getBook(){
      return book;
   }

   public void setQuantity(int quantity){
      this.quantity = quantity;
   }
   public int getQuantity(){
      return quantity;
   }
}

6、输入界面
  
   在books.jsp中的图书列表后增加“添加到购物车”这样的超链接。
7、删除功能、修改购物车信息
   界面:
   删除的代码:
   <form action="deleteItem" method="post">
      <input type="hidden" name="bookid" value="${item.book.bookid}">
      <input type="submit" value="删除">
   </form>
   修改的:
   <form action="updateCart" method="post">
      <input type="text" name="quantity" value="${item.quantity}">
      <input type="hidden" name="bookid" value="${item.book.bookid}">
      <input type="submit" value="修改">
   </form>

   M部分:
   从ArrayList对象cart中删除Item对象item:cart.remove(item)   cart.remove(i)
   修改功能:在添加过程中如果要添加的图书已经存在,就相当于修改。

   C部分:与添加功能中的代码非常类似

分享到:
评论

相关推荐

    JSP快速入门教程——全十讲

    **第九讲:JSP与Servlet协同工作** 虽然JSP主要用于视图展示,但与Servlet结合使用能实现更复杂的业务逻辑。本讲将探讨两者的协同机制和应用场景。 **第十讲:JSP应用实例** 通过一个实际的Web项目,本讲将演示如何...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    第9章 庖丁解牛 ——揭密Struts2高级技术 9.1 本章学习任务 9.1.1 本章知识体系 9.1.2 实例开发任务 9.2 OGNL表达式语言 9.2.1 认识OGNL 9.2.2 Struts2框架中的OGNL 9.2.3 操作普通的属性与方法 9.2.4 访问静态方法...

    Java Web基础入门第七十九讲 Filter(过滤器)——Filter(过滤器)常见应用(三):权限管理系统(下)-附件资源

    Java Web基础入门第七十九讲 Filter(过滤器)——Filter(过滤器)常见应用(三):权限管理系统(下)-附件资源

    深入体验Java Web开发内幕

    8.6 JSP标签  8.7 JSP的中文乱码问题  8.8 思考与实践 第9章 JavaBean在JSP中的应用  9.1 JavaBean简介  9.2 JavaBean的属性  9.3 JavaBean在JSP中的应用  9.4 JSP开发模式  9.5 ...

    Java Web入门经典第九章源代码

    第9章 页面控制利器——JSTL标签库 186 ?视频讲解:85分钟9.1 JSTL标签库简介 186 9.2 JSTL的下载与配置 187 9.2.1 下载JSTL标签库 188 9.2.2 配置JSTL 188 9.3 表达式标签 190 9.3.1 输出标签 190 9.3.2 ...

    《java web编程宝典-十年典藏版》 源码

    《Java Web编程宝典——十年典藏版》是一本深入探讨Java Web开发的权威书籍,其源码提供了丰富的实例,帮助读者深入理解并实践相关技术。这本书覆盖了从基础到高级的Java Web开发各个方面,包括Servlet、JSP、Java...

    云应用开发 ——Google App Engine & Google Web Toolkit入门指南

    ### 云应用开发 ——Google App Engine & Google Web Toolkit入门指南 #### 第1章 应该了解下 ##### 1.1 云基本知识 云计算是一种通过互联网提供按需计算资源和服务的方式,包括网络、服务器、存储、应用程序和...

    JAVA入门教程21天学通JAVA2第三版

    ### JAVA入门教程21天学通JAVA2第三版——关键知识点解析 #### 一、JAVA入门书籍推荐 - **《Java语言》**:适合初学者,全面覆盖Java基础语法及面向对象的基本概念。 - **《Thinking in Java》**:虽然内容深入且...

    Java基础入门教程

    还会介绍如何编写并运行第一个Java程序——经典的"Hello, World!"示例。 3. **JAVA基本程序实践**:在理论知识的基础上,这部分将深入到实际编程中,涵盖类和对象的概念,这是面向对象编程的基础。学习者会了解如何...

    从零开始——Java基础培训教程

    9. **Web开发相关技术**:标签中的Eclipse、JSP和Struts是Java Web开发中的常用工具和框架。Eclipse是流行的Java IDE,JSP(Java Server Pages)用于生成动态网页,而Struts是一个MVC(模型-视图-控制器)框架,简化...

    java+web开发教程

    在“Java Web开发教程——入门与提高篇(JSP+Servlet)”这个教程中,你将系统学习这些知识点,逐步掌握如何使用Java进行Web开发,建立起从零到一的实战能力。无论是对HTTP协议的理解,还是对Java Web组件的运用,都...

    [Java程序设计入门教程].(.杜邦杰).(扫描版)

    **:介绍第一个Java程序——打印“Hello, World!”,这是所有编程语言的入门起点,用于熟悉基本的代码结构和编译执行流程。 4. **语法基础**: - **数据类型**:包括基本数据类型(如整型、浮点型、字符型和布尔型...

    Java The Complete Reference 9th

    Java自发布以来,已经经历了多个版本的迭代,目前最新的稳定版为Java 14,但本文档提及的《Java The Complete Reference 9th》涉及的Java版本是第九版对应的Java技术标准。 提到的《Java The Complete Reference 9...

    【java框架】SpringBoot2(1) -- SpringBoot2入门及基础配置(csdn)————程序..pdf

    - **第三方类库支持**:随着JDK版本的提升,SpringBoot2.x也更新了对第三方库的支持,确保与最新的技术栈兼容。 - **响应式编程支持**:SpringBoot2.x引入了对响应式编程的支持,这使得开发异步非阻塞的应用成为...

    Eclipse+Web开发从入门到精通(实例版)

    第4 章 在 Eclipse 中进行资源构建 ——Ant 使用实例... 60 4.1 Ant 简介... 60 4.1.1 构造文件的主要标记... 60 4.1.2 Ant 的常用任务(Task)... 62 4.2 Eclipse 与Ant 的集成... 64 4.2.1 创建Ant...

    java学习资料

    "第9章Applet基础.ppt"涉及到Java的小程序——Applet,它们可以在网页上运行,提供了一种交互式的Web体验。虽然现代Web开发中Applet的使用已不如以前普遍,但理解其工作原理有助于对Java的历史和Web应用的发展有更...

    Java se 教学PPT

    第九章:图形用户界面GUI 通过Swing或JavaFX库,学习如何创建窗口、按钮、文本框等组件,以及事件监听和布局管理。 第十章:网络编程 讲解了Socket编程,包括TCP和UDP协议,以及ServerSocket和Socket类的使用,实现...

    第一行代码Java源代码第8章课程代码Java新特性共

    【标签】"第一行代码Java源代码第8章【"这部分信息可能是指这个压缩包是《第一行代码——Java》这本书第8章的源代码,这本书由郭霖编写,是初学者入门Java的常见参考书,书中通过实际例子来教授Java编程。...

Global site tag (gtag.js) - Google Analytics