Servlet/Jsp实现购物车
(1)用servlet实现简单的购物车系统,项目结构例如以下:(新建web Project项目 仅仅须要AddItemServlet , ListItemServlet。exam403.jsp三个文件就可以。其它的不用管)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGxnZW4xNTczODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(2)exam403.jsp代码例如以下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head> <body>
<form id="form1" name="form1" method="post" action="/servletProject/addItem">
<label></label>
商品:
<select name="itemID" id="itemID">
<option value="洗衣粉">洗衣粉</option>
<option value="香皂">香皂</option>
<option value="食用油">食用油</option>
</select>
<p>数量:
<label>
<input name="quantity" type="text" id="quantity" value="1" />
</label>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
<a href="/servletProject/listItem">查看购物车</a></p>
</form>
</body>
</html>
(3)AddItemServlet代码例如以下:
package com.lc.shoppingCar; import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class AddItemServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,java.io.IOException
{
ServletContext application=getServletContext() ;
ServletConfig config=getServletConfig() ;
response.setContentType("text/html;charset=gb2312");
PrintWriter out=response.getWriter();
HttpSession session =request.getSession();
request.setCharacterEncoding("gb2312"); //读取表单传入的商品ID及数量
String id=request.getParameter("itemID");
String num=request.getParameter("quantity");
if(id!=null && num.length()!=0)
{ //从Sessionn中读取购物车
HashMap shoppingCar=(HashMap)session.getAttribute("shoppingCar");
if(shoppingCar==null)
shoppingCar=new HashMap();
//将商品加入到购物车中
String onum=(String)shoppingCar.get(id);
if(onum==null)
shoppingCar.put(id,num);
else
{
int n1=Integer.parseInt(num);
int n2=Integer.parseInt(onum);
String result=String.valueOf(n1+n2);
shoppingCar.put(id,result);
}
//将购物车写回session中保存
session.setAttribute("shoppingCar",shoppingCar);
}
else //假设传入的商品ID号为空或数量为空。显示提示信息
System.out.print("商品ID号为空会或数量为空!");
//返回商品列表页
response.sendRedirect("/servletProject/exam403.jsp");
} protected void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,java.io.IOException
{
doGet(request,response);
}
}
(4)ListItemServlet代码例如以下:
package com.lc.shoppingCar; import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class ListItemServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,java.io.IOException
{
ServletContext application=getServletContext() ;
ServletConfig config=getServletConfig() ;
response.setContentType("text/html;charset=gb2312");
PrintWriter out=response.getWriter();
HttpSession session =request.getSession();
request.setCharacterEncoding("gb2312"); //从session中获取购物车
HashMap shoppingCar=(HashMap)session.getAttribute("shoppingCar");
//显示购物车中的内容
if(shoppingCar!=null)
{
Set show=shoppingCar.entrySet();
Iterator it=show.iterator();
while(it.hasNext())
{
out.print(it.next()+"<br>");
}
}
else
out.print("购物车为空。");
} protected void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,java.io.IOException
{
doGet(request,response);
}
}
(5)实现效果例如以下:
訪问:http://localhost:8080/servletProject/exam403.jsp 学则商品 提交
点击查看购物车:
OK!
简单的购物车 到此结束!
Servlet/Jsp实现购物车的更多相关文章
- Servlet&&Jsp 概述
主题 Servlet的作用 构建动态网页 Servlet代码初探 Servlet与其他技术的对比 Jsp的作用 Servlet的作用 Servlet是在web服务器或应用服务器上用来动态生成html的 ...
- 面试题:servlet jsp cook session 背1
一.Servlet是什么?JSP是什么?它们的联系与区别是什么? Servlet是Java编写的运行在Servlet容器的服务端程序,狭义的Servlet是指Servlet接口,广义的Servlet是 ...
- NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
今天调试SSM框架项目后台JSOn接口,报出来一个让人迷惑的错误:NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config 上网查了一下别人的博 ...
- MVC开发模式之Servlet+jsp+javaBean
Servlet+jsp+JavaBean组合开发是一种MVC开发模式,控制器Controller采用Servlet.模型Model采用JavaBean.视图View采用JSP. 1.Web开发的请求- ...
- springMVC: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
springMVC开发web的时候,报错:java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config 原因:未引入jstl ...
- Struts框架——(一)用Servlet + JSP演示Struts基本原理
一. 用Servlet + JSP演示Struts基本原理 struts是开源项目.它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC的应用框架.Stru ...
- Javabean+servlet+JSP(html)实例应用
大家都知道Javabean+servlet+JSP是最简单的MVC模式.的确,在一个小型的项目中,这个模式完全够用. 它优雅并且简洁.加上jQueryui的完美展示效果,让这个模式看起来非常合适.当然 ...
- 报错:严重: Servlet.service() for servlet [jsp] in context with path [/20161116-Struts2-6] threw exception [/index.jsp (line: 13, column: 20) No tag "textfiled" defined in tag library imported with prefix
严重: Servlet.service() for servlet [jsp] in context with path [/20161116-Struts2-6] threw exception [ ...
- servlet+jsp+java实现Web 应用
servlet+jsp+java实现Web 应用 用java来构建一个web应用是特别容易的事情,jsp和php很像,可以嵌套在html中.程序的结构很简单,也很清楚,本文主要记录下大概的开发过程和环 ...
随机推荐
- bzoj2200道路和航线
试题描述 Farmer John 正在一个新的销售区域对他的牛奶销售方案进行调查.他想把牛奶送到 T (1≤T≤2.5×10^4)个城镇 ,编号为 1 到 T.这些城镇之间通过 R 条道路(编号为 1 ...
- cordova安卓手机<a href="tel:xxx"></a>无法进入拨号界面问题
在使用cordova开发跨平台APP时,可能会用到点击某个按钮进入拨号界面的问题,HTML中的a标签提供了这个功能,但在部分安卓手机中却没有作用,点击没有反应,解决的方法如下:(在config.xml ...
- [转]基础总结篇之一:Activity生命周期
子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思 ...
- hdu 4119 Isabella's Message 模拟题
Isabella's Message Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...
- ext:grid分页,列宽度自动填满grid宽度
var cm = new Ext.grid.ColumnModel([{ header : '编号', dataIndex : 'id' }, { header ...
- <摘录>CentOS6.5下添加epel源
0.安装yum优先级插件 yum install yum-priorities 1.epel简介: https://fedoraproject.org/wiki/EPEL/zh-cn rpm -Uvh ...
- oracle定时任务(dbms_job)
author:skate time:2007-09-12 http://publish.it168.com/2006/0311/20060311017002.shtml 今天总结下Oracle的任务队 ...
- EventBus (二) 使用详解——EventBus使用进阶
相关文章: 1.<EventBus使用详解(一)——初步使用EventBus> 2.<EventBus使用详解(二)——EventBus使用进阶> 一.概述 前一篇给大家装简单 ...
- VS收集插件
有空再做细细解说,大部分童鞋应该都在用1.Achievements这个就是传说中的VS成就插件了,一边编程一边解锁成就 2.Spell Checker拼写检查插件,这个插件能够实时帮你检查注释或字符串 ...
- Java 模拟新浪登录 2016
想学习一下网络爬虫.涉及到模拟登录,查阅了一番资料以后发现大部分都有点过时了,就使用前辈们给的经验,Firefox抓包调试,採用httpclient模拟了一下新浪登录. 不正确之处多多包括.须要的能够 ...