- 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作为数据库
- class Db
- {
- private static Map<String ,Book> map=new LinkedHashMap();
- static
- {
- map.put("1", new Book("1","Java WEB开发","WY","好书"));
- map.put("2", new Book("2","WEB开发","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 Session购物商店小实例
最新推荐文章于 2024-04-14 13:44:28 发布