Java项目:水果销售系统(java+SSH+mysql+maven+tomcat)

一、项目简述

功能: 区分为管理员用户和普通用户,普通用户:用户注册登 录,首页水果展示,商品分类展示,购物车添加,下单, 订单查询,个人信息修改,管理员用户:包括水果基本信 息维护增删改查,分类管理,订单管理,用户管理等等功 能。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + Mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP + Struts + Spring + Hibernate + html + css + JavaScript + JQuery等等。

用户登录拦截器代码:

@WebFilter(filterName="CheckLoginFilter",value="/back/*",initParams=@WebInitParam(name="errorPage",value="index.html"))
public class CheckLoginFilter implements Filter{
	private String path = "index.html";
	@Override
	public void destroy() {
		
	}

	@Override
	public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain chain) throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest) arg0;
		HttpServletResponse response = (HttpServletResponse) arg1;
		
		HttpSession session = request.getSession();
		if (session.getAttribute("currentLoginUser") == null) { // 说明用户没有登录
			response.setContentType("text/html;charset=utf-8");
			PrintWriter out = response.getWriter();
			String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() + request.getContextPath() +"/";
			out.print("<script>alert('请先登录...');location.href='" + basePath + path + "';</script>");
			out.flush();
			out.close();
		} else { // 如果已经登录,则交给下一个过滤器过滤
			chain.doFilter(request, response);
		}
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		String tmp = arg0.getInitParameter("errorPage");
		if (tmp != null) {
			path = tmp;
		}
	}
}

订单信息控制层:

@Controller
@RequestMapping("/orderInfo")
public class OrderInfoController  {
	@Autowired
	private IOrderInfoBiz orderInfoBiz;
	
	@RequestMapping("/addOrderInfo")
	@ResponseBody
	public Integer addOrderInfo(String ono, String odate, String ano, String price) {
		Integer in = 0;
		try {
			in = orderInfoBiz.addOrderInfo(ono, odate,ano,price);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return in;
	}
	
	@RequestMapping("/getOrder")
	@ResponseBody
	public List<OrderInfo> getOrder(String mno) {
		return orderInfoBiz.getOrder(mno);
	}
	
	@RequestMapping("/getallOrder")
	@ResponseBody
	public List<OrderInfo> getallOrder(String mno) {
		return orderInfoBiz.getallOrder(mno);
	}
	
	@RequestMapping("/setStatus")
	@ResponseBody
	public Integer setStatus(String ono) {
		System.out.println("修改1");
		return orderInfoBiz.setStatus(ono);
	}
	
	@RequestMapping("/getOrderByPage")
	@ResponseBody
	public List<OrderInfo> getOrderByPage(String mno, Integer page) {
		return orderInfoBiz.getOrderByPage(mno,page);
	}
	
	@RequestMapping("/getPage")
	@ResponseBody
	public Integer getPage(String mno) {
		int total=orderInfoBiz.getTotal(mno);
		int page=total%2==0?total/2:total/2+1;
		return page;
	}
}

商品信息控制层:

@Controller
@RequestMapping("/goodsInfo")
public class GoodsInfoController  {
	@Autowired
	private IGoodsInfoBiz goodsInfoBiz;

	
	@RequestMapping("/findAll")
	@ResponseBody
	public List<GoodsInfo> findAll() {									
		return goodsInfoBiz.findAll();
	}
	
	@RequestMapping("/find")
	@ResponseBody
	public GoodsInfo find(String str) {
		System.out.println(goodsInfoBiz.find(str));
		return goodsInfoBiz.find(str);
	}
	
	@RequestMapping("/findByTno")
	@ResponseBody
	public List<GoodsInfo> findByTno(String tno,String start) {
		return goodsInfoBiz.findByTno(tno,start);
	}
	
	@RequestMapping("/updateBal")
	@ResponseBody
	public Integer updateBal(String[] gnos,String[] nums) {
		return goodsInfoBiz.updateBal(gnos,nums);
	}
	
	
	@RequestMapping("/finds")
	@ResponseBody
	public List<GoodsInfo> finds() {
		return goodsInfoBiz.finds();
	}
	@RequestMapping("/upload")
	@ResponseBody
	public Map<String, Object> add(@RequestParam("upload")MultipartFile pic,HttpServletRequest request) {
		Map<String, Object> map = new HashMap<String, Object>();
		if(pic.isEmpty()){
			return map;
		}
		try{
			String savePath = "images/goods";
			
			String path = request.getServletContext().getRealPath("");
			String temp = request.getServletContext().getInitParameter("uploadPath");
			if(temp != null){
				savePath = temp;
			}
			
			//在用户上传的文件名的前面加上时间戳
			savePath += "/" + new Date().getTime() + "_" +pic.getOriginalFilename();
			File dest = new File(new File(path).getParentFile(),savePath);
			
			//将本地图片保存到服务器
			pic.transferTo(dest);
			
			map.put("fileName", pic.getOriginalFilename());
			map.put("uploaded", 1);
			map.put("url","../../../"+savePath);
		}catch(IllegalStateException e){
			e.printStackTrace();
		}catch(IOException e){
			e.printStackTrace();
		}
		return map;
		
	}
	//管理员端的商品信息
	@RequestMapping("/addGood")
	@ResponseBody
	public int addGood(@RequestParam Map<String,Object> map,@RequestParam MultipartFile pic, HttpServletRequest request){
		int result =-1;

		if(pic.isEmpty()){
			result=-2;//说明没有图片需要上传
		}
		String savePath="";
		try {
			String path= request.getServletContext().getRealPath("");
			String temp = request.getServletContext().getInitParameter("uploadpath");
			if(!StringUtil.checkNull(temp)){
				savePath = temp;
			}
			
			savePath="images/goods/"+pic.getOriginalFilename();

			File dest = new File(path, savePath);
			//将图片存到服务器的指定文件夹
			pic.transferTo(dest);

		} catch (IllegalStateException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		map.put("pics", savePath);
		result=goodsInfoBiz.addGood(map);
		return result;
	}
	
	@RequestMapping("/findgoods")
	@ResponseBody
	public List<GoodsInfo> findgoods() {									
		return goodsInfoBiz.findgoods();
	}
	
	@RequestMapping("/del")
	@ResponseBody
	public int del(String gno) {			
		return goodsInfoBiz.del(gno);
	}
	
	@RequestMapping("/getPage")
	@ResponseBody
	public Integer getPage(String tno) {
		int total=goodsInfoBiz.getTotal(tno);
		int page=total%10==0?total/10:total/10+1;
		return page;
	}
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>