——————————DescriptionStart—————————— 
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明 
基于javaweb的SSM农产品商城管理系统(java+ssm+jsp+jquery+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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目; 6.数据库:MySql 5.7等版本均可;
技术栈
后端:Spring springmvc mybatis
 
前端:JSP+css+javascript+jQuery
 
 
使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2.使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 
 
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat
——————————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 42 43 44 45 46 47 48 49 50 51 52 53 @Controller public  class  indexController   {	@Autowired  	private  CategoryService categoryService; 	@Autowired  	private  ProductService productService; 	@RequestMapping("/index")  	public  String index (Model model,HttpServletRequest request)  throws  Exception  { 			 			List<Category> cList = categoryService.findCategory(); 			request.getSession().getServletContext().setAttribute("cList" ,cList); 			 		    List<Product> hList= productService.findHotProduct(); 			model.addAttribute("hList" , hList); 			 			List<Product> nList = productService.findNewProduct(); 			model.addAttribute("nList" , nList); 			 			 			List<Product> sList; 			if (hList.size()>3 ) 			{ 				sList = new  ArrayList<Product>(); 				sList.add(hList.get(0 )); 				sList.add(hList.get(1 )); 				sList.add(hList.get(2 )); 				model.addAttribute("sList" , sList); 			} 			else  			{ 				model.addAttribute("sList" , hList); 			} 			 		return  "index" ; 	} 	 	@RequestMapping("/about")  	public  String about (Model model,HttpServletRequest request)  throws  Exception  { 		return  "about" ; 	} 	 	@RequestMapping("/contact")  	public  String contact (Model model,HttpServletRequest request)  throws  Exception  { 		return  "contact" ; 	} 	 	@RequestMapping("/delivery")  	public  String delivery (Model model,HttpServletRequest request)  throws  Exception  { 		return  "delivery" ; 
 
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 		char  c = words.charAt(index); 		sb.append(c); 		 		graphics2d.rotate(theta, x, 20 ); 		graphics2d.drawString(String.valueOf(c), x, 20 ); 		graphics2d.rotate(-theta, x, 20 ); 		x += 30 ; 	} 	 	request.getSession().setAttribute("checkcode" , sb.toString()); 	System.out.println(sb.toString()); 	 	graphics.setColor(getRandColor(160 , 200 )); 	int  x1; 	int  x2; 	int  y1; 	int  y2; 	for  (int  i = 0 ; i < 30 ; i++) { 		x1 = random.nextInt(width); 		x2 = random.nextInt(12 ); 		y1 = random.nextInt(height); 		y2 = random.nextInt(12 ); 		graphics.drawLine(x1, y1, x1 + x2, x2 + y2); 	} 	 	graphics.dispose(); 	ImageIO.write(bufferedImage, "jpg" , response.getOutputStream()); } private  Color getRandColor (int  fc, int  bc)   {	 	Random random = new  Random(); 	if  (fc > 255 ) { 		fc = 255 ; 	} 	if  (bc > 255 ) { 		bc = 255 ; 	} 	int  r = fc + random.nextInt(bc - fc); 	int  g = fc + random.nextInt(bc - fc); 
 
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 	public  String regist ()   { 		return  "regist" ; 	} 	@RequestMapping("/userRegist")  	public  String userRegist (Model model, HttpServletRequest request,  			@Validated  User user, BindingResult bindingResult, 			@RequestParam  String checkImg)  throws  Exception  {		if  (bindingResult.hasErrors()) { 			List<ObjectError> errors =bindingResult.getAllErrors(); 			List<String> list = new  ArrayList<>(); 			for  (ObjectError objectError : errors) { 				String str = new  String(objectError.getDefaultMessage() 						.getBytes("ISO-8859-1" ), "gbk" ); 				list.add(str); 			} 			model.addAttribute("errors" , list); 			return  "regist" ; 		} 		 		String sessionCode = (String) request.getSession().getAttribute( 				"checkcode" ); 		if  (!sessionCode.equalsIgnoreCase(checkImg)) { 			throw  new  zdyException("验证码错误请重新注册" ); 		} 		 		userService.saveUser(user); 		 		model.addAttribute("message" , "注册成功请登录" ); 		return  "msg" ; 	} 	@RequestMapping("/activeUser")  	public  String activeUser (@RequestParam  String code,Model model)  throws  zdyException,Exception   { 		 			User activeUser = userService.findByCode(code); 			if (activeUser==null ){ 				throw  new  zdyException("激活码被篡改了,请重新注册" ); 			} 			activeUser.setState(1 ); 			activeUser.setCode(null ); 			userService.activeUser(activeUser); 			model.addAttribute("message" , "激活码成功" ); 
 
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 	return  "login" ; } @RequestMapping("/userLogin") public  String userLogin (HttpServletRequest request, 		@RequestParam  String checkImg, User user, Model model) 		throws  zdyException, Exception  {	String sessionCode = (String) request.getSession().getAttribute( 			"checkcode" ); 	if  (!sessionCode.equalsIgnoreCase(checkImg)) { 		  		 		request.getSession().setAttribute("message" , "验证码输入错误请重新注册" ); 		 return  "redirect:login.action" ; 	} 	User loginUser = userService.loginFindByUnameAndPwd(user.getUsername(), 			user.getPassword()); 	if  (loginUser == null ) { 		  		 request.getSession().setAttribute("message" , "密码输入错误请重新登陆" ); 		 		 return  "redirect:login.action" ; 	} 	request.getSession().setAttribute("loginUser" , loginUser); 	request.getSession().removeAttribute("message" ); 	return  "redirect:index.action" ; } @RequestMapping("userLogout") public  String userLogout (HttpServletRequest request, 		HttpServletResponse response, Model model)   {	request.getSession().removeAttribute("loginUser" ); 	response.setHeader("content-type" , "text/html;charset=UTF-8" ); 	response.setHeader("refresh" , "5;url=/shop/index.action" ); 	model.addAttribute("message" , "退出成功,系统将在5秒之后跳转到首页......" ); 	return  "msg" ; } @RequestMapping("/admin") public  String AdminIndex ()  {	return  "admin/index" ; 
 
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 	 	 		@RequestMapping("/updateState")  		public  String updateState (@RequestParam  int  oid )  throws  Exception  { 			orderService.updateOrderStatus(oid, 3 ); 			return  "redirect:myOrder.action?page=1" ; 		} } package  com.shop.controller;@Controller public  class  checkImgController   {	@RequestMapping("checkImg")  	public  void  checkImg (HttpServletRequest request ,HttpServletResponse response)  throws  IOException  { 		int  width = 120 ; 		int  height = 30 ; 		 		BufferedImage bufferedImage = new  BufferedImage(width, height, 				BufferedImage.TYPE_INT_RGB); 		 		Graphics graphics = bufferedImage.getGraphics(); 		 		graphics.setColor(getRandColor(200 , 250 )); 		graphics.fillRect(0 , 0 , width, height); 
 
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 @RequestMapping("/admin/adminOrder_updateState") public  String adminOrder_updateState (@RequestParam  int  oid, @RequestParam  int  status, Model model,HttpServletRequest request) 		throws  Exception  {	Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin" ); 	if (adminuserLogin==null ){ 		request.getSession().setAttribute("message" ,"对不起您还没有登录" ); 		return  "admin/index" ; 	} 	 	orderService.updateOrderStatus(oid, status); 	 	return  "redirect:/admin/adminOrder_findAllByPage.action?page=1" ; } @RequestMapping("/admin/adminMessage_findAllByPage") public  String adminMessage_findAllByPage (@RequestParam  int  page, Model model,HttpServletRequest request) 		throws  Exception  {	Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin" ); 	if (adminuserLogin==null ){ 		request.getSession().setAttribute("message" ,"对不起您还没有登录" ); 		return  "admin/index" ; 	} 	 	PageBean<Message> pageBean = messageService.findAllMessageByPage(page); 	model.addAttribute("pageBean" , pageBean); 	 	return  "admin/message/list" ; } @RequestMapping("/admin/adminMessage_delete") public  String adminOrder_updateState (@RequestParam  int  messageid, Model model,HttpServletRequest request) 		throws  Exception  {	Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin" ); 	if (adminuserLogin==null ){ 		request.getSession().setAttribute("message" ,"对不起您还没有登录" ); 		return  "admin/index" ; 	} 	 	messageService.deleteMessage(messageid); 	 	return  "redirect:/admin/adminMessage_findAllByPage.action?page=1" ; } 
 
——————————PayStart—————————— 
 
项目链接: https://javayms.github.io?id=101023491103200xo https://javayms.pages.dev?id=101023491103200xo