Servlet/Jsp实现购物车

(1)用servlet实现简单的购物车系统,项目结构例如以下:(新建web Project项目  仅仅须要AddItemServlet , ListItemServlet。exam403.jsp三个文件就可以。其它的不用管)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGxnZW4xNTczODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

(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!

简单的购物车 到此结束!

时间: 2024-10-23 15:20:27

Servlet/Jsp实现购物车的相关文章

servlet&amp;jsp入门.....韩顺平笔记

u 背景知识介绍 J2EE的13种技术 java->servlet->jsp [技术总是有一个演变过程] zip粘贴到word设置 u 回顾一下我们现有的技术 java 基础(面向对象,集合,界面,线程,文件,网络) jdbc (java 的数据库编程) oracle / mysql / sqlserver html css javascript (web  开发)  ->网页设计 xml serlvet+jsp ->java web开发[使用java技术做 web开发] u ja

Servlet&amp;&amp;Jsp 概述

主题 Servlet的作用 构建动态网页 Servlet代码初探 Servlet与其他技术的对比 Jsp的作用 Servlet的作用 Servlet是在web服务器或应用服务器上用来动态生成html的java程序. 起到中间件的作用.将web浏览器或者http客户端与http服务器或者应用程序服务器连接起来.为什么需要它?因为有的应用程序服务器并不支持http,那么所有http客户端都将不能从中获取数据或执行操作,因此,servlet负责彼此交流的桥梁. (1)读取客户发送的显示数据 表单等中的

构建Apache Tomcat 6.0 Servlet/JSP 容器

构建Apache Tomcat 6.0 Servlet/JSP 容器 这个子项目包含了Tomcat 6.0的源代码,一个实现了Java Community Process http://www.jcp.org/ 的Servlet2.5和JSP2.1标准的容器. 注意:如果你只需要运行Tomcat,没有必要去构建它,你可以非常方便的下载一个二进制发布包.它是跨平台的.阅读RUNNING.txt文件,它介绍了怎样去运行它. 请按以下步骤来从源代码构建一个Tomcat的二进制发布版本: 下载并安装JD

Servlet.service() for Servlet jsp threw exception javax.servlet.ServletException:File &amp;quot;/pageFoo

1.错误描述 Servlet.service() for Servlet jsp threw exception javax.servlet.ServletException:File "/pageFoot.jsp "not found 2.错误原因 <jsp:include page="../../pageFoot.jsp"></jsp:include> 3.解决办法 利用<jsp:include></jsp:includ

Struts2、SpringMVC、Servlet(Jsp)性能对比 测试

Struts2.SpringMVC.Servlet(Jsp)性能对比 测试 . Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照它. 做为一个程序员,对于各个框架的性能要有一个基本的认知,便于选型时做出正确的决策. 在测试中发现了什么也不要大喊大叫,因为这些都是Java程序员的基础知识. 人人都要了解. ----------------------------------------------------------------------------------

javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

javax.servlet.jsp.JspException cannot be resolved

加入以下,解决 <properties> <jdk.version>1.6</jdk.version> <spring.version>3.2.8.RELEASE</spring.version> <spring.security.version>3.2.3.RELEASE</spring.security.version> <!-- Web --> <jsp.version>2.1</jsp

javax.servlet.jsp cannot be resolved to a type

把MyEclipse里的项目导入到Eclipse Luna版中后出现了个莫名其妙的错误,注:Eclipse Luna是新装的. 错误描述:jsp页面中引用的js报错,鼠标放上去以后提示:javax.servlet.jsp cannot be resolved to a type.图片为证: 类似以上底下有红色波浪线的错误,好多jsp页面都有,还各不相同. 解决办法: 点击菜单栏:Window→Preferences→Validation,在右侧找"JSP Syntax Validator&quo

javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat