当前位置: 首页 > news >正文

Servlet/Jsp实现购物车

(1)用servlet实现简单的购物车系统,项目结构如下:(新建web Project项目  只需要AddItemServlet , ListItemServlet,exam403.jsp三个文件即可,其他的不用管)


(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之过滤器Filter详解
  • select into from和insert into select from两种表复制语句区别
  • SendRedirect和forward的区别
  • Vim常用操作和快捷键技巧总结
  • 用JDBC编程的运行时错误及其解决大全
  • Myeclipse10.7连接SQL Server数据库技术
  • C++构造函数虚函数例题
  • Servlet过滤字符串的HTML特殊字符
  • PHP中print_r、var_export、var_dump区别
  • Jsp/Servlet根据请求参数自动填充Java对象:表单Bean
  • ORACLE 如何定位消耗资源的SQL
  • Servlet/Jsp实现当参数确实或缺失重新显示输入表单
  • Servlet/Jsp实现发送压缩Web页面 Gzip技术
  • Java内存区域与内存溢出
  • 如何删除鼠标右键菜单里的打开按钮
  • Android框架之Volley
  • MySQL几个简单SQL的优化
  • PHP的类修饰符与访问修饰符
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Python爬虫--- 1.3 BS4库的解析器
  • redis学习笔记(三):列表、集合、有序集合
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 对话:中国为什么有前途/ 写给中国的经济学
  • - 概述 - 《设计模式(极简c++版)》
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 开源SQL-on-Hadoop系统一览
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • ###C语言程序设计-----C语言学习(6)#
  • #大学#套接字
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • ${ }的特别功能
  • %@ page import=%的用法
  • (3)llvm ir转换过程
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (一)Java算法:二分查找
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • ./configure,make,make install的作用(转)
  • .dwp和.webpart的区别
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .net知识和学习方法系列(二十一)CLR-枚举
  • [BZOJ 3282] Tree 【LCT】
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试
  • [DNS网络] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [jquery]this触发自身click事件,当前控件向上滑出
  • [Latex学习笔记]数学公式基本命令
  • [LeetCode系列]3元素最近和问题的O(n^2)解法
  • [lintcode easy]Maximum Subarray
  • [Linux]如何理解kernel、shell、bash
  • [ndss 2023]确保联邦敏感主题分类免受中毒攻击
  • [pluginviteimport-analysis] vite 提示jsx语法报错
  • [POI2009]WIE-Hexer