作者主页:源码空间站2022
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
基于B2C的网上拍卖系统主要用于帮助人们应用互联网方便快捷买到自己所中意的商品,并参与到秒杀与竞拍当中。
主要功能包括:
1.前台模块
(1)普通用户登录/注册。
(2)分类查看商品(普通商品与促销商品)
(3)查看商品详细信息
(4)查看秒杀商品
(5)查看竞拍商品
(6)将商品加入购物车
(7)购买,结算功能
(8)留言
2.后台模块
(1)修改密码
(2)商品管理:
-- 编辑/删除
-- 设置/取消促销
(3)秒杀商品:设置/取消秒杀
(4)竞拍商品:设置/取消竞拍
(5)订单管理:查看订单
(6)留言管理:查看/删除留言
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;
技术栈
1. 后端:Servlet
2. 前端:JSP+bootstrap+jQuery
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中resources/ioc/dao.js配置文件中的数据库配置改为自己的配置;
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
4.项目访问路径:
前台:http://localhost:8080/sale
后台:http://localhost:8080/sale/user/adminlogin
运行截图
相关代码
首页action
@IocBean
@At("/index")
public class IndexAction {
@Inject("refer:productService")
private ProductService productService;
@Inject("refer:orderService")
private OrderService orderService;
@Inject("refer:userService")
private UserService userService;
/**
* 跳转到首页
* @param request
* @return
*/
@At("/toIndex")
public View toIndex(HttpServletRequest request){
//新品上市
List<Product> newlist = productService.findNewProduct();
request.setAttribute("newlist", newlist);
//促销
List<Product> cxlist = productService.findCxProduct();
request.setAttribute("cxlist", cxlist);
return new JspView("jsp.index");
}
/**
* 跳转到促销
* @param request
* @return
*/
@At("/toPromotions")
public View toPromotions(HttpServletRequest request){
//促销
List<Product> cxlist = productService.findCxProduct();
request.setAttribute("cxlist", cxlist);
//新品上市
List<Product> newlist = productService.findNewProduct();
request.setAttribute("newlist", newlist);
return new JspView("jsp.promotions");
}
/**
* 跳转到秒杀
* @param request
* @return
*/
@At("/toSpike")
public View toSpike(HttpServletRequest request){
//促销
List<Product> cxlist = productService.findCxProduct();
request.setAttribute("cxlist", cxlist);
//新品上市
List<Product> newlist = productService.findNewProduct();
request.setAttribute("newlist", newlist);
//秒杀
List<Product> mslist = productService.findMsList();
request.setAttribute("mslist", mslist);
return new JspView("jsp.spike");
}
/**
* 跳转到竞拍
* @param request
* @return
*/
@At("/toAuction")
public View toAuction(HttpServletRequest request){
//促销
List<Product> cxlist = productService.findCxProduct();
request.setAttribute("cxlist", cxlist);
//新品上市
List<Product> newlist = productService.findNewProduct();
request.setAttribute("newlist", newlist);
//竞拍
List<Product> jplist = productService.findJpList();
request.setAttribute("jplist", jplist);
return new JspView("jsp.auction");
}
/**
* 跳转到留言
* @param request
* @return
*/
@At("/toMessage")
public View toMessage(HttpServletRequest request){
return new JspView("jsp.message");
}
/**
* 跳转到产品详细
* @param request
* @return
*/
@At("/toDetail")
public View toDetail(HttpServletRequest request){
String id = request.getParameter("id");
Product product = productService.findProductById(Integer.parseInt(id));
//新品上市
List<Product> newlist = productService.findNewProduct();
request.setAttribute("newlist", newlist);
request.setAttribute("product", product);
return new JspView("jsp.detail");
}
/**
* 跳转到促销产品详细
* @param request
* @return
*/
@At("/tocxDetail")
public View tocxDetail(HttpServletRequest request){
String id = request.getParameter("id");
Product product = productService.findProductById(Integer.parseInt(id));
//促销
List<Product> cxlist = productService.findCxProduct();
request.setAttribute("cxlist", cxlist);
request.setAttribute("product", product);
return new JspView("jsp.cxdetail");
}
订单action
@IocBean
@At("/order")
public class OrderAction {
@Inject("refer:orderService")
private OrderService orderService;
@Inject("refer:productService")
private ProductService productService;
@Inject("refer:userService")
private UserService userService;
/**
* add order
* @param request
* @return
*/
@At("/add")
public View list(HttpServletRequest request){
String id = request.getParameter("id");
String price = request.getParameter("price");
User user = (User)request.getSession().getAttribute("user");
Order order = new Order();
order.setProid(Integer.parseInt(id));
List<Order> listOrd = orderService.findOrderByUseridAndProid(user.getId(), Integer.parseInt(id));
if(listOrd.size()>0){
Order existorder = listOrd.get(0);
int count = Integer.parseInt(existorder.getCount())+1;
int newprice = count* Integer.parseInt(existorder.getSingleprice());
existorder.setCount(String.valueOf(count));
existorder.setVisible(1);
existorder.setPrice(String.valueOf(newprice));
orderService.editOrder(existorder);
}else{
order.setSingleprice(price);
order.setPrice(price);
order.setCount("1");
order.setVisible(1);
order.setUserid(user.getId());
order = orderService.addOrder(order);
if(order!=null){
request.setAttribute("msg", "添加成功");
}else{
request.setAttribute("msg", "添加失败");
}
}
List<Order> list = orderService.getCartList(user.getId());
request.setAttribute("list", list);
int sumprice = 0;
for(int i=0;i<list.size();i++){
list.get(i).setUser(userService.findUserById(list.get(i).getUserid()));
list.get(i).setProduct(productService.findProductById(list.get(i).getProid()));
if(sumprice==0){
sumprice = Integer.parseInt(list.get(i).getPrice());
}else{
sumprice += Integer.parseInt(list.get(i).getPrice());
}
}
request.setAttribute("sumprice", sumprice);
request.setAttribute("count", list.size());
return new JspView("jsp.cart");
}
/**
*
* @param request
* @return
*/
@At("/changeCount")
public View changeCount(HttpServletRequest request){
String id = request.getParameter("id");
String count = request.getParameter("count");
Order order = orderService.findOrderById(Integer.parseInt(id));
order.setCount(count);
int price = Integer.parseInt(count)*Integer.parseInt(order.getSingleprice());
order.setPrice(String.valueOf(price));
orderService.editOrder(order);
//**
User user = (User)request.getSession().getAttribute("user");
List<Order> list = orderService.getCartList(user.getId());
request.setAttribute("list", list);
int sumprice = 0;
for(int i=0;i<list.size();i++){
list.get(i).setUser(userService.findUserById(list.get(i).getUserid()));
list.get(i).setProduct(productService.findProductById(list.get(i).getProid()));
if(sumprice==0){
sumprice = Integer.parseInt(list.get(i).getPrice());
}else{
sumprice += Integer.parseInt(list.get(i).getPrice());
}
}
request.setAttribute("sumprice", sumprice);
request.setAttribute("count", list.size());
return new JspView("jsp.cart");
}
产品action
@IocBean
@At("/product")
public class ProductAction {
@Inject("refer:productService")
private ProductService productService;
/**
* 商品列表
*
* @param request
* @return
*/
@At("/list")
public View list(HttpServletRequest request) {
String pagerNum = request.getParameter("pagerNum");
if (pagerNum == null) {
pagerNum = "1";
}
// 总数量
List<Product> list = productService.findListProduct1();
request.setAttribute("count", list.size());
request.setAttribute("maxPager", PagerUtil.getMaxPager(list.size()));
list = (List<Product>) PagerUtil.getPager(list,
Integer.parseInt(pagerNum));
request.setAttribute("list", list);
request.setAttribute("pagerNum", pagerNum);
return new JspView("jsp.admin.product.list");
}
/**
* 跳转到添加商品页面
*
* @param request
* @return
*/
@At("/toadd")
public View toadd(HttpServletRequest request) {
return new JspView("jsp.admin.product.add");
}
/**
* add pro
*
* @param request
* @return
* @throws IOException
*/
@At("/add")
@AdaptBy(type = UploadAdaptor.class, args = { "${app.root}/WEB-INF/tmp" })
public View add(HttpServletRequest request, @Param("file") TempFile file,
@Param("name") String name, @Param("price") String price,
@Param("content") String content) throws IOException {
Product product = new Product();
product.setName(name);
product.setPrice(price);
product.setContent(content);
// 保存图片开始
File f = file.getFile();
String filename = f.getName();
int address = filename.lastIndexOf(".");
String type = filename.substring(address + 1, filename.length());
String date = new SimpleDateFormat("yyyyMMddHHmmssSS").format(Calendar
.getInstance().getTime());
//String yp = "D:\\file\\";
String yp = request.getServletContext().getRealPath("/");
//String changePath = yp + date + "." + type;// 实际保存路径
String changePath = yp + "\\resources\\file\\" + date + "." + type;// 实际保存路径
//String changePath = yp + "/resources/file/" + date + "." + type;// mac系统 实际保存路径
File desFile = new File(changePath);
File pck = new File(yp);
// 检查目录
if (!pck.exists()) {
pck.mkdirs();
}
desFile.createNewFile();
FileOutputStream out = new FileOutputStream(desFile);
FileInputStream in = new FileInputStream(f);
byte[] stream = new byte[in.available()];
in.read(stream);
out.write(stream);
out.close();
in.close();
// 保存到硬盘结束
// //
String imgPath = "resources/file/" + date + "." + type;
product.setImg(imgPath);
product = productService.addProduct(product);
if (product != null) {
request.setAttribute("msg", "添加成功");
} else {
request.setAttribute("msg", "添加失败");
}
// ****
String pagerNum = request.getParameter("pagerNum");
if (pagerNum == null) {
pagerNum = "1";
}
List<Product> list = productService.findListProduct();
request.setAttribute("count", list.size());
request.setAttribute("maxPager", PagerUtil.getMaxPager(list.size()));
list = (List<Product>) PagerUtil.getPager(list,
Integer.parseInt(pagerNum));
request.setAttribute("list", list);
request.setAttribute("pagerNum", pagerNum);
return new JspView("jsp.admin.product.list");
}
如果也想学习本系统,下面领取。回复:002JSP