最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Web開發(fā)之基于Session的購物商店實現(xiàn)方法

 更新時間:2015年10月19日 14:49:49   作者:煙大洋仔  
這篇文章主要介紹了Java Web開發(fā)之基于Session的購物商店實現(xiàn)方法,涉及Java針對session的操作及數(shù)據庫操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Java Web開發(fā)之基于Session的購物商店實現(xiàn)方法。分享給大家供大家參考,具體如下:

package cn.com.shopping;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
//完成購買
public class BuyServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String id=request.getParameter("id");
    Book book=(Book)Db.getAll().get(id);
    //再加上那個關閉Cookie時session的剞劂方案
    //阻止session的時候解決方案
    HttpSession session=request.getSession(false);
    //從session中得到用戶的保存所有書的集合(購物車)
    List list=(List)session.getAttribute("list");
    if(list==null)
    {
      list=new ArrayList();
      session.setAttribute("list", list);
    }
    list.add(book);
    String url=response.encodeRedirectURL("/Session/SessionCountDemo");
    response.sendRedirect(url);
  }
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request,response);
  }
}
package cn.com.shopping;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
//顯示書
public class ListBookServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out=response.getWriter();
    HttpSession session=request.getSession();
    out.print("本店有如下的商品:<br/>");
    Map<String ,Book > map=Db.getAll();
    for(Map.Entry<String, Book> entry:map.entrySet())
    {
      Book book=entry.getValue();
      String url=response.encodeURL("/Session/BuyServlet?id="+book.getId());
      out.print(book.getName()+"<a href='"+url+"' target='_blank' >購買</a><br/>");
    }
  }
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request,response);
  }
}
//Db作為數(shù)據庫
class Db
{
  private static Map<String ,Book> map=new LinkedHashMap();
  static
  {
    map.put("1", new Book("1","Java WEB開發(fā)","WY","好書"));
    map.put("2", new Book("2","WEB開發(fā)","zt","一般"));
    map.put("3", new Book("3","程序設計","df","較好書"));
    map.put("4", new Book("4","計算機組成","as","一般好書"));
    map.put("5", new Book("5","編譯原理","ty","很好書"));
    map.put("6", new Book("6","網絡維護","hj","非常好書"));
  }
  public static Map getAll()
  {
    return map;
  }
}
//書
class Book
{
  private String id;
  private String name;
  private String author;
  private String description;
  public Book() {
    super();
    // TODO Auto-generated constructor stub
  }
  public Book(String id, String name, String author, String description) {
    super();
    this.id = id;
    this.name = name;
    this.author = author;
    this.description = description;
  }
  public String getId() {
    return id;
  }
  public void setId(String id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getAuthor() {
    return author;
  }
  public void setAuthor(String author) {
    this.author = author;
  }
  public String getDescription() {
    return description;
  }
  public void setDescription(String description) {
    this.description = description;
  }
}
package cn.com.shopping;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class SessionCountDemo extends HttpServlet {
  private static final long serialVersionUID = 1L;
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out=response.getWriter();
    HttpSession session=request.getSession();
    if(session==null)
    {
      out.write("您沒買任何的商品!");
      return;
    }
    out.write("您購買了如下的商品:");
    List<Book> list=(List) session.getAttribute("list");
    for(Book book:list)
    {
      out.write(book.getName());
    }
  }
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request,response);
  }
}

希望本文所述對大家Java web程序設計有所幫助。

相關文章

  • @Async異步線程池以及線程的命名方式

    @Async異步線程池以及線程的命名方式

    這篇文章主要介紹了@Async異步線程池以及線程的命名方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java編程異常簡單代碼示例

    Java編程異常簡單代碼示例

    這篇文章主要介紹了Java編程異常簡單代碼示例,還是比較不錯的,這里分享個大家,需要的朋友可以參考下。
    2017-11-11
  • java微信企業(yè)號開發(fā)之通訊錄

    java微信企業(yè)號開發(fā)之通訊錄

    這篇文章主要為大家詳細介紹了java微信企業(yè)號開發(fā)之通訊錄的相關資料,感興趣的小伙伴們可以參考一下
    2016-06-06
  • springboot整合nacos的入門Demo及Nacos安裝部署

    springboot整合nacos的入門Demo及Nacos安裝部署

    Nacos?提供了一組簡單易用的特性集,幫助您快速實現(xiàn)動態(tài)服務發(fā)現(xiàn)、服務配置、服務元數(shù)據及流量管理,Nacos?致力于幫助您發(fā)現(xiàn)、配置和管理微服務,這篇文章主要介紹了springboot整合nacos的入門Demo,需要的朋友可以參考下
    2024-01-01
  • Spring RedisTemplate優(yōu)化連接Redis數(shù)據庫詳解

    Spring RedisTemplate優(yōu)化連接Redis數(shù)據庫詳解

    這篇文章主要介紹了Spring RedisTemplate優(yōu)化連接Redis數(shù)據庫,RedisTemplate是Spring Data Redis中的核心組件之一,它提供了對Redis數(shù)據庫的訪問功能,對于高性能的Redis操作,合理的優(yōu)化RedisTemplate的使用非常重要
    2025-02-02
  • java 排序算法之冒泡排序

    java 排序算法之冒泡排序

    這篇文章主要介紹了java 排序算法之冒泡排序,文中運用大量的代碼講解相關知識,非常詳細,感興趣的小伙伴可以參考一下
    2021-09-09
  • Java責任鏈設計模式實例分析

    Java責任鏈設計模式實例分析

    這篇文章主要介紹了Java責任鏈設計模式,結合實例形式詳細分析了Java責任鏈設計模式的原理與相關操作技巧,需要的朋友可以參考下
    2019-07-07
  • Java使用pulsar-flink-connector讀取pulsar catalog元數(shù)據代碼剖析

    Java使用pulsar-flink-connector讀取pulsar catalog元數(shù)據代碼剖析

    這篇文章主要介紹了Java使用pulsar-flink-connector讀取pulsar catalog元數(shù)據代碼剖析,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • SpringCloud:feign對象傳參和普通傳參及遇到的坑解決

    SpringCloud:feign對象傳參和普通傳參及遇到的坑解決

    這篇文章主要介紹了SpringCloud:feign對象傳參和普通傳參及遇到的坑解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 基于 SpringBoot 實現(xiàn) MySQL 讀寫分離的問題

    基于 SpringBoot 實現(xiàn) MySQL 讀寫分離的問題

    這篇文章主要介紹了基于 SpringBoot 實現(xiàn) MySQL 讀寫分離的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02

最新評論

河南省| 布尔津县| 湘潭市| 汉川市| 仁化县| 从江县| 吐鲁番市| 黎平县| 都安| 峨山| 神木县| 博客| 崇明县| 余江县| 齐齐哈尔市| 古浪县| 永嘉县| 塘沽区| 西宁市| 封丘县| 兰坪| 南安市| 大邑县| 兴山县| 磴口县| 鸡泽县| 泌阳县| 永仁县| 横峰县| 石屏县| 张家口市| 泽普县| 图木舒克市| 图木舒克市| 延庆县| 正阳县| 绥化市| 达尔| 虹口区| 安义县| 绥滨县|