基于javaweb的JSP+Servlet宠物店管理系统(java+jsp+javascript+bootstrap+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

280023442402

290023442402

300023442402

310023442402

330023442402

340023442402

基于javaweb的JSP+Servlet宠物店管理系统(java+jsp+javascript+bootstrap+mysql)

项目介绍

本项目分为前后台,主要分为管理员与用户两种角色,管理员登录后台,普通用户登录前台;

管理员角色包含以下功能: 管理员登录,订单管理,客户管理,宠物管理,类目管理等功能。

用户角色包含以下功能: 用户首页,宠物分类查看,用户注册,用户登录,查看宠物详情,查看购物车,提交订单,查看我的订单,个人信息修改等功能。

环境需要

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版本; 6.是否Maven项目:否;

技术栈

  1. 后端:Servlet 2. 前端:JSP+CSS+JavaScript+jQuery+Bootstrap

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中src/utils/DBUtil.java配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/jsp_petmall 登录 注:Tomcat中配置路径必须为jsp_petmall,否则会出问题; 用户账号/密码: user/123456 管理员账号/密码:admin/admin

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
    public void attributeReplaced(HttpSessionBindingEvent sbe) {
/* This method is invoked when an attibute
is replaced in a session.
*/
}
}
package com.demo.servlet;



@WebServlet(name = "goods_List",urlPatterns = "/goods_list")
public class GoodsListServlet extends HttpServlet {
private GoodsService gService=new GoodsService();
private TypeService tService=new TypeService();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id=0;
if(request.getParameter("typeid")!=null)
{
id=Integer.parseInt(request.getParameter("typeid"));
}
int pageNumber=1;
if(request.getParameter("pageNumber")!=null) {
try {
pageNumber=Integer.parseInt(request.getParameter("pageNumber"));
}
catch (Exception e)
{

}

}
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

@WebServlet(name = "order_confirm",urlPatterns = "/order_confirm")
public class OrderConfirmServlet extends HttpServlet {
private OrderService oService = new OrderService();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Order o = (Order) request.getSession().getAttribute("order");
try {
BeanUtils.copyProperties(o, request.getParameterMap());
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
o.setDatetime(new Date());
o.setStatus(2);
o.setUser((User) request.getSession().getAttribute("user"));
oService.addOrder(o);
request.getSession().removeAttribute("order");

request.setAttribute("msg", "订单支付成功!");
request.getRequestDispatcher("/order_success.jsp").forward(request, response);
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}
}
package com.demo.servlet;


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
        if(uService.register(user)) {
request.setAttribute("msg", "客户添加成功!");
request.getRequestDispatcher("/admin/user_list").forward(request, response);
}else {
request.setAttribute("failMsg", "用户名或邮箱重复,请重新填写!");
request.setAttribute("u",user);
request.getRequestDispatcher("/admin/user_add.jsp").forward(request, response);
}
}
}
package com.demo.servlet;



@WebServlet(name = "goodrecommendList",urlPatterns = "/goodsrecommend_list")
public class GoodRecommendListServlet extends HttpServlet {
private GoodsService gService = new GoodsService();

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int type = Integer.parseInt(request.getParameter("type") ) ;
int pageNumber = 1;
if(request.getParameter("pageNumber") != null) {
try {
pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ;
}
catch (Exception e)
{

}
}
if(pageNumber<=0)
pageNumber=1;
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
            e.printStackTrace();
}
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
package com.demo.common.listener;



@WebListener()
public class ApplicationListener implements ServletContextListener,
HttpSessionListener, HttpSessionAttributeListener {
TypeService tsService=new TypeService();
// Public constructor is required by com.demo.servlet spec
public ApplicationListener() {
}

// -------------------------------------------------------
// ServletContextListener implementation
// -------------------------------------------------------
public void contextInitialized(ServletContextEvent sce) {
/* This method is called when the com.demo.servlet context is
initialized(when the Web application is deployed).
You can initialize com.demo.servlet context related data here.
*/
sce.getServletContext().setAttribute("typeList",tsService.GetAllType());
}

public void contextDestroyed(ServletContextEvent sce) {
/* This method is invoked when the Servlet Context
(the Web application) is undeployed or
Application Server shuts down.
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
                    //item.delete();
String fieldName = item.getFieldName();
if("cover".equals(fieldName)){
g.setCover("/picture"+fileName);
} else if("image1".equals(fieldName)){
g.setImage1("/picture"+fileName);
} else if("image2".equals(fieldName)){
g.setImage2("/picture"+fileName);
}
}
}
gService.insert(g);
request.getRequestDispatcher("/admin/goods_list").forward(request, response);
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
package com.demo.common.listener;



@WebListener()
public class ApplicationListener implements ServletContextListener,
HttpSessionListener, HttpSessionAttributeListener {
TypeService tsService=new TypeService();
// Public constructor is required by com.demo.servlet spec
public ApplicationListener() {
}

// -------------------------------------------------------
// ServletContextListener implementation
// -------------------------------------------------------
public void contextInitialized(ServletContextEvent sce) {
/* This method is called when the com.demo.servlet context is
initialized(when the Web application is deployed).
You can initialize com.demo.servlet context related data here.
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
            if(pageNumber>=p.getTotalPage()+1)
{
p=gService.selectPageByTypeID(id,p.getTotalPage());
}
}

request.setAttribute("p",p);
request.setAttribute("id",String.valueOf(id));
request.getRequestDispatcher("/goods_list.jsp").forward(request,response);
}
}
package com.demo.servlet;



@WebServlet(name = "admin_goods_list",urlPatterns = "/admin/goods_list")
public class AdminGoodsListServlet extends HttpServlet {
private GoodsService gService = new GoodsService();
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int type = 0;//推荐类型
if(request.getParameter("type") != null) {
type=Integer.parseInt(request.getParameter("type") ) ;
}
int pageNumber = 1;
if(request.getParameter("pageNumber") != null) {
try {
pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ;
}
catch (Exception e)
{

}

}
if(pageNumber<=0)


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