一个简单的jsp购物网站
- 概要
- 需求
- 用到的技术
- 效果图
- 登录页
- 登陆结果
- 购物页
- 消费记录页
- 管理用户信息和商品信息
- 数据库格式
- 踩过的坑
- jdbc进行数据库操作
- java动作指令结合jsp脚本
- jdbc操作数据库查某个变量
- 源码
概要
复习一下学校里学的javabean,写了个简单的购物网站,麻雀虽小,五脏俱全。记录一下学javabean过程中踩的坑。
需求
1、 使用 JSP 连接 MySQL 数据库,实现网上购物功能。
(1) 在 MySQL 中新建数据库 SHOPDB,创建三个数据表:
a)用户表 user,包括 id, username, password 等字段;
b)商品表 product,包括 id, productCode, productName 等;
c)购物记录表 shop_records,包括 id, userId, productId, number, shopDate 等。
(2) 分别提供管理用户表和商品表的操作界面,能够完成增加/删除用户信息;增
加/删除商品表信息;
(3) 使用 JSP 页面(表单),提交个人登录信息,通过新的 JSP 和 JavaBean 连接
数据库,验证用户提交的登录信息;
(4) 若登录成功后,进入购物网站(例如,我们上课课程中提供的简单购物网),
用户反复网上购物,系统将用户的购物记录存入数据库中;若用户登录失败,
提示登录信息不正确,重新登录;
(5) 用户登录状态下,根据当前购物日期,提供两类购物历史统计:
a) 以表格方式显示 1 周之内用户历史访问记录;
b) 对物品按照名称,进行总数统计,以表格方式显示;
(6) 提供用户退出系统功能,当用户在购物网站退出时,系统返回登录界面,注
销当前用户 Session。
用到的技术
jsp脚本表达式,servlet,jdbc操作数据库,jsp动作指令,jsp内置对象
纯实现功能,没有用任何前端框架
效果图
登录页
登陆结果
购物页
消费记录页
管理用户信息和商品信息
数据库格式
踩过的坑
jdbc进行数据库操作
request.setCharacterEncoding("gb2312");
String name = request.getParameter("username");
String password = request.getParameter("password");
//注册数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//获取数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/shopdb?useUnicode=true&characterEncoding=utf8", "root", "123456zy");
//创建Statement对象
Statement stmt = conn.createStatement();
//stmt.close();
String id=null;
//执行查询,获取ResultSet对象
String sql="select * from user where username='"+name+"'";
ResultSet rs = stmt.executeQuery(sql);
java动作指令结合jsp脚本
jdbc操作数据库查某个变量
在value后面用’?‘预留位置,再创建PreparedStatement对象调用setString()方法赋值到’?'的地方
String sql = "insert into user (id,username,password) values (?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,id1);
ps.setString(2,name);
ps.setString(3,password);
ps.executeUpdate();
ps.close();
源码
登录页
.
<body>
<form id="form1" method="post" action="justify.jsp">
欢迎光临桃宝网<hr/>测试账户:zouyue 123456<hr/>
用户名:<br/>
<input type="text" name="username"><hr/>
密码:<br/>
<input type="password" name="password"><hr/>
<input type="submit" value="登录">
<input type="reset" value="重置">
</form>
<p><a href="outTest.jsp">进入管理页</a></p>
</body>
``