基于javaweb的SSH网上书店图书商城(java+ssh+mysql+jsp)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

001123072409

491123062409

511123062409

521123062409

531123062409

541123062409

551123062409

561123062409

571123062409

581123062409

591123062409

基于javaweb的SSH网上书店图书商城(java+ssh+mysql+jsp)

后台:http://localhost:8080/manage/login.jsp
管理员:
admin 123456

前台:http://localhost:8080
用户:
user1 123456
user2 123456

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
	@GeneratedValue
public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}

public int getProductid() {
return productid;
}

public void setProductid(int productid) {
this.productid = productid;
}

public String getProductname() {
return productname;
}

public void setProductname(String productname) {
this.productname = productname;
}

public int getProductnum() {
return productnum;
}

public void setProductnum(int productnum) {
this.productnum = productnum;
}




}


@Entity
@Table(name="t_Category")
public class Category implements Serializable{


private static final long serialVersionUID = -4350171000214458094L;

private long id;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
		this.setUrl("loginfirst.jsp");
return SUCCESS;
}
Product product = productDao.selectBean(" where id= "+ request.getParameter("pid"));
if(CartService.addItem(product)){
this.setUrl("cartadd.jsp");
return SUCCESS;
}else{
this.setUrl("cartaddfail.jsp");
return SUCCESS;
}
}


//购物车列表
public String cart() throws IOException{
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
User user = (User)session.getAttribute("user");
if(user==null){
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("gbk");response.setContentType("text/html; charset=gbk");
response
.getWriter()
.print(
return null;
}
request.setAttribute("cartItems", CartService.getItems());
request.setAttribute("dropcartItems", CartService.getDropItems());
request.setAttribute("price1", CartService.getPrice1());
request.setAttribute("price2", CartService.getPrice2());
request.setAttribute("price1-price2", CartService.getPrice1()-CartService.getPrice2());
this.setUrl("cart.jsp");
return SUCCESS;

}

//修改购物车的商品数量
public void cartchangenum() throws IOException{
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
CartService.updateNum(Integer.parseInt(request.getParameter("pid")),
Integer.parseInt(request.getParameter("num")));
response.setCharacterEncoding("gbk");response.setContentType("text/html; charset=gbk");
response.getWriter()
}
//删除购物车的商品
public void delproduct() throws IOException{
HttpServletRequest request = ServletActionContext.getRequest();
CartService.drop(Integer.parseInt(request.getParameter("pid")));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46


public void setUrl(String url) {
this.url = url;
}
//首页入口
public String index() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
Util.init(request);
List<Category> catelist = categoryDao.selectBeanList(0, 9999, " where catelock=0 ");
request.setAttribute("topcatelist",catelist );
request.setAttribute("xiaoliangprolist",productDao.selectBeanList(0, 15, " where productlock=0 order by xiaoliang desc "));//销量排行商品列表

int currentpage = 1;
int pagesize = 5;
if(request.getParameter("pagenum")!=null){
currentpage= Integer.parseInt(request.getParameter("pagenum"));
}
String cid = request.getParameter("cid");
String keyword = request.getParameter("keyword");
if (cid!=null){
int total = productDao.selectBeanCount(" where productlock=0 and cate.id = "+cid);//分类商品数量
request.setAttribute("hotprolist",
productDao.selectBeanList((currentpage-1)*pagesize, pagesize, " where cate.id = "+cid +" and productlock=0 order by id desc "));//分类商品列表
request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pagesize, currentpage, "index?cid="+cid,"共有"+total+"条记录"));
}
else if(keyword!=null&&!"".equals(keyword)){
int total = productDao.selectBeanCount(" where productlock=0 and name like '%"+keyword+"%' ");//搜索商品数量
request.setAttribute("hotprolist",productDao.selectBeanList((currentpage-1)*pagesize, pagesize,
" where name like '%"+keyword+"%' and productlock=0 order by id desc "));//搜索商品列表
request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pagesize, currentpage, "index","共有"+total+"条记录" ));
}
else{
int total = productDao.selectBeanCount(" where productlock=0 ");
request.setAttribute("hotprolist",productDao.selectBeanList((currentpage-1)*pagesize, pagesize, " where productlock=0 order by id desc "));
request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pagesize, currentpage, ".","共有"+total+"条记录"));
}
return "success";
}

//用户注册操作
public void register() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();

HttpServletResponse response = ServletActionContext.getResponse();

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
	private File uploadfile;

public File getUploadfile() {
return uploadfile;
}

public void setUploadfile(File uploadfile) {
this.uploadfile = uploadfile;
}
//添加商品操作
public void productadd2() throws IOException {
HttpServletRequest request = ServletActionContext.getRequest();
String name = request.getParameter("name");
String cid = request.getParameter("cid");
String price1 = request.getParameter("price1");
String price2 = request.getParameter("price2");
String info5 = request.getParameter("info5");

String imgpath = this.uploadImg(uploadfile);
Product product = new Product();
product.setName(name);
product.setCate(categoryDao.selectBean( " where catelock=0 and id= " +cid));
product.setPrice1(Double.parseDouble(price1));
product.setPrice2(Double.parseDouble(price2));
product.setInfo5(info5);
product.setImgpath(imgpath);
product.setCreatetime(new Date());
productDao.insertBean(product);
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("gbk");response.setContentType("text/html; charset=gbk");
response
.getWriter()
.print(
}

//商品图片上传操作
public String uploadImg(File uploadImg) throws IOException {
String savaPath = ServletActionContext.getServletContext().getRealPath(
"/")+ "/uploadfile/";

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
	HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
double totalprice =0.0;
if(session.getAttribute("user")!=null&&!CartService.isEmpty()){
List<OrderItem> orderItems = new ArrayList<OrderItem>();
List<CartItem> cartItems = CartService.getItems();
for(CartItem ci:cartItems){
OrderItem oi = new OrderItem();
oi.setProductid((int)ci.getProduct().getId());
oi.setProductname(ci.getProduct().getName());
oi.setProductnum(ci.getNumber());
oi.setPrice(ci.getProduct().getPrice2()*ci.getNumber());
orderItems.add(oi);
totalprice += oi.getPrice();
Product product = productDao.selectBean(" where id= "+ci.getProduct().getId());
product.setXiaoliang(product.getXiaoliang()+ci.getNumber());
productDao.updateBean(product);
}
Order order = new Order();
order.setUser((User)session.getAttribute("user"));
order.setAddress(request.getParameter("address"));
order.setCreatetime(new Date());
order.setPhone(request.getParameter("phone"));
order.setUsername(request.getParameter("username"));
order.setTotalprice(totalprice);
//order.setfprice(CartService.getPrice2());
order.setOrderItems(orderItems);
order.setOrderid(new java.util.Date().getTime()+"");
for(OrderItem oi:orderItems ){
orderItemDao.insertBean(oi);
}
orderDao.insertBean(order);
CartService.clear();
response.setCharacterEncoding("gbk");response.setContentType("text/html; charset=gbk");
response
.getWriter()
.print(
}else{
response.setCharacterEncoding("gbk");response.setContentType("text/html; charset=gbk");
response
.getWriter()
.print(
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
			public Object doInHibernate(final Session session)throws HibernateException, SQLException {				
List<Product> list = session.createQuery("from Product "+where)
.setFirstResult(start)
.setMaxResults(limit)
.list();
return list;
}
});
}

public void updateBean(Product bean) {
this.getHibernateTemplate().update(bean);

}


}









public class OrderDaoImpl extends HibernateDaoSupport implements OrderDao{


public void deleteBean(Order bean) {
this.getHibernateTemplate().delete(bean);

}

public void insertBean(Order bean) {
this.getHibernateTemplate().save(bean);

}

@SuppressWarnings("unchecked")


项目链接:
https://javayms.github.io?id=491123062409201ft
https://javayms.pages.dev?id=491123062409201ft