您的位置:首页 > 其它

session实现简单的购物车

2012-11-06 11:58 417 查看
package com.hbsi.shopping;

import java.io.IOException;

import java.io.PrintWriter;

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 {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String id=request.getParameter("id");

Book book=(Book) Db.getAll().get(id);

HttpSession session=request.getSession(false);

List list=(List) session.getAttribute("list");

if (list==null) {

list=new ArrayList();

session.setAttribute("list", list);

}

list.add(book);

//request.getRequestDispatcher("/servlet/ListCartServlet").forward(request, response);

//response.encodeRedirectURL(url)

String url=response.encodeRedirectURL(request.getContextPath()+"/servlet/ListCartServlet");

response.sendRedirect(url);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

package com.hbsi.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;

public class ListBookServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

PrintWriter out =response.getWriter();

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/servlet/BuyServlet?id="+book.getId());

out.print(book.getName()+"<a href='"+url+"' target='_blank'>购买</a><br/>");

}

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

class Db{

private static Map<String,Book> map=new LinkedHashMap<String, Book>();

static{

map.put("1", new Book("1","javaweb开发","张三",39));

map.put("2", new Book("2","jdbc开发","李四",39));

map.put("3", new Book("3","spring开发","王五",39));

map.put("4", new Book("4","hibernate开发","赵六",39));

map.put("5", new Book("5","ajax开发","马七",39));

}

public static Map getAll(){

return map;

}

}

class Book{

private String id;

private String name;

private String author;

private double price;

public Book(){

super();

}

public Book(String id,String name,String author,double price){

super();

this.id=id;

this.name=name;

this.author=author;

this.price=price;

}

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 double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

}

package com.hbsi.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 ListCartServlet extends HttpServlet {

public 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(false);

if(session==null){

out.write("您没有购买商品!!");

return;

}

out.write("您购买了如下商品:<br/>");

List<Book> list=(List<Book>) session.getAttribute("list");

for(Book book:list){

out.write(book.getName()+"<br/>");

}

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: