(1)普通用户登录功能。
(2)普通用户注销功能。
(3)分类查看商品功能。
(4)查看商品详细功能。
(5)秒杀功能。
(6)竞拍功能。
(7)购物车功能。
(8)用户注册信息功能。
(9)购买功能。
(10)修改用户信息功能。
(11)添加用户留言,删除用户留言,查看用户留言。
(12)管理员登录验证功能。
(13)管理员注销功能。
代码已经上传github,下载地址: https://github.com/21503882/school-used
列名 中文名称 数据类型 长度 允许空
Username 用户名 varchar 50 null
Password 用户密码 varchar 50 null
Sex 性别 Int 50 null
Email 邮箱 varchar 50 null
Admin 是否管理员 Int 50 null
Id 序号 Int PK
列名 中文名称 数据类型 长度 允许空
Id 序号 Int 50 PK
Name 商品名 varchar 50 null
Img 商品图片 varchar 50 null
Content 商品简介 varchar 50 null
Price 价格 varchar 50 null
Sfcx 是否促销 Int 2 null
Newprice 促销价格 varchar 50 null
Sfms 是否秒杀 int 2 null
Msprice 秒杀价格 varchar 50 null
Msdate 秒杀开始时间 varchar 50 null
Mscount 秒杀数量 int 5 null
Sfjp 是否竞拍 int 2 null
Qpprice 起拍价 varchar 50 null
Jpprice 竞拍价 varchar 50 null
Jpperson 竞拍人 int 2 null
Jpdate 竞拍结束时间 varchar 50 null
Newprice 促销价格 varchar 50 null
Sfms 是否秒杀 int 2 null
Msprice 秒杀价格 varchar 50 null
Msdate 秒杀开始时间 varchar 50 null
Mscount 秒杀数量 int 5 null
Sfjp 是否竞拍 int 2 null
Qpprice 起拍价 varchar 50 null
Jpprice 竞拍价 varchar 50 null
Jpperson 竞拍人 int 2 null
Jpdate 竞拍结束时间 varchar 50 null
列名 中文名称 数据类型 长度 允许空
Name 用户名 varchar 50 null
Email 邮箱 varchar 50 null
message 留言内容 varchar 250 null
Id 留言序号 int 4 PK
表1-2-2 商品表信息
列名 中文名称 数据类型 长度 允许空
Id 序号 Int 50 PK
Name 商品名 varchar 50 null
Img 商品图片 varchar 50 null
Content 商品简介 varchar 50 null
Price 价格 varchar 50 null
Sfcx 是否促销 Int 2 null
Newprice 促销价格 varchar 50 null
Sfms 是否秒杀 int 2 null
Msprice 秒杀价格 varchar 50 null
Msdate 秒杀开始时间 varchar 50 null
Mscount 秒杀数量 int 5 null
Sfjp 是否竞拍 int 2 null
Qpprice 起拍价 varchar 50 null
Jpprice 竞拍价 varchar 50 null
Jpperson 竞拍人 int 2 null
Jpdate 竞拍结束时间 varchar 50 null
表1-2-3 订单信息表
列名 中文名称 数据类型 长度 允许空
Id 序号 Int 10 PK
Proid 商品序号 Int 2 null
Count 购买数量 varchar 50 null
singleprice 单价 varchar 50 null
Price 价格 varchar 50 null
Userid 购买者序号 int 2 null
Sffk 是否付款 int 2 null
Tel 电话 varchar 50 null
address 地址 varchar 50 null
Date 购买日期 varchar 50 null
senddept 送货地址 varchar 50 null
visible 是否可见 int 2 null
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.pager.Pager;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.sql.SqlCallback;
import cn.itbaizhan.common.Page;
/**
* 基本服务
*
* @author
*
*/
public class BaseService {
protected Dao dao;
public Dao getDao() {
return dao;
}
public void setDao(Dao dao) {
this.dao = dao;
}
/**
* 执行Sql语句并返�?
*
* @param sqlStr "SELECT name FROM t_abc WHERE name LIKE @name"
* @param params
*/
public void exec(String sqlStr,
Map<String, Object> params) {
Sql sql = Sqls.create(sqlStr);
if(params!=null){
Iterator<String> it = params.keySet().iterator();
while(it.hasNext()){
String key = it.next();
sql.params().set(key, params.get(key));
}
}
dao.execute(sql);
}
/**
* 通过Sql直接查询得到HashMap<String,Object> 类型的列�?
*
* @param strSql
* @param params
* @return
*/
public List<Map> query(String strSql,
Map<String, Object> params) {
Sql sql = Sqls.create(strSql);
if(params!=null){
Iterator<String> it = params.keySet().iterator();
while(it.hasNext()){
String key = it.next();
sql.params().set(key, params.get(key));
}
}
sql.setCallback(new SqlCallback() {
public Object invoke(Connection conn, ResultSet rs, Sql sql)
throws SQLException {
List<Map<String, Object>> list = new LinkedList<Map<String, Object>>();
Map<String,Object> map = null;
ResultSetMetaData rsmd = rs.getMetaData();
while (rs.next()){
map = new HashMap<String, Object>();
for(int i = 0;i<rsmd.getColumnCount();i++){
map.put(rsmd.getColumnName(i+1).toUpperCase(), rs.getObject(i+1));
}
list.add(map);
}
return list;
}
});
dao.execute(sql);
return sql.getList(Map.class);
}
/**
* 得到总条�?
*
* @param strSql �?��执行的sql语句
* @param params �?��传�?的参�?
* @return
*/
public int count(String strSql,
Map<String, Object> params) {
Sql sql = Sqls.create(strSql);
if(params!=null){
Iterator<String> it = params.keySet().iterator();
while(it.hasNext()){
String key = it.next();
sql.params().set(key, params.get(key));
}
}
sql.setCallback(new SqlCallback() {
public Object invoke(Connection conn, ResultSet rs, Sql sql)
throws SQLException {
Integer result = 0;
while (rs.next()){
result = rs.getInt(1);
break;
}
return result;
}
});
dao.execute(sql);
return sql.getInt();
}
/**
* 根据sql语句和分页条件查询分�?
*
* @param strSql
* @param params
* @param pager
* @return
*/
public Page queryPager(String strSql,
Map<String, Object> params,Pager pager){
String sql = "select * from ( "+strSql+" ) limit @startItem,@endItem ";
String countSql = "select count(*) itemcount from ("+strSql+") ";
if(null == params){
params = new HashMap<String, Object>();
}
params.put("startItem", (pager.getPageNumber()-1)*pager.getPageSize());
params.put("endItem", pager.getPageSize());
List<Map> list = query(sql, params);
int count = count(countSql,params);
Page page = new Page(pager);
page.setRecordCount(count);
page.setList(list);
return page;
}
}
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML>
<html>
<head>
<title>欢迎光临</title>
<!--CSS-->
<link rel="stylesheet" href="/sale/resources/css/styles.css" />
<!--Google Webfont -->
<link href='http://fonts.googleapis.com/css?family=Istok+Web' rel='stylesheet' type='text/css' />
<!--Javascript-->
<script type="text/javascript" src="/sale/resources/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/sale/resources/js/jquery.flexslider.js"></script>
<script type="text/javascript" src="/sale/resources/js/jquery.easing.js"></script>
<script type="text/javascript" src="/sale/resources/js/jquery.jcarousel.js"></script>
<script type="text/javascript" src="/sale/resources/js/form_elements.js"></script>
<script type="text/javascript" src="/sale/resources/js/custom.js"></script>
<!--[if lt IE 9]>
<script src="js/html5.js"></script>
<![endif]-->
<!-- mobile setting -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function detail(id){
window.location.href = "/sale/index/toDetail?id="+id;
}
function cxdetail(id){
window.location.href = "/sale/index/tocxDetail?id="+id;
}
</script>
</head>
<body>
<c:if test="${msg!=null}">
<script>
alert("${msg}");
</script>
</c:if>
<div class="wrapper">
<jsp:include page="common/top.jsp" flush="true"/>
<div class="section_container">
<!--Mid Section Starts-->
<section>
<!--Product List Starts-->
<div class="products_list products_slider">
<h2 class="sub_title">新品上市</h2>
<ul id="first-carousel" class="first-and-second-carousel jcarousel-skin-tango">
<c:forEach var="newproduct" items="${newlist}" varStatus="status">
<li> <a href="javascript:detail(${newproduct.id });" class="product_image"><img src="/sale/${newproduct.img}" style="width: 216px;height: 245px;"/></a>
<div class="product_info">
<h3><a href="javascript:detail(${newproduct.id });">${newproduct.name }</a></h3>
<small>${newproduct.content }</small> </div>
<div class="price_info"> <a href="javascript:addCart('${newproduct.id }','${newproduct.price }');">+ 加入收藏</a>
<button class="price_add" title="" type="button"><span class="pr_price">¥${newproduct.price }</span><span class="pr_add" οnclick="addCart('${newproduct.id }','${newproduct.price }');">加入购物车</span></button>
</div>
</li>
</c:forEach>
</ul>
</div>
<!--Product List Ends-->
<!--Product List Starts-->
<div class="products_list products_slider">
<h2 class="sub_title">促销</h2>
<ul id="first-carousel" class="first-and-second-carousel jcarousel-skin-tango">
<c:forEach var="cxproduct" items="${cxlist}" varStatus="status">
<li> <a href="javascript:cxdetail(${cxproduct.id });" class="product_image"><img src="/sale/${cxproduct.img}" style="width: 216px;height: 245px;"/></a>
<div class="product_info">
<h3><a href="javascript:cxdetail(${cxproduct.id });">${cxproduct.name }</a></h3>
<small>${cxproduct.content }</small> </div>
<div class="price_info"> <a href="javascript:addCart('${cxproduct.id }','${cxproduct.newprice }');">+ 加入收藏</a>
<button class="price_add" title="" type="button"><span class="pr_price">¥${cxproduct.newprice }</span><span class="pr_add" οnclick="addCart('${cxproduct.id }','${cxproduct.newprice }');">加入购物车</span></button>
</div>
</li>
</c:forEach>
</ul>
</div>
<!--Product List Ends-->
</section>
<!--Mid Section Ends-->
</div>
<jsp:include page="common/buttom.jsp" flush="true"/>
</div>
</body>
</html>