Java项目:JSP实现NBA及其周边用品销售平台

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本项目分为前后台,前台为普通用户登录,后台为管理员登录;
管理员角色包含以下功能:
管理员登录,会员管理,资讯管理,友情链接管理,滚动图片管理,管理关于我们,商品类别管理,球队管理,商品管理,商品库存管理,订单管理,留言管理等功能。

用户角色包含以下功能:
用户登录,查看首页,查看商品详情,查看购物车,提交订单,查看我的订单,确认支付,提交留言,修改个人信息等功能。

环境需要

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.数据库:MySql 5.7、8.0等版本均可;

6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

Servlet、JSP、JDBC、MySQL5.7、Tomcat8

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目;
3. 将项目中util/SimpleDataSource.java配置文件中的数据库配置改为自己的配置;

运行截图

前台界面-用户角色

 后台界面-管理员角色

相关代码 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="dao.CommDAO"%>
<%@page import="util.Info"%>
<%@page import="util.PageManager"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";


%>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="description" content="">
    <meta name="author" content="">
	
    <title>网上NBA球衣商城</title>
	
    <!-- Bootstrap Core CSS -->
    <link rel="stylesheet" href="css/bootstrap.min.css"  type="text/css">
	
	<!-- Custom CSS -->
    <link rel="stylesheet" href="css/style.css">
	
	
	<!-- Custom Fonts -->
    <link rel="stylesheet" href="font-awesome/css/font-awesome.min.css"  type="text/css">
    <link rel="stylesheet" href="fonts/font-slider.css" type="text/css">
	
	<!-- jQuery and Modernizr-->
	<script src="js/jquery-2.1.1.js"></script>
	
	<!-- Core JavaScript Files -->  	 
    <script src="js/bootstrap.min.js"></script>
	
	<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="js/html5shiv.js"></script>
        <script src="js/respond.min.js"></script>
    <![endif]-->
</head>
  <%CommDAO dao = new CommDAO();  %>
<body>
	<jsp:include page="top.jsp"></jsp:include>
	<!--//-->
	<!--///HomePage///-->
	<!--//-->
    
	<div id="page-content" class="single-page">
		<div class="container">
			<div class="row">
				<div class="col-lg-12">
					<ul class="breadcrumb">
						<li><a href="index.jsp">Home</a></li>
						<li><a href="goods.jsp">商品列表</a></li>
					</ul>
				</div>
			</div>
			<%String suc = (String)request.getAttribute("suc");
						if(suc!=null){%>
						    <div class="alert alert-info">
						        	<%=suc %>
					    	</div>
			<%}%>
			<div class="row">
							<div class="alert alert-info" id="cartsinfo" style="display: none;">
						        <button type="button" class="close" data-dismiss="alert">×</button>
					    	</div>
					    	
					    	<%HashMap member = (HashMap)session.getAttribute("member");
				         	 String key1 = request.getParameter("key1")==null?"":request.getParameter("key1");
				         	 String key2 = request.getParameter("key2")==null?"":request.getParameter("key2");
				         	 String key3 = request.getParameter("key3")==null?"":request.getParameter("key3");
				         	 String url ="goods.jsp?1=1";
				             String sql = "select  * from goods where delstatus='0'  "; 
				             String f = request.getParameter("f");
				         	 if(f==null)
				         	 {
				         	 //key1 = Info.getUTFStr(key1);
				         	 }
				              if(!key1.equals(""))
				         	 {
				         	 sql+=" and (goodname like'%"+key1+"%' or goodpp like'%"+key1+"%')";
				         	 url+="&key1="+key1;
				         	 } 
				         	 if(!key2.equals(""))
				          	 {
				          	 sql+=" and (sid ='"+key2+"')";
				          	 url+="&key2="+key2;
				          	 }
				         	 if(!key3.equals(""))
				          	 {
				          	 sql+=" and (goodpp ='"+key3+"')";
				          	 url+="&key3="+key3;
				          	 }
				              sql+=" order by savetime desc"; %>
					    	
				<div id="main-content" class="col-md-8">
					<div class="row">
						<div class="col-md-12">
							<div class="products lm-products">
								<ul class="lm-imgList">
							<%
								PageManager pageManager = PageManager.getPage(url,9, request);
							    pageManager.doList(sql);
							    PageManager bean= (PageManager)request.getAttribute("page");
							    ArrayList<HashMap> goodslist=(ArrayList)bean.getCollection();
							    int a = 0;
							    for(HashMap goodsmap :goodslist)
							    {
							    %>
								<li class="lm-imgItem">
							        <a href="good.jsp?id=<%=goodsmap.get("id") %>"><img src="upfile/<%=goodsmap.get("filename") %>"/></a>
					                <div class="buttons">
											<a class="btn cart" href="javascript:tocar(<%=goodsmap.get("id") %>)" title="加入购物车"><span class="glyphicon glyphicon-shopping-cart"></span></a>
											<a class="btn wishlist" href="/jsp_nbashop/jsp_nbashop?ac=addfav&goodid=<%=goodsmap.get("id") %>&page=index.jsp" title="收藏此商品"><span class="glyphicon glyphicon-heart"></span></a>
								    </div>
								    <div class="caption">
											<div class="name lm-name"><a href="good.jsp?id=<%=goodsmap.get("id") %>"><%=goodsmap.get("goodname").toString().length()>13?goodsmap.get("goodname").toString().substring(0,13)+"...":goodsmap.get("goodname") %></a></div>
											<div class="price">
											<%if(goodsmap.get("tprice")!=null&&!goodsmap.get("tprice").equals("")){ %>
											<s>
											<%}%>
												¥<%=goodsmap.get("price") %>
											<%if(goodsmap.get("tprice")!=null&&!goodsmap.get("tprice").equals("")){ %>
											</s>
											<%}%>
											<%if(goodsmap.get("tprice")!=null&&!goodsmap.get("tprice").equals("")){ %>
												¥<%=goodsmap.get("tprice") %>
											<%} %>
											</div>
									</div>
							    </li>
								<%} %>
								</ul>
							</div>
								
						</div>
					</div>
					
					<div class="row text-center">
						${page.info }
					</div>
				</div>
				<jsp:include page="right.jsp"></jsp:include>
			</div>
		</div>
	</div>	
	
	
	<jsp:include page="foot.jsp"></jsp:include>
	
	<script type="text/javascript">
function tocar(gid){     
	 $.ajax({  
	        type: "POST",      
	         url: "/jsp_nbashop/jsp_nbashop?ac=tocar", //servlet的名字
	          data: "gid="+gid+"&sl=1", 
	         success: function(data){       
	    if(data=="true"){     
	    	$("#cartsinfo").show();
	     	$("#cartsinfo").html("该商品已加入到购物车");
	    }else{    
	    	$("#cartsinfo").show(); 
	     	$("#cartsinfo").html("加入购物车失败");
	    }     
	 }     
	});     
}     
</script>
</body>
</html>

首页

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="dao.CommDAO"%>
<%@page import="util.*"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="">
<meta name="author" content="">

<title>网上NBA球衣商城</title>

<!-- Bootstrap Core CSS -->
<link rel="stylesheet" href="css/bootstrap.min.css" type="text/css">

<!-- Custom CSS -->
<link rel="stylesheet" href="css/style.css">


<!-- Custom Fonts -->
<link rel="stylesheet" href="font-awesome/css/font-awesome.min.css"
	type="text/css">
<link rel="stylesheet" href="fonts/font-slider.css" type="text/css">

<!-- jQuery and Modernizr-->
<script src="js/jquery-2.1.1.js"></script>

<!-- Core JavaScript Files -->
<script src="js/bootstrap.min.js"></script>

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
        <script src="js/html5shiv.js"></script>
        <script src="js/respond.min.js"></script>
    <![endif]-->
</head>
<%
	CommDAO dao = new CommDAO();
%>
<body>
	<jsp:include page="top.jsp"></jsp:include>
	<!--//-->
	<!--///HomePage///-->
	<!--//-->

	<div id="page-content" class="home-page">
		<div class="container">
			<div class="row">
				<div class="col-lg-12">
					<!-- Carousel -->
					<div id="carousel-example-generic" class="carousel slide"
						data-ride="carousel">
						<!-- Indicators -->
						<ol class="carousel-indicators hidden-xs">
							<li data-target="#carousel-example-generic" data-slide-to="0"
								class="active"></li>
							<li data-target="#carousel-example-generic" data-slide-to="1"></li>
							<li data-target="#carousel-example-generic" data-slide-to="2"></li>
							<li data-target="#carousel-example-generic" data-slide-to="3"></li>
							<li data-target="#carousel-example-generic" data-slide-to="4"></li>
						</ol>
						<%
							String suc = (String) request.getAttribute("suc");
							if (suc != null) {
						%>
						<div class="alert alert-info">
							<%=suc%>
						</div>
						<%
							}
						%>
						<!-- Wrapper for slides -->
						<%
							ArrayList<HashMap> imglist = (ArrayList<HashMap>) dao.select("select * from imgadv  order by id");
						%>
						<div class="carousel-inner">
							<div class="item active">
								<img src="upfile/<%=imglist.get(0).get("filename")%>"
									alt="First slide" width="100%" height="40%">
								<!-- Static Header -->
								<div class="header-text hidden-xs">
									<div class="col-md-12 text-center"></div>
								</div>
								<!-- /header-text -->
							</div>
							<%
								for (int i = 1; i < imglist.size(); i++) {
							%>
							<div class="item">
								<img src="upfile/<%=imglist.get(i).get("filename")%>"
									alt="First slide" width="100%" height="40%">
								<!-- Static Header -->
								<div class="header-text hidden-xs">
									<div class="col-md-12 text-center"></div>
								</div>
								<!-- /header-text -->
							</div>
							<%
								}
							%>
						</div>
						<!-- Controls -->
						<a class="left carousel-control" href="#carousel-example-generic"
							data-slide="prev"> <span
							class="glyphicon glyphicon-chevron-left"></span>
						</a> <a class="right carousel-control"
							href="#carousel-example-generic" data-slide="next"> <span
							class="glyphicon glyphicon-chevron-right"></span>
						</a>
					</div>
					<!-- /carousel -->
				</div>
			</div>

			<div class="row">
				<div class="alert alert-info" id="cartsinfo" style="display: none;">
					<button type="button" class="close" data-dismiss="alert">×</button>
				</div>
				<div class="col-lg-12">
					<div class="heading">
						<h2>新品上架</h2>
					</div>
					<div class="products lm-products">
						<ul class="lm-imgList">
							<%
								ArrayList<HashMap> goodslist = (ArrayList<HashMap>) dao
										.select("select * from goods where delstatus='0' order by id desc limit 12");
								int a = 0;
								for (HashMap goodsmap : goodslist) {
									a++;
							%>

							<li class="lm-imgItem"><a
								href="good.jsp?id=<%=goodsmap.get("id")%>"><img
									src="upfile/<%=goodsmap.get("filename")%>" /></a>
								<div class="buttons">
									<a class="btn cart"
										href="javascript:tocar(<%=goodsmap.get("id")%>)"
										title="加入购物车"><span
										class="glyphicon glyphicon-shopping-cart"></span></a> <a
										class="btn wishlist"
										href="/jsp_nbashop/jsp_nbashop?ac=addfav&goodid=<%=goodsmap.get("id")%>&page=index.jsp"
										title="收藏此商品"><span class="glyphicon glyphicon-heart"></span></a>
								</div>
								<div class="caption">
									<div class="name lm-name">
										<a href="good.jsp?id=<%=goodsmap.get("id")%>"><%=goodsmap.get("goodname").toString().length() > 13
						? goodsmap.get("goodname").toString().substring(0, 13) + "..."
						: goodsmap.get("goodname")%></a>
									</div>
									<div class="price">
										<%
											if (goodsmap.get("tprice") != null && !goodsmap.get("tprice").equals("")) {
										%>
										<s> <%
 	}
 %> ¥<%=goodsmap.get("price")%> <%
 	if (goodsmap.get("tprice") != null && !goodsmap.get("tprice").equals("")) {
 %>
										</s>
										<%
											}
										%>
										<%
											if (goodsmap.get("tprice") != null && !goodsmap.get("tprice").equals("")) {
										%>
										¥<%=goodsmap.get("tprice")%>
										<%
											}
										%>

									</div>
								</div></li>

							<%
								}
							%>
						</ul>
					</div>
				</div>
			</div>


			<div class="row">
				<div class="col-lg-12">
					<div class="heading">
						<h2>限时抢购</h2>
						<span id="LeftTime" style="color: red"></span>
					</div>
					<div class="products lm-products">
						<ul class="lm-imgList">
							<%
								ArrayList<HashMap> tjgoodslist = (ArrayList<HashMap>) dao
										.select("select * from goods where delstatus='0' and istj='yes' order by id desc limit 8");
								int b = 0;
								for (HashMap tjgoodsmap : tjgoodslist) {
									b++;
							%>

							<li class="lm-imgItem"><a
								href="good.jsp?id=<%=tjgoodsmap.get("id")%>"><img
									src="upfile/<%=tjgoodsmap.get("filename")%>" /></a>
								<div class="buttons">
									<a class="btn cart"
										href="javascript:tocar(<%=tjgoodsmap.get("id")%>)"
										title="加入购物车"><span
										class="glyphicon glyphicon-shopping-cart"></span></a> <a
										class="btn wishlist"
										href="/jsp_nbashop/jsp_nbashop?ac=addfav&goodid=<%=tjgoodsmap.get("id")%>&page=index.jsp"
										title="收藏此商品"><span class="glyphicon glyphicon-heart"></span></a>
								</div>
								<div class="caption">
									<div class="name lm-name">
										<a href="good.jsp?id=<%=tjgoodsmap.get("id")%>"><%=tjgoodsmap.get("goodname").toString().length() > 13
						? tjgoodsmap.get("goodname").toString().substring(0, 13) + "..."
						: tjgoodsmap.get("goodname")%></a>
									</div>
									<div class="price">
										<%
											if (tjgoodsmap.get("tprice") != null && !tjgoodsmap.get("tprice").equals("")) {
										%>
										<s> <%
 	}
 %> ¥<%=tjgoodsmap.get("price")%> <%
 	if (tjgoodsmap.get("tprice") != null && !tjgoodsmap.get("tprice").equals("")) {
 %>
										</s>
										<%
											}
										%>
										<%
											if (tjgoodsmap.get("tprice") != null && !tjgoodsmap.get("tprice").equals("")) {
										%>
										¥<%=tjgoodsmap.get("tprice")%>
										<%
											}
										%>
									</div>
								</div></li>


							<%
								}
							%>
						</ul>
					</div>
				</div>
			</div>


			<%
				List<HashMap> list = dao.select("select * from scan_his where scan_his_key = 'scan_his'");
				if (list.size() > 0) {
 					String value = (String) (list.get(0).get("value"));
					String[] values = value.split(",");
					value = StrUtil.szqc(values);
					String sql = "select * from goods where delstatus='0' and id in (" + value;
					sql += ")  order by find_in_set(id, '" + value + "') limit 8";
			%>

			<div class="row">
				<div class="col-lg-12">
					<div class="heading">
						<h2>历史足迹</h2>
						<span id="LeftTime" style="color: red"></span>
					</div>
					<div class="products lm-products">
						<ul class="lm-imgList">
							<%
								ArrayList<HashMap> scanjgoodslist = (ArrayList<HashMap>) dao.select(sql);
									int x = 0;
									for (HashMap tjgoodsmap : scanjgoodslist) {
										x++;
							%>

							<li class="lm-imgItem"><a
								href="good.jsp?id=<%=tjgoodsmap.get("id")%>"><img
									src="upfile/<%=tjgoodsmap.get("filename")%>" /></a>
								<div class="buttons">
									<a class="btn cart"
										href="javascript:tocar(<%=tjgoodsmap.get("id")%>)"
										title="加入购物车"><span
										class="glyphicon glyphicon-shopping-cart"></span></a> <a
										class="btn wishlist"
										href="/jsp_nbashop/jsp_nbashop?ac=addfav&goodid=<%=tjgoodsmap.get("id")%>&page=index.jsp"
										title="收藏此商品"><span class="glyphicon glyphicon-heart"></span></a>
								</div>
								<div class="caption">
									<div class="name lm-name">
										<a href="good.jsp?id=<%=tjgoodsmap.get("id")%>"><%=tjgoodsmap.get("goodname").toString().length() > 13
							? tjgoodsmap.get("goodname").toString().substring(0, 13) + "..."
							: tjgoodsmap.get("goodname")%></a>
									</div>
									<div class="price">
										<%
											if (tjgoodsmap.get("tprice") != null && !tjgoodsmap.get("tprice").equals("")) {
										%>
										<s> <%
 	}
 %> ¥<%=tjgoodsmap.get("price")%> <%
 	if (tjgoodsmap.get("tprice") != null && !tjgoodsmap.get("tprice").equals("")) {
 %>
										</s>
										<%
											}
										%>
										<%
											if (tjgoodsmap.get("tprice") != null && !tjgoodsmap.get("tprice").equals("")) {
										%>
										¥<%=tjgoodsmap.get("tprice")%>
										<%
											}
										%>
									</div>
								</div></li>


							<%
								}
							%>
						</ul>
					</div>
				</div>
			</div>



			<%
				}
			%>




		</div>
	</div>


	<jsp:include page="foot.jsp"></jsp:include>
	<script type="text/javascript">
		function tocar(gid) {
			$.ajax({
				type : "POST",
				url : "/jsp_nbashop/jsp_nbashop?ac=tocar", //servlet的名字
				data : "gid=" + gid + "&sl=1",
				success : function(data) {
					if (data == "true") {
						$("#cartsinfo").show();
						$("#cartsinfo").html("该商品已加入到购物车");
					} else {
						$("#cartsinfo").show();
						$("#cartsinfo").html("加入购物车失败");
					}
				}
			});
		}
	</script>

	<script type="text/javascript">
		function checktime(i) {
			if (i < 10) {
				i = "0" + i;

			} else {
				i = i;
			}
			return i;
		}
		function freshTime() {
			var endtime = new Date('2018/03/15');
			var nowtime = new Date();
			var lefttime = parseInt(endtime.getTime() - nowtime.getTime());

			var dm = 24 * 60 * 60 * 1000;
			var d = parseInt(lefttime / dm);
			var hm = 60 * 60 * 1000;
			var h = parseInt((lefttime / hm) % 24);
			var mm = 60 * 1000;
			var m = parseInt((lefttime / mm) % 60);
			var s = parseInt((lefttime / 1000) % 60);
			m = checktime(m);
			s = checktime(s);
			document.getElementById('LeftTime').innerHTML = "还剩" + d + "天" + h
					+ "小时" + m + "分钟" + s + "秒";
			if (lefttime < 0) {
				document.getElementById('LeftTime').innerHTML = "团购活动已经结束!";
			}
		}
		freshTime();
		var sh;
		sh = setInterval('freshTime()', 1000)
	</script>

</body>
</html>

如果也想学习本系统,下面领取。关注并回复:136jsp

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值