——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的JSP+Servlet在线鞋子商城系统(java+jsp+bootstrap+servlet+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项目:否;
技术栈
JSP+CSS+jQuery+bootstrap+mysql+servlet
使用说明
使用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_shoes_shop_website/ 登录 注:tomcat中配置项目路径必须为jsp_shoes_shop_website,否则会有异常; 用户账号/密码:user/123456 管理员账号/密码:admin/admin
——————————CodeStart——————————
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 if (p.getTotalPage()==0 ) { p.setTotalPage(1 ); p.setPageNumber(1 ); } else { if (pageNumber>=p.getTotalPage()+1 ) { p =gService.getSearchGoodsPage(keyword,pageNumber); } } request.setAttribute("p" , p); request.setAttribute("keyword" , URLEncoder.encode(keyword,"utf-8" )); request.getRequestDispatcher("/goods_search.jsp" ).forward(request, response); } } package com.demo.servlet;@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) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } o.setDatetime(new Date()); o.setStatus(2 ); o.setUser((User) request.getSession().getAttribute("user" )); oService.addOrder(o); request.getSession().removeAttribute("order" );
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 } } package com.demo.servlet;@WebServlet(name = "goods_search",urlPatterns = "/goods_search") public class GoodsSearchServlet extends HttpServlet { protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } private GoodsService gService = new GoodsService(); protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String keyword = request.getParameter("keyword" ); int pageNumber = 1 ; if (request.getParameter("pageNumber" ) != null ) { try { pageNumber=Integer.parseInt(request.getParameter("pageNumber" ) ) ; } catch (Exception e) { } } if (pageNumber<=0 ) { pageNumber=1 ; } Page p =gService.getSearchGoodsPage(keyword,pageNumber); if (p.getTotalPage()==0 ) { p.setTotalPage(1 ); p.setPageNumber(1 ); } else { if (pageNumber>=p.getTotalPage()+1 ) { p =gService.getSearchGoodsPage(keyword,pageNumber); } } request.setAttribute("p" , p); request.setAttribute("keyword" , URLEncoder.encode(keyword,"utf-8" ));
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 @WebListener() public class ApplicationListener implements ServletContextListener , HttpSessionListener , HttpSessionAttributeListener { TypeService tsService=new TypeService(); public ApplicationListener () { } public void contextInitialized (ServletContextEvent sce) { sce.getServletContext().setAttribute("typeList" ,tsService.GetAllType()); } public void contextDestroyed (ServletContextEvent sce) { } public void sessionCreated (HttpSessionEvent se) { } public void sessionDestroyed (HttpSessionEvent se) { } public void attributeAdded (HttpSessionBindingEvent sbe) {
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 contextInitialized (ServletContextEvent sce) { sce.getServletContext().setAttribute("typeList" ,tsService.GetAllType()); } public void contextDestroyed (ServletContextEvent sce) { } public void sessionCreated (HttpSessionEvent se) { } public void sessionDestroyed (HttpSessionEvent se) { } public void attributeAdded (HttpSessionBindingEvent sbe) { } public void attributeRemoved (HttpSessionBindingEvent sbe) { } public void attributeReplaced (HttpSessionBindingEvent sbe) {
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 protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DiskFileItemFactory factory=new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> list = upload.parseRequest(request); Goods g = new Goods(); int pageNumber =1 ; int type=0 ; for (FileItem item:list) { if (item.isFormField()) { String fieldName = item.getFieldName(); if ("id" .equals(fieldName)){ g.setId(Integer.parseInt(item.getString("utf-8" ))); }else if ("name" .equals(fieldName)){ g.setName(item.getString("utf-8" )); }else if ("price" .equals(fieldName)){ g.setPrice(Float.parseFloat(item.getString("utf-8" ))); }else if ("intro" .equals(fieldName)){ g.setIntro(item.getString("utf-8" )); }else if ("cover" .equals(fieldName)){ g.setCover(item.getString("utf-8" )); }else if ("image1" .equals(fieldName)){ g.setImage1(item.getString("utf-8" )); }else if ("image2" .equals(fieldName)){ g.setImage2(item.getString("utf-8" )); }else if ("stock" .equals(fieldName)){ g.setStock(Integer.parseInt(item.getString("utf-8" ))); }else if ("typeid" .equals(fieldName)){ g.setTypeid(Integer.parseInt(item.getString("utf-8" ))); }else if ("pageNumber" .equals(fieldName)){ pageNumber=Integer.parseInt(item.getString("utf-8" )); }else if ("type" .equals(fieldName)){ type = Integer.parseInt(item.getString("utf-8" )); } }else { if (item.getInputStream().available()<=0 )continue ; String fileName = item.getName(); fileName = fileName.substring(fileName.lastIndexOf("." )); fileName = "/" +new Date().getTime()+fileName; String path = this .getServletContext().getRealPath("/picture" )+fileName; InputStream in = item.getInputStream(); FileOutputStream out = new FileOutputStream(path); byte [] buffer = new byte [1024 ]; int len=0 ; while ( (len=in.read(buffer))>0 ) { out.write(buffer); } in.close();
——————————PayStart——————————
项目链接: https://javayms.github.io?id=491122572008200ud https://javayms.pages.dev?id=491122572008200ud