基于javaweb和mysql的ssm+maven超市进销存管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

基于javaweb和mysql的ssm+maven超市进销存管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

私信源码获取及调试交流

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb的SSM+Maven超市进销存管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

ssm超市进销存管理系统

项目介绍

超市进销存管理系统,主要分为管理员与员工两种角色:管理员主要功能模块有: 进货管理:进货信息、退货信息; 商品信息管理:商品信息、商品类别; 库存管理:库存信息、库存预警、临期产品; 销售管理:销售信息、销售统计、顾客退货办理; 客户信息管理:客户信息; 供应商信息管理:供应商信息; 员工信息管理:员工信息;员工主要功能有: 进货管理:进货信息、退货信息; 商品信息管理:商品信息、商品类别; 库存管理:库存信息、库存预警、临期产品; 销售管理:销售信息、顾客退货办理; 客户信息管理:客户信息; 供应商信息管理:供应商信息;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA。注:该项目暂不支持Eclipse或者MyEclipse; 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版本;

技术栈

  1. 后端:Spring SpringMVC MyBatis

  2. 前端:JSP+bootstrap+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

  2. 将项目中db.properties与spring-mybatis.xml配置文件中的数据库配置改为自己的配置

  3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

  1. 运行项目,在浏览器中输入localhost:8080/chaoshi 登录

注意事项

项目路径必须为localhost:8080/chaoshi,前端代码中已写死,否则会报错;

    @RequestMapping("/insert")  
    public String insert(Staff staff,HttpServletRequest request,Model model){  
    	if(null==staffServiceImp.getbyid(staff.getStaffid())) {
    		staffServiceImp.insert(staff);    		
    	}else {
    		staffServiceImp.update(staff);
    	}
    	return "redirect:getall";

    } 
//    删除
    
    @RequestMapping("/delete")
    public String delete(String staffid) {
    	staffServiceImp.delete(staffid);
    	return "redirect:getall";
    }
//  查询所有
    
  @RequestMapping("/getall")
  public String getall_cus(ModelMap model,
			@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
			) {
		PageHelper.startPage(pn, 4);
		List<Staff> staffs= staffServiceImp.getall();
		PageInfo<Staff> pageInfo=new PageInfo<Staff>(staffs);
		model.addAttribute("pageInfo", pageInfo);
		return "manager/getall_staff";
  }
//根据条件查询
  @RequestMapping("getbyparams")
  public String getbyparams(@RequestParam(value="staffname",required=false)String staffname,@RequestParam(value="staffid",required=false)String staffid,
	@RequestParam(defaultValue="1",required=true,value="pn") Integer pn,HttpServletRequest request,Model model
		) {
	PageHelper.startPage(pn, 100);
	List<Staff> staffs= staffServiceImp.getbyparams(staffid, staffname);
	PageInfo<Staff> pageInfo=new PageInfo<Staff>(staffs);
	model.addAttribute("pageInfo", pageInfo);
	return "manager/getstaffbyparams";
 
  }

/**
 * @Des 
 */
@Controller
@RequestMapping("/staff/flatform/kcxx")
public class KcxxController {
	@Autowired
	KcxxServiceImp kcxxServiceImp;
	
//  跳转到增加页面
	
  @RequestMapping("/toadd")  
  public String toadd(){  
  	return "addkcxx";

  } 
//  跳转到修改页面
    
    @RequestMapping("/toupdate")  
	public String editProduct(Kcxx kcxx,HttpServletRequest request,Model model){
		model.addAttribute("kcxx", kcxxServiceImp.getbyid(kcxx.getProid()));
		return "editkcxx";
	}
//  先判断数据库有没有,有就更新,没有就新增
}

/**
 * @Des 顾客退货
 */
@Controller
@RequestMapping("/manager/flatform/ckretire")
public class MCkretireController {
	@Autowired
	CkretireServiceImp ckretireServiceImp;
	@Autowired
	CkinServiceImp ckinServiceImp;
//	获取所有退货信息
	@RequestMapping("getall")
	public String getlist(ModelMap model,
			@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
			) {
		PageHelper.startPage(pn, 4);
		List<Ckretire> ckretire= ckretireServiceImp.getall();
		PageInfo<Ckretire> pageInfo=new PageInfo<Ckretire>(ckretire);
		model.addAttribute("pageInfo", pageInfo);
		return "manager/getall_ckretire";
		
	}
			return "redirect:/manager/login";
		}
		List<Kcxx> kcxx=kcxxServiceImp.kcxxWithProdata();
		List<Kcxx> kcxx2=kcxxServiceImp.kcxxWithPronum();
		if(!kcxx.isEmpty()||!kcxx2.isEmpty()) {
			request.setAttribute("msg", "存在预警信息请及时处理");
		}else {
			request.setAttribute("msg", "");
		}
		return "manager/main";
	}
	@RequestMapping(value="/logout")
	public String logout(HttpSession session) {
//		退出清除esison
		session.removeAttribute(Constants.Staff_SESSION);
		session.invalidate();
		return "redirect:/manager/login";
		
	}
	
	@RequestMapping("/getbyid")
	public String grxx(String managerid,HttpServletRequest request,Model model){
		 request.setAttribute("manager", managerServiceImp.getmanager(managerid));
	     model.addAttribute("manager",managerServiceImp.getmanager(managerid));  
	     return "manager/grxx"; 
		
	}
	@RequestMapping("/update")
    public String update(Manager manager,HttpServletRequest request,Model model){
    	if(managerServiceImp.update(manager)) {
    		manager=managerServiceImp.getmanager(manager.getManagerid());
    		model.addAttribute("manager", manager);
    		return "redirect:/manager/login"; 
    	}
    	return null;
    }
//  跳转到修改个人信息页面
    
    @RequestMapping("/toupdate")  
	public String editmanager(Manager manager,HttpServletRequest request,Model model){
		model.addAttribute("manager", managerServiceImp.getmanager(manager.getManagerid()));
		return "manager/editmanager";
	}
    
//  跳转到增加页面
	
  @RequestMapping("/toadd")  
  public String toadd(){  
  	return "manager/addstaff";
    public String getbyid(String proid,HttpServletRequest request,Model model) {
        request.setAttribute("kcxx", kcxxServiceImp.getbyid(proid));
        model.addAttribute("kcxx",kcxxServiceImp.getbyid(proid));  
        return "getall"; 
  		
  	}
    @RequestMapping("/kcxxWithPro")
    public String kcxxWithPro(String proid,HttpServletRequest request,Model model) {
    	Kcxx kcxx=kcxxServiceImp.kcxxWithPro(proid);
        request.setAttribute("kcxx", kcxx);
        model.addAttribute("kcxx",kcxx);  
        return "getkcxx"; 
  		
  	}
//    库存预警
    @RequestMapping("/kcxxWithPronum")
    public String kcxxWithPronum(ModelMap model,
			@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
			) {
		PageHelper.startPage(pn, 4);
		List<Kcxx> kcxxs= kcxxServiceImp.kcxxWithPronum();
		PageInfo<Kcxx> pageInfo=new PageInfo<Kcxx>(kcxxs);
		model.addAttribute("pageInfo", pageInfo);
		return "getkcxx_num";
		
	}
//    临期产品
    @RequestMapping("/kcxxWithProdata")
    public String kcxxWithProdata(ModelMap model,
			@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
			) {
		PageHelper.startPage(pn, 4);
		List<Kcxx> kcxxs= kcxxServiceImp.kcxxWithProdata();
		PageInfo<Kcxx> pageInfo=new PageInfo<Kcxx>(kcxxs);
		model.addAttribute("pageInfo", pageInfo);
		return "getkcxx_data";
		
	}
    @InitBinder
    protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
    }
//	按条件获取所有进货信息
	@RequestMapping("getbyparams")
	public String getbyparams(HttpServletRequest request,Model model,@RequestParam(value="proid",required=false)String proid,
    		@RequestParam(value="pname",required=false)String pname,@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
    		) {
		PageHelper.startPage(pn, 100);
		List<Kcxx> ckin= kcxxServiceImp.getbyparams(proid,pname);
		PageInfo<Kcxx> pageInfo=new PageInfo<Kcxx>(ckin);
		model.addAttribute("pageInfo", pageInfo);
    @RequestMapping("/deletepro")  
    public String deletetepro(String proid,HttpServletRequest request,Model model){  
    	productServiceImp.deleteByPrimaryKey(proid);
        return "redirect:getlist";  
    } 
//  跳转到增加页面
    @RequestMapping("/toaddpro")  
  public String toaddpro(){  
  	return "addpro";

  } 
    
    @RequestMapping("/insertpro")  
//    先判断数据库有没有,有就更新,没有就新增
    public String insertpro(Product product,HttpServletRequest request,Model model){  
    	if(null==productServiceImp.selectByPrimaryKey(product.getProid())) {
        	productServiceImp.insert(product);   
        	return "redirect:getlist";
    	}else {
    		request.setAttribute("msg", "新增失败,系统中存在该id的商品,请重新输入!");
    		return "addpro";
    	}
    } 
    @InitBinder
    protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
    }
    
    @RequestMapping("/getproduct")  
    @ResponseBody
    public Product getproduct(String proid,HttpServletRequest request,Model model){  
        Product product= new Product();
        product=productServiceImp.selectByPrimaryKey(proid);
        return product;  
    }
    
}

	
//  跳转到增加页面
	
  @RequestMapping("/toadd")  
  public String toaddCustom(){  
  	return "addcus";

  } 
//  跳转到修改页面
    
    @RequestMapping("/toupdate")  
	public String editProduct(Custom custom,HttpServletRequest request,Model model){
		model.addAttribute("custom", customServiceImp.getByid(custom.getCusid()));
		return "editcus";
	}
//  先判断数据库有没有,有就更新,没有就新增
    
    @RequestMapping("/insert")  
    public String insert(Custom custom,HttpServletRequest request,Model model){  
    	if(null==customServiceImp.getByid(custom.getCusid())) {
    		customServiceImp.insert(custom);    		
    	}else {
    		customServiceImp.update(custom);
    	}
    	return "redirect:getall";

    } 
//    删除
    
    @RequestMapping("/delete")
    public String delete(String cusid) {
    	customServiceImp.delete(cusid);
    	return "redirect:getall";
    }
//    修改
    
    @RequestMapping("/update")
    public String update(Custom custom,HttpServletRequest request,Model model){
    	if(customServiceImp.update(custom)) {
    		custom=customServiceImp.getByid(custom.getCusid());
    		model.addAttribute("custom", custom);
    		return "redirect:getall"; 
    	}
    	return null;
    }
    
//    查询所有
    
    @RequestMapping("/getall")
    public String getall_cus(ModelMap model,
			@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
			) {
		PageHelper.startPage(pn, 4);
    public String kcxxWithPronum(ModelMap model,
			@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
			) {
		PageHelper.startPage(pn, 4);
		List<Kcxx> kcxxs= kcxxServiceImp.kcxxWithPronum();
		PageInfo<Kcxx> pageInfo=new PageInfo<Kcxx>(kcxxs);
		model.addAttribute("pageInfo", pageInfo);
		return "getkcxx_num";
		
	}
//    临期产品
    @RequestMapping("/kcxxWithProdata")
    public String kcxxWithProdata(ModelMap model,
			@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
			) {
		PageHelper.startPage(pn, 4);
		List<Kcxx> kcxxs= kcxxServiceImp.kcxxWithProdata();
		PageInfo<Kcxx> pageInfo=new PageInfo<Kcxx>(kcxxs);
		model.addAttribute("pageInfo", pageInfo);
		return "getkcxx_data";
		
	}
    @InitBinder
    protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
    }
//	按条件获取所有进货信息
	@RequestMapping("getbyparams")
	public String getbyparams(HttpServletRequest request,Model model,@RequestParam(value="proid",required=false)String proid,
    		@RequestParam(value="pname",required=false)String pname,@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
    		) {
		PageHelper.startPage(pn, 100);
		List<Kcxx> ckin= kcxxServiceImp.getbyparams(proid,pname);
		PageInfo<Kcxx> pageInfo=new PageInfo<Kcxx>(ckin);
		model.addAttribute("pageInfo", pageInfo);
		return "getkcxxbyparams";
		
	}
	}	
	@RequestMapping("updatepro")
	public String updatepro(Product product,HttpServletRequest request,Model model){  
    	if(productServiceImp.updateByPrimaryKey(product)) {
    		product=productServiceImp.selectByPrimaryKey(product.getProid());
    		model.addAttribute("product", product);
    		return "redirect:getlist"; 
    	}
    	return null;
         
    } 
    @RequestMapping("/deletepro")  
    public String deletetepro(String proid,HttpServletRequest request,Model model){  
    	productServiceImp.deleteByPrimaryKey(proid);
        return "redirect:getlist";  
    } 
//  跳转到增加页面
    @RequestMapping("/toaddpro")  
  public String toaddpro(){  
  	return "manager/addpro";

  } 
    
    @RequestMapping("/insertpro")  
//    先判断数据库有没有,有就更新,没有就新增
    public String insertpro(Product product,HttpServletRequest request,Model model){  
    	if(null==productServiceImp.selectByPrimaryKey(product.getProid())) {
        	productServiceImp.insert(product);  
        	return "redirect:getlist";
    	}else {
    		request.setAttribute("msg", "新增失败,系统中存在该id的商品,请重新输入!");
    		return "addpro";
    	}
    	

    } 
    @InitBinder
    protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
    	}
    	

    } 
    @InitBinder
    protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
    }
    @RequestMapping("/getproduct")  
    @ResponseBody
    public Product getproduct(String proid,HttpServletRequest request,Model model){  
        Product product= new Product();
        product=productServiceImp.selectByPrimaryKey(proid);
        return product;  
    }
    

}


/**
 * @Des 
 */
@Controller
@RequestMapping("/manager/flatform/sale")
public class MSaleController {
	@Autowired
	SaleServiceImp saleServiceImp;

	
	
//  跳转到增加页面
	
  @RequestMapping("/toadd")  
  public String toadd(){  
  	return "manager/addsale";

  } 
//  跳转到修改页面
    
    @RequestMapping("/toupdate")  
	public String editSale(Sale sale,HttpServletRequest request,Model model){
		model.addAttribute("sale", saleServiceImp.getbyid(sale.getSaleid()));
		return "manager/editSale";
	}
//  先判断数据库有没有,有就更新,没有就新增
    

    @InitBinder
    protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
    }
    
//	按条件获取所有进货信息
	@RequestMapping("getbyparams")
	public String getbyparams(HttpServletRequest request,Model model,@RequestParam(value="proid",required=false)String proid,
    		@RequestParam(value="inid",required=false)String inid,@RequestParam(value="pname",required=false)String pname,
    		@RequestParam(value="retdate",required=false)String retdate,@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
    		) {
		PageHelper.startPage(pn, 100);
		List<Ckretire> ckin= ckretireServiceImp.getbyparams(proid, inid, pname, retdate);
		PageInfo<Ckretire> pageInfo=new PageInfo<Ckretire>(ckin);
		model.addAttribute("pageInfo", pageInfo);
		return "getckretirebyparams";
		
	}

//	根据id查询单个信息
    @RequestMapping("/getckret")  
    @ResponseBody
    public Ckin ckretire(String inid,HttpServletRequest request,Model model){  
    	Ckin ckretire=new Ckin();
        ckretire= ckinServiceImp.getbyid(inid);
        return ckretire;  
    }

}


}

/**
 * @Des 
 */
@Controller
@RequestMapping("/staff/flatform/product")
public class ProductController {
	@Autowired
//	根据id查询单个商品信息
    @RequestMapping("/getpro")  
    public String getpro(String proid,HttpServletRequest request,Model model){  
        request.setAttribute("product", productServiceImp.selectByPrimaryKey(proid));
        model.addAttribute("product",productServiceImp.selectByPrimaryKey(proid));  
        return "manager/getpro";  
    }
//    根据条件查询
    @RequestMapping("/getprobyparams")  
    public String getbyparams(HttpServletRequest request,Model model,@RequestParam(value="proid",required=false)String proid,
    		@RequestParam(value="supname",required=false)String supname,@RequestParam(value="pname",required=false)String pname,
    		@RequestParam(value="protype",required=false)String protype,@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
    		){
    	PageHelper.startPage(pn, 100);
    	List<Product> products= productServiceImp.getbyparams(proid, supname, pname, protype);
    	PageInfo<Product> pageInfo=new PageInfo<Product>(products);
		model.addAttribute("pageInfo", pageInfo);
		return "manager/getprobyparams";
    	
    	
        
    }
	@RequestMapping("editpro")
	public String editProduct(Product pro,HttpServletRequest request,Model model){
		model.addAttribute("product", productServiceImp.selectByPrimaryKey(pro.getProid()));
		return "manager/editpro";
	}	
	@RequestMapping("updatepro")
	public String updatepro(Product product,HttpServletRequest request,Model model){  
    	if(productServiceImp.updateByPrimaryKey(product)) {
    		product=productServiceImp.selectByPrimaryKey(product.getProid());
    		model.addAttribute("product", product);
    		return "redirect:getlist"; 
    	}
    	return null;
         
    } 
    @RequestMapping("/deletepro")  
    public String deletetepro(String proid,HttpServletRequest request,Model model){  
    	productServiceImp.deleteByPrimaryKey(proid);
        return "redirect:getlist";  
    } 
//  跳转到增加页面
    @RequestMapping("/toaddpro")  
  public String toaddpro(){  
  	return "manager/addpro";

  } 
    
    @RequestMapping("/insertpro")  
//    先判断数据库有没有,有就更新,没有就新增
    public String insertpro(Product product,HttpServletRequest request,Model model){  
    	if(null==productServiceImp.selectByPrimaryKey(product.getProid())) {
        	productServiceImp.insert(product);  
    		@RequestParam(value="pname",required=false)String pname,@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
    		) {
		PageHelper.startPage(pn, 100);
		List<Kcxx> ckin= kcxxServiceImp.getbyparams(proid,pname);
		PageInfo<Kcxx> pageInfo=new PageInfo<Kcxx>(ckin);
		model.addAttribute("pageInfo", pageInfo);
		return "getkcxxbyparams";
		
	}
	@RequestMapping("getkcxx")
	@ResponseBody
    public Kcxx getkcxx(String proid,HttpServletRequest request,Model model) {
        Kcxx kcxx=new Kcxx();
        kcxx=kcxxServiceImp.getbyid(proid);
        return kcxx; 
  		
  	}

}

/**
	     model.addAttribute("manager",managerServiceImp.getmanager(managerid));  
	     return "manager/grxx"; 
		
	}
	@RequestMapping("/update")
    public String update(Manager manager,HttpServletRequest request,Model model){
    	if(managerServiceImp.update(manager)) {
    		manager=managerServiceImp.getmanager(manager.getManagerid());
    		model.addAttribute("manager", manager);
    		return "redirect:/manager/login"; 
    	}
    	return null;
    }
//  跳转到修改个人信息页面
    
    @RequestMapping("/toupdate")  
	public String editmanager(Manager manager,HttpServletRequest request,Model model){
		model.addAttribute("manager", managerServiceImp.getmanager(manager.getManagerid()));
		return "manager/editmanager";
	}
    
//  跳转到增加页面
	
  @RequestMapping("/toadd")  
  public String toadd(){  
  	return "manager/addstaff";

  } 

//跳转到修改员工信息页面
  
  @RequestMapping("/toupdatestaff")  
	public String editstaff(Staff staff,HttpServletRequest request,Model model){
		model.addAttribute("staff", staffServiceImp.getbyid(staff.getStaffid()));
		return "manager/editstaff";
	}   
  //修改员工信息
	@RequestMapping("/updatestaff")
    public String updatestaff(Staff staff,HttpServletRequest request,Model model){
    	if(staffServiceImp.update(staff)) {
    		staff=staffServiceImp.getbyid(staff.getStaffid());
    		model.addAttribute("staff", staff);
    		return "redirect:getall"; 
    	}
    	return null;
    }
   
//  先判断数据库有没有,有就更新,没有就新增
    
    @RequestMapping("/insert")  
    public String insert(Staff staff,HttpServletRequest request,Model model){  

/**
 * @Des 
 */
@Controller
@RequestMapping("/staff")
public class StaffController {
	private Logger logger=Logger.getLogger(StaffController.class);
	@Autowired
	StaffServiceImp staffServiceImp;
	@RequestMapping("/login")
	public String login() {
		logger.debug("LoginController welcome AppInfoSystem develpor==================");
		return "stafflogin";
	}
	@RequestMapping(value="/dologin")
	public String dologin(@RequestParam String staffid,@RequestParam String pwd,
			HttpSession session,HttpServletRequest request) {
		Staff staff=staffServiceImp.getStaff(staffid, pwd);
		if(staff!=null) {
			session.setAttribute(Constants.Staff_SESSION, staff);
			return "redirect:/staff/flatform/main";
		}else {
			request.setAttribute("error", "账号密码不匹配");
			return "stafflogin";
		}
	}
	@RequestMapping(value="/flatform/main")
	public String main(HttpSession session) {
//		验证是否有session信息,防止非法登录,没有就跳转到登录页面
		if(session.getAttribute(Constants.Staff_SESSION)==null)
		{
			return "redirect:/staff/login";
		}
		return "main";
	}
	@RequestMapping(value="/logout")
	public String logout(HttpSession session) {

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java毕业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值