【JSP开发】session模拟购物车小例子

利用session来模拟购物网站的购物车,这次没有用静态页面,全部用Servlet来模拟。
用户点击购买之后,就会将商品加入到购物车中(其实就是放入session中),等用户点

击结账的时候,就会将购物车中的信息全部给用户看。

欢迎界面,里面有"购买"、"结账"链接,点击购买,就会加入"洗衣机"这个商品。然后
点击"结账"就会看到你买的商品
WelcomeServlet:

package cn.edu.session;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class WelcomeServlet 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();
        //进主页的session会用到最后
        request.getSession();

        String url1=response.encodeURL("/day07/SessionDemo1");/*这个方法会自
动的在URL上面加上session的id号,这是防止用户禁用cookie(原因看我以前的文章)*/
        String url2=response.encodeURL("/day07/SessionDemo2");
        //效果:<a href='/day07/SessionDemo1;jsessionid=572FCD20D16825556EAAD9E8B1D3984D'>购买</a></br>
        //<a href='/day07/SessionDemo2;jsessionid=572FCD20D16825556EAAD9E8B1D3984D'>结账</a>

        out.write("<a href='"+url1+"'>购买</a></br>");
        out.write("<a href='"+url2+"'>结账</a>");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse 

response)
			throws ServletException, IOException {
		doGet(request,response);
	}

}

购买Servlet,会将购买的商品信息存入session
package cn.edu.session;
SessionDemo1:

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

//购买
public class SessionDemo1 extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse 

response)
			throws ServletException, IOException {
        HttpSession session=request.getSession();
        //request.getSession(false)只获取session,不出创建session(一般显示

购物车的时候会出现此代码)

        String sessionid=session.getId();//详见sessio的id
        Cookie cookie=new Cookie("JSESSIONID",sessionid);
        cookie.setPath("/day07");
        cookie.setMaxAge(30*60);
        response.addCookie(cookie);
        session.setAttribute("name", "洗衣机");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse 

response)
			throws ServletException, IOException {
		doGet(request,response);
	}

}

结账Servlet,会将session中存入的商品信息拿出来

SessionDemo2:

package cn.edu.session;

import java.io.IOException;
import java.io.PrintWriter;

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 SessionDemo2 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();
        String product=(String)session.getAttribute("name");
        out.write("您购买的商品是"+product);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse 

response)
			throws ServletException, IOException {
		doGet(request,response);
	}

}

模拟了购买一个商品进购物车的场景。后面还有一个模拟购物车的项目,是自选商品进购物车,比这更完善一些:http://blog.csdn.net/acmman/article/details/43451029

转载请注明出处:http://blog.csdn.net/acmman

时间: 2024-12-21 03:13:24

【JSP开发】session模拟购物车小例子的相关文章

【JSP开发】session模拟购物车小例子2

上一篇写模拟购物车不够详细,只写了买一个商品进购物车的场景,这次提供一个完整的模拟购物车的例子(可以选取多个商品进购物车) (上一篇的连接:http://blog.csdn.net/acmman/article/details/43450845) 购物车的主页,有商品列表,每一个商品后面都有一个"购买"按钮,用户点击商品的购 买按钮,就会将商品加入购物车(也就是将商品加入session中) ListBookServlet: package cn.edu.shoping; import

在JSP开发中模拟.NET WebForm

js|web     WebForm是事件驱动的,控件状态可以在http请求之间自动保持,并且使用后置代码很好地实现了页面外观与页面逻辑控制的分离,一改以往html,服务器段代码.javaScript混杂在一起的web开发方式.stucts提供了大量的定制标签,由tag.form.bean.action及配置文件构建了一个优秀的MVC模式的web开发方式.但相比较其WebForm来,窃以为stucts更为复杂,需要协同工作的元素较多,解决问题的效果不如WebForm显著(仅是个人看法). 在现实

为每个页面加上Session判断的小例子_实用技巧

首先新建一个类,继承自System.Web.UI.Page,然后重写OnInit,如下: 复制代码 代码如下: using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.We

【JSP开发】有关session的登录注销的一个小例子

下面是一个session的应用的小例子,是用来注销登录的 登陆界面的代码: login.html: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>login.html</title> <meta http-equiv="keywords" content="keywor

java jsp session-javaweb+jsp+session 实现购物车修改商品数量的问题

问题描述 javaweb+jsp+session 实现购物车修改商品数量的问题 如何把用户输入的数量值,传递到购物车数量中去?? 解决方案 可以把 传入的值用js取出来,再把js取出的值在该显示的地方调用就行 解决方案二: 用Js方法 firstChild.nodeValue 获取 输入框中的值 然后 还是js table.rows[i].cells[i].innerHTM L赋值给商品数量那一栏 ...不懂的就百度哈

netbeans6.5开发JSF+Hibernate的一个小例子(原创)

问题描述 只是一个简单的小例子,希望能对初学者有点帮助我也只是一个初学者,其中的错误还请大家指出http://www.cnblogs.com/halgogo/archive/2009/01/11/1373730.html 解决方案 解决方案二:加油解决方案三:我也是在初学,多多交流解决方案四:加油!

JSP开发工具的选择

js JSP引擎搭建起来后就可以着手使用开发工具进行JSP的编程了,现下流行的JSP开发工具主要有IBM VisualAge,JBuilder,NetBeans,JRun,Urledit,dreamweaver,editplus等,这里我们主要介绍IBM VisualAge,JBuilder, Jrun三种工具的一些基本情况,大家可以参照其各自的特点,结合自身开发环境进行开发工具的选择. IBM VisualAge for Java IBM的Web开发产品可谓同类之中的庞然大物:体积庞大,功能众

Servlets和JSP开发原则

js|servlet Servlet和JSP技术是用Java开发服务器端应用的主要技术,是开发商务应用表示端的标准.Java开发者喜欢使用它有多种原因,其一是对于已经熟悉Java语言的开发者来说这个技术容易学习:其二是Java把"一次编写,到处运行"的理念带入到Web应用中,实现了"一次编写,到处实现".而且更为重要的是,如果遵循一些良好的设计原则的话,就可以把表示和内容相分离,创造出高质量的.可以复用的.易于维护和修改的应用程序.比方说,在HTML文档中如果嵌入过

【JSP开发】利用cookie实现商品浏览记录

在主页中显示商品,点击商品可以查看商品的具体信息,带用户浏览完之后,回到主页,就会看到自己曾经浏览过什么商品. 商品主页Servlet CookieDemo3.java: package cn.edu.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.LinkedHashMap; import java.util.Map; import javax.servlet.ServletExc