ssm tea traceability system based on javaweb + mysql (java + ssm + jsp + bootstrap + layui + mysql)
Operating environment
Java≥8, MySQL≥5.7, Tomcat≥8
development tools
eclipse/idea/myeclipse/sts, etc. can be configured to run
Be applicable
Course design, major assignments, graduation design, project exercises, learning presentations, etc.
Function Description
SSM tea traceability system based on javaweb + mysql (java + ssm + jsp + bootstrap + layui + mysql)
Project Introduction
The tea traceability system is divided into a front office and a back office. Ordinary users can check the sales history of tea through the 18-digit code at the front desk. The backend is divided into two roles, administrators and dealers; the main functions of the administrator include: main interface; administrator management: administrator list, adding administrators; category management: adding, deleting, and modifying tea types; tea management: tea List, add, delete, modify tea; Bulk package management: Bulk package list, add, delete, modify big package; Single product management: Sales statistics, single product information modification; The main functions of dealers include: Main interface; Sales list Product: Confirm the sold item;
environmental needs
1. Operating environment: preferably java jdk 1.8, we run on this platform. Other versions are theoretically possible. 2. IDE environment: IDEA, Eclipse, Myeclipse are all available. IDEA is recommended; 3. Tomcat environment: Tomcat 7.x, 8.x, 9.x versions are available 4. Hardware environment: windows 7/8/10 1G memory or more; or Mac OS; 5. Whether it is a Maven project: No; Check whether the source code directory contains pom.xml; if it does, it is a maven project, otherwise it is a non-maven project 6. Database: MySql version 5.7;
technology stack
- Backend: Spring SpringMVC MyBatis 2. Frontend: JSP + bootstrap + jQuery + layUI
Instructions for use
- Use Navicat or other tools to create a database with the corresponding name in mysql and import the project’s sql file; 2. Change the database configuration in the jdbc.properties configuration file in the project to your own configuration; 3. Use IDEA/Eclipse/MyEclipse Import the project, when Eclipse/MyEclipse imports, if it is a maven project, please select maven; if it is a maven project, please execute the maven clean;maven install command after the import is successful, configure tomcat, and then run; 4. To run the project, enter localhost:8080/ tea-web/ login
} @RequestMapping("/toLoginOutRetailer") public String toViewsLoginOutRetailer(HttpServletRequest request) {<!-- --> request.getSession().invalidate(); return "views/retailer_login"; } \t @RequestMapping("/toWebHome") public String toWebHome(HttpServletRequest request) {<!-- --> \t\t return "web/main1"; } \t @RequestMapping("/toWebLoginOut") public String toWebLoginOut(HttpServletRequest request) {<!-- --> request.getSession().invalidate(); return "web/login"; } @RequestMapping("/toViewsInfo") public String toViewsInfo(HttpServletRequest request) {<!-- --> \t\t return "views/info"; } @RequestMapping("/toViewsAddAdmin") public String toViewsAddAdmin(HttpServletRequest request) {<!-- --> return "views/add_admin"; } \t @RequestMapping("/toViewsAddUser") public String toViewsAddUse() {<!-- --> return "views/add_user"; } \t @RequestMapping("/toWebRegiste") public ModelAndView toWebRegiste() {<!-- --> return new ModelAndView("web/register"); } \t /* * @RequestMapping("") public String() { return "views/addAdmin"; }*/ \t @RequestMapping("toWebLogin") public String toWebLogin() {<!-- --> \t\t return "/web/login2"; } \t @RequestMapping("toViewsAddTeas")
//Delete id based on primary key @RequestMapping("/DeleteByTypeId") @ResponseBody public String deleteByTypeId(@Param("id") Integer id) {<!-- --> ts.delete(id); return "ok"; } } @Controller public class UtilsController {<!-- --> \t @Autowired TypeService ts; \t @Autowired TeasService tea; \t @Autowired RetailerService re; \t @RequestMapping("/toViewsLogin") public String toViewsLogin(){<!-- --> return "views/login"; } \t @RequestMapping("/toWebMain") public String toWebMain(){<!-- --> return "web/main"; } \t @RequestMapping("/toViewsLoginOut") public String toViewsLoginOut(HttpServletRequest request) {<!-- --> request.getSession().invalidate(); return "views/login"; }
@RequestMapping("/toLoginOutRetailer") public String toViewsLoginOutRetailer(HttpServletRequest request) {<!-- --> request.getSession().invalidate(); return "views/retailer_login"; } \t @RequestMapping("/toWebHome") public String toWebHome(HttpServletRequest request) {<!-- --> \t\t return "web/main1"; } \t @RequestMapping("/toWebLoginOut") public String toWebLoginOut(HttpServletRequest request) {<!-- --> request.getSession().invalidate(); return "web/login"; } @RequestMapping("/toViewsInfo") public String toViewsInfo(HttpServletRequest request) {<!-- --> \t\t return "views/info"; } @RequestMapping("/toViewsAddAdmin") public String toViewsAddAdmin(HttpServletRequest request) {<!-- --> return "views/add_admin"; } \t @RequestMapping("/toViewsAddUser") public String toViewsAddUse() {<!-- --> return "views/add_user"; } \t @RequestMapping("/toWebRegiste") public ModelAndView toWebRegiste() {<!-- --> return new ModelAndView("web/register"); } \t /* * @RequestMapping("") public String() { return "views/addAdmin"; }*/ \t @RequestMapping("toWebLogin") public String toWebLogin() {<!-- --> \t\t
System.out.println("Arrived"); PageHelper.startPage(currentPage,8); List<Admin> list=as.selectAll(); PageInfo<Admin> pageInfo=new PageInfo<Admin>(list,8); map.put("pageInfo", pageInfo); return new ModelAndView("views/admin"); } \t\t @RequestMapping("/InsertAdmin") public ModelAndView addAdmin(HttpServletRequest request,String uname,String pwd,String nickname)throws Exception {<!-- --> Admin record=new Admin(); record.setUname(uname); record.setPwd(nickname); record.setNickname(nickname); as.insert(record); return new ModelAndView("redirect:AdminPage"); \t\t } \t\t //Delete id based on primary key @RequestMapping("/DeleteByAdminId") @ResponseBody public String deleteByPrimaryKey(@Param("id") int id) {<!-- --> as.delete(id); return "ok"; } \t\t @RequestMapping(value="/ToUpdateAdmin") public String ToUpdateAdmin(HttpServletRequest request,int id) {<!-- --> \t\t\t Admin admin=as.findById(id); request.setAttribute("admin", admin); return "views/update_admin"; } \t\t @RequestMapping("/UpdateAdmin") public ModelAndView UpdateAdmin(HttpServletRequest request,int id,String uname,String pwd,String nickname)throws Exception {<!-- --> Admin record=new Admin(); record.setUname(uname); record.setPwd(pwd); record.setNickname(nickname);
@RequestMapping("/toViewsLogin") public String toViewsLogin(){<!-- --> return "views/login"; } \t @RequestMapping("/toWebMain") public String toWebMain(){<!-- --> return "web/main"; } \t @RequestMapping("/toViewsLoginOut") public String toViewsLoginOut(HttpServletRequest request) {<!-- --> request.getSession().invalidate(); return "views/login"; } @RequestMapping("/toLoginOutRetailer") public String toViewsLoginOutRetailer(HttpServletRequest request) {<!-- --> request.getSession().invalidate(); return "views/retailer_login"; } \t @RequestMapping("/toWebHome") public String toWebHome(HttpServletRequest request) {<!-- --> \t\t return "web/main1"; } \t @RequestMapping("/toWebLoginOut") public String toWebLoginOut(HttpServletRequest request) {<!-- --> request.getSession().invalidate(); return "web/login"; } @RequestMapping("/toViewsInfo") public String toViewsInfo(HttpServletRequest request) {<!-- --> \t\t return "views/info"; } @RequestMapping("/toViewsAddAdmin") public String toViewsAddAdmin(HttpServletRequest request) {<!-- --> return "views/add_admin"; } \t @RequestMapping("/toViewsAddUser")
session.setAttribute("admin", admin); session.setAttribute("adminname", admin.getNickname()); \t\t\t return "views/index"; \t\t\t } \t @RequestMapping("/AdminLoginPage") public String AdminLoginPage(HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws UnknownHostException{<!-- --> return "views/admin_login"; } \t\t\t //Query and paging @RequestMapping("/AdminPage") public ModelAndView AdminPage( @RequestParam(defaultValue="1") Integer currentPage,Map<String,Object> map){<!-- --> System.out.println("Arrived"); PageHelper.startPage(currentPage,8); List<Admin> list=as.selectAll(); PageInfo<Admin> pageInfo=new PageInfo<Admin>(list,8); map.put("pageInfo", pageInfo); return new ModelAndView("views/admin"); } \t\t @RequestMapping("/InsertAdmin") public ModelAndView addAdmin(HttpServletRequest request,String uname,String pwd,String nickname)throws Exception {<!-- --> Admin record=new Admin(); record.setUname(uname); record.setPwd(nickname); record.setNickname(nickname); as.insert(record); return new ModelAndView("redirect:AdminPage"); \t\t } \t\t //Delete id based on primary key @RequestMapping("/DeleteByAdminId") @ResponseBody
public String ToUpdateAdmin(HttpServletRequest request,int id) {<!-- --> \t\t\t Admin admin=as.findById(id); request.setAttribute("admin", admin); return "views/update_admin"; } \t\t @RequestMapping("/UpdateAdmin") public ModelAndView UpdateAdmin(HttpServletRequest request,int id,String uname,String pwd,String nickname)throws Exception {<!-- --> Admin record=new Admin(); record.setUname(uname); record.setPwd(pwd); record.setNickname(nickname); as.update(record,id); return new ModelAndView("redirect:AdminPage"); \t\t } \t\t \t\t /*//Fuzzy query @RequestMapping("/selectByName") public String findByName( @RequestParam(defaultValue="1") Integer currentPage, HttpServletRequest request, Map<String, Object> map) { String Adminname=request. getParameter("search"); System.out.println(Adminname); PageHelper.startPage(currentPage,8); List<Admin> list=AdminService. selectByName(Adminname); PageInfo<Admin> pageInfo=new PageInfo<Admin>(list,8); map. put("pageInfo", pageInfo); return "/Admin/showAdmin"; }*/ \t \t\t \t\t \t\t }
ts.insert(record); return new ModelAndView("redirect: TeasPage"); } \t @RequestMapping(value="/ToUpdateTeas") public String ToUpdateTeas(HttpServletRequest request,int id) {<!-- --> request.setAttribute("typeList", ts1.selectAll()); Teas record=ts.findById(id); request.setAttribute("teas", record); return "views/update_teas"; } \t\t \t @RequestMapping("/UpdateTeas") public ModelAndView UpdateTeas(HttpServletRequest request,int id,MultipartFile tCover, MultipartFile img)throws Exception {<!-- --> \t \t\t Teas record=new Teas(); record.setTeaName(request.getParameter("teaName")); record. settCover(UploadUtil. fileUpload(tCover)); record.setImg(UploadUtil.fileUpload(img)); record.setPrice(Double.parseDouble(request.getParameter("price"))); record.setInfo(request.getParameter("info")); record.setCount(Integer.parseInt(request.getParameter("count"))); record.settId(Integer.parseInt(request.getParameter("tId"))); ts.update(record, id); return new ModelAndView("redirect: TeasPage"); \t\t } \t \t //Delete id based on primary key @RequestMapping("/DeleteByTeasId") @ResponseBody public String deleteByTeasId(@Param("id") Integer id) {<!-- --> ts.delete(id); return "ok"; } }
Random rd = new Random(); \t\t //3, generate 4 random numbers String n = ""; int rdGet; //get random number do {<!-- --> rdGet = Math.abs(rd.nextInt()) % 10 + 48; //Generate random numbers from 48 to 57 (key values from 0-9) // rdGet=Math.abs(rd.nextInt())& + 97; //Generate random numbers from 97 to 122 (key values of a-z) char num1 = (char) rdGet; String dd = Character.toString(num1); n + = dd; } while (n.length() < 4); // If the length is less than 4 sb.append(n); \t\t //4, return the unique code return sb.toString(); } \t public Pack getParameter(HttpServletRequest request)throws Exception{<!-- --> Pack record = new Pack(); record.setPackId(request.getParameter("packId")); record.setMakeAdress(request.getParameter("makeAdress")); record.setTeaMaker(request.getParameter("teaMaker")); record.setMakePicture(request.getParameter("makePicture")); record.settId(Integer.parseInt(request.getParameter("tId"))); record.setRetId(Integer.parseInt(request.getParameter("retId"))); return record; } \t @RequestMapping("/PackPage") public ModelAndView TeasPage( @RequestParam(defaultValue="1") Integer currentPage,Map<String,Object> map){<!-- --> System.out.println("arrived"); PageHelper.startPage(currentPage,8); List<Pack> list=pa. selectAll(); PageInfo<Pack> pageInfo=new PageInfo<Pack>(list,8); map. put("pageInfo", pageInfo); return new ModelAndView("/views/list_pack"); } \t @RequestMapping("/InsertPack") public ModelAndView InsertPack(HttpServletRequest request,MultipartFile makePicture)throws Exception {<!-- --> Pack record = new Pack(); record.setPackId(getRandomUUID());; record.setMakePicture(UploadUtil.fileUpload(makePicture)); record.setMakeAdress(request.getParameter("makeAdress")); record.setTeaMaker(request.getParameter("teaMaker")); record.setRetId(Integer.parseInt(request.getParameter("retId"))); record.settId(Integer.parseInt(request.getParameter("tId"))); pa.insert(record); for(int i =0; i< 10;i ++ ) {<!-- --> Item item = new Item();
@Controller public class TeasController {<!-- --> @Autowired TeasDao teasDao; @Autowired TeasService ts; \t @Autowired TypeService ts1; /* * Repeat code block, which is called when inserting and changing. */ @RequestMapping("/TeasPage") public ModelAndView TeasPage( @RequestParam(defaultValue="1") Integer currentPage,Map<String,Object> map){<!-- --> System.out.println("arrived"); PageHelper.startPage(currentPage,8); List<Teas> list=ts. selectAll(); PageInfo<Teas> pageInfo=new PageInfo<Teas>(list,8); map. put("pageInfo", pageInfo); return new ModelAndView("/views/list_teas"); } \t \t @RequestMapping("/TeaWebPage") public ModelAndView TeaWebPage( @RequestParam(defaultValue="1") Integer currentPage,Map<String,Object> map){<!-- --> System.out.println("Arrived"); PageHelper.startPage(currentPage,5); List<Teas> list=ts.selectAll(); PageInfo<Teas> pageInfo=new PageInfo<Teas>(list,5); map.put("pageInfo", pageInfo); return new ModelAndView("/web/info"); } \t @RequestMapping("/getTeas.do") @ResponseBody public List<Teas> getLesson(){<!-- --> List<Teas> list=ts.selectAll(); return list; } \t \t \t
return "views/add_pack"; } \t \t \t \t } @Controller public class RetailerController {<!-- --> @Autowired RetailerService re; \t public Retailer getParameter(HttpServletRequest request) throws Exception{<!-- --> Retailer record=new Retailer(); record.setAccount(request.getParameter("account")); record.setPwd(request.getParameter("pwd")); record.setRetName(request.getParameter("retName")); return record; }
Pack record=new Pack(); record.setPackId(getRandomUUID());; record.setMakePicture(UploadUtil.fileUpload(makePicture)); record.setMakeAdress(request.getParameter("makeAdress")); record.setTeaMaker(request.getParameter("teaMaker")); record.setRetId(Integer.parseInt(request.getParameter("retId"))); record.settId(Integer.parseInt(request.getParameter("tId"))); pa.insert(record); for(int i =0; i< 10;i + + ) {<!-- --> Item item = new Item(); item.setItemId(getRandomUUID()); item.setSaled(0); item.setPackId(record.getPackId()); it. insert(item); } return new ModelAndView("redirect:PackPage"); } \t @RequestMapping("/DeletePack") @ResponseBody public String deletePack(@Param("packId") String packId) {<!-- --> System.out.println("+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "); System.out.print(packId); System.out.print(" 666666666666666666666666666666666666666"); it.deleteByPackId(packId); pa.delete(packId); return "ok"; } }
/*//Fuzzy query @RequestMapping("/selectByName") public String findByName( @RequestParam(defaultValue="1") Integer currentPage, HttpServletRequest request,Map<String,Object> map) { String Adminname=request.getParameter("search"); System.out.println(Adminname); PageHelper.startPage(currentPage,8); List<Admin> list=AdminService.selectByName(Adminname); PageInfo<Admin> pageInfo=new PageInfo<Admin>(list,8); map. put("pageInfo", pageInfo); return "/Admin/showAdmin"; }*/ \t \t\t \t\t \t\t }
\t @RequestMapping("/InsertType") public ModelAndView InsertType(HttpServletRequest request)throws Exception {<!-- --> Type record=new TypeController().getParameter(request); ts.insert(record); return new ModelAndView("redirect:TypePage"); } \t @RequestMapping("/getTypes.do") @ResponseBody public List<Type> getLesson(){<!-- --> List<Type> list=ts. selectAll(); return list; } \t \t \t @RequestMapping(value="/ToUpdateType") public String ToUpdateType(HttpServletRequest request,int id) {<!-- --> Type record=ts.findById(id); request.setAttribute("type", record); return "views/update_type"; } \t\t \t @RequestMapping("/UpdateType") public ModelAndView UpdateType(HttpServletRequest request,int id)throws Exception {<!-- --> \t \t Type record=new TypeController().getParameter(request); ts.update(record, id); return new ModelAndView("redirect:TypePage"); \t\t } \t \t //Delete id based on primary key @RequestMapping("/DeleteByTypeId") @ResponseBody public String deleteByTypeId(@Param("id") Integer id) {<!-- --> ts.delete(id); return "ok"; } }
@Controller public class PackController {<!-- --> @Autowired PackService pa; \t @Autowired ItemService it; \t public static String getRandomUUID() {<!-- --> //1. Create timestamp java.util.Date dateNow = new java.util.Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); String dateNowStr = dateFormat. format(dateNow); StringBuffer sb = new StringBuffer(dateNowStr); //2. Create a random object Random rd = new Random(); \t\t //3. Generate 4-digit random numbers String n = ""; int rdGet; //Get random number do {<!-- --> rdGet = Math.abs(rd.nextInt()) % 10 + 48; //Generate random numbers from 48 to 57 (key values from 0-9) // rdGet=Math.abs(rd.nextInt())& + 97; //Generate a random number from 97 to 122 (key value of a-z) char num1 = (char) rdGet; String dd = Character.toString(num1); n + = dd; } while (n.length() < 4);//If the length is less than 4 sb.append(n); \t\t //4. Return unique code return sb.toString(); } \t public Pack getParameter(HttpServletRequest request) throws Exception{<!-- --> Pack record=new Pack(); record.setPackId(request.getParameter("packId")); record.setMakeAdress(request.getParameter("makeAdress")); record.setTeaMaker(request.getParameter("teaMaker")); record.setMakePicture(request.getParameter("makePicture")); record.settId(Integer.parseInt(request.getParameter("tId"))); record.setRetId(Integer.parseInt(request.getParameter("retId")));
@Controller public class AdminController {<!-- --> @Autowired AdminService as; /* * Repeat the code block to be called when inserting and changing. */ public Admin getParameter(HttpServletRequest request) throws Exception{<!-- --> Admin record=new Admin(); record.setUname(request.getParameter("uname")); record.setPwd(request.getParameter("pwd")); record.setNickname(request.getParameter("nickname")); return record; } \t @RequestMapping("/AdminLogin") public String AdminLogin(HttpServletRequest request,HttpServletResponse response,HttpSession session ) throws UnknownHostException{<!-- --> \t\t String uname=request.getParameter("uname"); String password=request.getParameter("pwd"); Admin admin = as.selectByUname(uname); System.out.print("************************"); \t if(uname==null){<!-- --> request.setAttribute("msg", "The administrator does not exist"); System.out.print("The administrator does not exist");
request.setAttribute("typeList", ts.selectAll()); return "views/add_teas"; } \t @RequestMapping("toViewsAddPack") public String toViewsAddPack(HttpServletRequest request) {<!-- --> request.setAttribute("teaList", tea.selectAll()); request.setAttribute("retailerList", re.selectAll()); return "views/add_pack"; } \t \t \t \t } @Controller public class RetailerController {<!-- --> @Autowired RetailerService re; \t public Retailer getParameter(HttpServletRequest request)throws Exception{<!-- --> Retailer record=new Retailer(); record.setAccount(request.getParameter("account")); record.setPwd(request.getParameter("pwd")); record.setRetName(request.getParameter("retName")); return record; } \t
return "ok"; } } @Controller public class TypeController {<!-- --> @Autowired TypeService ts; /* * Repeat the code block to be called when inserting and changing. */ public Type getParameter(HttpServletRequest request) throws Exception{<!-- --> Type record = new Type(); record.settName(request.getParameter("tName")); \t\t