session简介:
作为JSP九大内置对象之一,session是拥有跨页面保持的功能,将session分配给用户,当用户访问网站时,不论在哪个页面,他使用的都是同一个session。在session中,有一个函数:
void session.setAttribute(String name,Object obj);
同过该函数可以将一个对象放入购物车中.
参数1.name用来给每一个物品起一个属性的名字(标记)2.obj就是加入购物车的内容(字符串、Object、集合、数据结构对象)
例如:
session.setAttribute(“book1”,“三国”);就是将一个“三国”放入session命名为“book1”。
用一个表单将书本放入购物车,并直接打印出来,如图:
当我输入“计算机网络”,点击添加时,下面购物车打印出新增的内容:
jsp代码:
<%@ page import="java.util.ArrayList" %><%--
Created by IntelliJ IDEA.
User: wangzeyi
Date: 2020/12/13
Time: 下午10:14
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" import="java.util.*" language="java" %>
<%@ page import="java.nio.charset.StandardCharsets" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="sessionLost.jsp" method="post">
请你输入书本:<input name="book" type="text">
<input type="submit" value="添加到购物车">
</form>
<hr>
<%
/*//向session中放置一个集合对象
ArrayList books = new ArrayList(); //每次都新建,只会覆盖原来的
//获得书名
String book = request.getParameter("book");
if(book!=null){
book = new String(book.getBytes("IOS-8859-1"));
//将book加进去
books.add(book);
}*/
//从session获取books,如果为空则实例化
ArrayList books = (ArrayList)session.getAttribute("books");
if(books == null){
books = new ArrayList();
session.setAttribute("books",books);
}
//获得书名
String book = request.getParameter("book");
if(book != null){
book = new String(book.getBytes(StandardCharsets.ISO_8859_1));
//添加book
books.add(book);
}
%>
购物车中到内容是:<br>
<%
//遍历books
for(int i = 0;i<books.size();i++){
out.println(books.get(i) + "<br>");
}
%>
</body>
</html>
操作数据库的购物车html 开发:
《JavaWeb html+js创建购物车表单以及连接数据库部分代码提示》https://blog.csdn.net/weixin_43275631/article/details/111875263