java 写一个商店_Java Web开发之基于Session的购物商店实现方法
本文实例讲述了Java Web开发之基于Session的购物商店实现方法。分享给大家供大家参考,具体如下:
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("本店有如下的商品:
");
Map map=Db.getAll();
for(Map.Entry entry:map.entrySet())
{
Book book=entry.getValue();
String url=response.encodeURL("/Session/BuyServlet?id="+book.getId());
out.print(book.getName()+"购买
");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
//Db作为数据库
class Db
{
private static Map 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 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程序设计有所帮助。
java 写一个商店_Java Web开发之基于Session的购物商店实现方法相关推荐
- java和Mysql数据一致性_java web开发中数据一致性的问题
在java web开发中,数据存储介质有如下几种数据库(rdms,nosql) 缓存系统(redis,memcached,ehcache) java内部数据结构(map,list) 文件存储(fast ...
- java启动mysq服务_Java Web开发——MySQL数据库的安装与配置
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...
- java 写一个计算器_java编写一个计算器类
展开全部 import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.aw ...
- java dispatcher详解_Java Web开发详解:RequestDispatcher接口
12.6.1 RequestDispatcher接口 RequestDispatcher 对象由 Servlet 容器创建,用于封装一个由路径所标识的服务器资源.利用RequestDispatche ...
- java中有地址吗_java web开发中各类地址的写法
这个其实有三个原则: 1.如果这个地址是给服务器用的,该地址的起点就是从该web应用开始写. 2.如果这个地址是给浏览器用的,该地址的起点就是从该网站开始写. 3.所有的地址都以"/&quo ...
- java开发简介_Java Web开发介绍
转自:http://www.cnblogs.com/pythontesting/p/4963021.html 简介 Java很好地支持web开发,在桌面上Eclipse RCP谈不上成功,JAVA是主 ...
- java osgi web开发_基于 OSGi 和 Spring 开发 Web 应用
开发一个简单的OSGi Web应用实例 一个简单的Web应用 我们写一个简单的 Web 应用 compute.html :计算两个数字的和或乘积.如下图所示: 图1.一个简单例子 一个简单例子.bmp ...
- 手把手教你写网站:Python WEB开发技术实战
摘要:本文详细介绍了Python WEB开发的基础入门.以一个博客站点的开发为例讲解了基于Django框架开发WEB站点的全过程.通过本文的学习可以快速掌握基于Django的Python WEB的开发 ...
- 如何用Java写一个斗地主(一)
如何用Java写一个斗地主(一) 序言 正文 创建卡牌 打乱牌序 发牌 课后吐槽 序言 作为一名大三的普普通通大学生,被实习老师(?)强迫下,第一次开始写CSDN的博客,如果写的不好,请多多包涵咯. ...
最新文章
- 使用面向 iOS 的本机插件扩展 PhoneGap
- Go语言 goroutine
- 美媒看衰马斯克超级高铁:纽约到华盛顿挖隧道要挖100年
- oracle sql比较时间大小,Oracle数据库中日期时间的操作比较和加减
- jmeter connection reset解决方法
- 国内淘宝镜像 cnpm转npm
- 行、重复-SAP HANA 集合操作 UNION/Union all/INTERSECT/EXCEPT (SAP HANA Set Operations)-by小雨...
- 客户端级别的渲染分析工具 dynaTrace
- java es sql groupby_使用 SQL 查询 ElasticSearch EsParser
- 翁恺老师C语言学习笔记(十)指针_指针的使用
- Palo Alto Networks 支持仪表盘漏洞泄露数千份客户支持工单
- Linux下常用网络配置命令
- T61 拆机4短报警 续
- u深度重装系统详细教程_U深度U盘安装原版win7系统的图文教程
- 联想7400打印机如何与手机连到一起_2020年打印机推荐选购,看这篇就够了
- 23种设计模式JAVA案例
- 【操作系统 · 磁盘】磁盘调度
- c语言中y=0x20什么意思,0x20(十六进制0x20等于多少)
- vue2理论学习(全套教程,包含vuex、路由等)
- mysql连接字符串配置_配置数据库连接字符串ConnectionString