Java项目:在线药店管理系统(java+JSP+bootstrap+jQuery+Mysql)

news/2024/7/11 0:36:31 标签: bootstrap, java, jquery, mysql, jsp

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

基于jsp+servlet在线药店管理系统。
该项目是一个后管系统,只有一个管理员角色,功能比较简单,适合java初学者或者学生做课程设计等;


主要功能包括:

用户登录、注册;系统管理、药品管理、顾客信息管理、供货商管理、订单管理等;

环境需要

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版本;


技术栈

1. 后端:servlet
2. 前端:JSP+bootstrap+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
3. 将项目中c3p0.properties配置文件中的数据库配置改为自己的配置
4. 运行项目,输入http://localhost:8080/shop 登录
5. 账户admin 密码123456

 

 

 

 

 

 

管理员前端控制器:

/**
 * 管理员前端控制器
 */
@Slf4j
@Controller
@RequestMapping("/admin")
public class DrugAdminController {

	@Autowired
	private DrugAdminService adminService;

	/**
	 * 分页获取管理员列表(含关键词搜索)
	 * @param keyword
	 * @param pageNum
	 * @param pageSize
	 * @param map
	 * @return
	 */
	@GetMapping("/get/page.html")
	public String getPageInfo( // [defaultValue]设置默认值
			@RequestParam(value = "keyword", defaultValue = "")String keyword,
			@RequestParam(value = "pageNum", defaultValue = "1")Integer pageNum,
			@RequestParam(value = "pageSize", defaultValue = "5")Integer pageSize,
			ModelMap map){

		PageInfo<DrugAdmin> pageInfo = adminService.getPageInfo(keyword, pageNum, pageSize);
		map.addAttribute("pageInfo",pageInfo);
		return "admin-page";
	}

	/**
	 * 删除admin
	 * @param userId
	 * @param pageNum
	 * @param keyword
	 * @return
	 */
	@GetMapping("/remove/{userId}/{pageNum}/{keyword}.html")
	public String removeAdmin(@PathVariable("userId")String userId,
							  @PathVariable("pageNum")Integer pageNum,
							  @PathVariable("keyword")String keyword){

		adminService.removeAdmin(userId);
		return "redirect:/admin/get/page.html?pageNum=" + pageNum + "&keyword=" + keyword;
	}

	/**
	 * 新增admin
	 * @param admin
	 * @return
	 */
	@PostMapping("/save.html")
	public String saveAdmin(DrugAdmin admin){
		log.debug("admin:{}",admin);
		adminService.saveAdmin(admin);
		return "redirect:/admin/get/page.html?pageNum=" + Integer.MAX_VALUE;
	}

	/**
	 * 修改时回显admin数据
	 * @return
	 */
	@GetMapping("/to/edit/page.html")
	public String echoAdmin(@RequestParam("adminId") String adminId, ModelMap map){
		DrugAdmin admin = adminService.getAdminById(adminId);
		map.addAttribute("selAdmin",admin);
		return "admin-edit";
	}

	/**
	 * 修改admin
	 * @param admin
	 * @param pageNum
	 * @param keyword
	 * @return
	 */
	@PostMapping("/edit.html")
	public String editAdmin(DrugAdmin admin,
							@RequestParam("pageNum") Integer pageNum,
							@RequestParam("keyword") String keyword){
		adminService.editAdmin(admin);
		return "redirect:/admin/get/page.html?pageNum=" + pageNum + "&keyword=" + keyword;
	}
}

药品前端控制器:

/**
 * 药品前端控制器
 */
@Slf4j
@RestController
@RequestMapping("/medicine")
public class DrugMedicineController {

	@Autowired
	private DrugMedicineService medicineService;

	/**
	 * 分页获取药品
	 * @param medicineName
	 * @param medicineType
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	@PostMapping("/get/page.json")
	public ResultEntity<PageInfo<DrugMedicine>> getPageInfo(
			@RequestParam(value = "medicineName",defaultValue = "") String medicineName,
			@RequestParam(value = "medicineType",defaultValue = "") String medicineType,
			@RequestParam(value = "pageNum",defaultValue = "1") String pageNum,
			@RequestParam(value = "pageSize",defaultValue = "5") String pageSize
	){
		return medicineService.getPageInfo(medicineName, medicineType, pageNum, pageSize);
	}

	/**
	 * 新增药品(并返回新增后总数量)
	 * @param medicine
	 * @return
	 */
	@PostMapping("/save.json")
	public ResultEntity<Integer> saveMedicine(DrugMedicine medicine){
		return medicineService.saveMedicine(medicine);
	}

	/**
	 * 修改药品
	 * @param medicine
	 * @return
	 */
	@PostMapping("/edit.json")
	public ResultEntity<String> editMedicine(DrugMedicine medicine){
		return medicineService.editMedicine(medicine);
	}

	/**
	 * 删除药品
	 * @param medicineId
	 * @return
	 */
	@PostMapping("/del.json")
	public ResultEntity<String> removeMedicine(@RequestParam("medicineId") String medicineId){
		return medicineService.removeMedicine(medicineId);
	}
}

供应商相关的controller:

/**
 * 供应商相关的controller
 */
@Controller
@RequestMapping(value = "/supplier")
public class SupplierController {

    @Autowired
    private ISupplierService supplierService;

    /**
     * 转向供应商页面
     */
    @RequestMapping
    public String supplier(){
        return "/supplier";
    }

    /**
     * 分页查询供应商列表
     */
    @RequestMapping(value = "/supplierQueryPage")
    @ResponseBody
    public Object supplierQueryPage(String param, @RequestParam(defaultValue = "1")int pageNum,@RequestParam(defaultValue = "10")int pageSize){
        try{
            IPage<Supplier> iPage = supplierService.selectSupplierPage(pageNum,pageSize,param);
            return ResultMapUtil.getHashMapMysqlPage(iPage);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }

    /**
     * 转向供应商新增页面
     */
    @RequestMapping(value = "/supplierPage")
    public String supplierPage(){
        return "/supplierPage";
    }

    /**
     * 添加一个供应商
     */
    @RequestMapping(value = "/supplierAdd")
    @ResponseBody
    public Object supplierAdd(Supplier supplier){
        try{
            supplier.setCreatetime(new Date());
            int i = supplierService.addSupplier(supplier);
            return ResultMapUtil.getHashMapSave(i);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }

    /**
     * 转向供应商编辑页面
     */
    @RequestMapping(value = "/supplierQueryById")
    public String supplierQueryById(@RequestParam(name = "id",required = true)Integer id, Model model){
        Supplier supplier = supplierService.querySupplierById(id);
        model.addAttribute("obj",supplier);
        return "/supplierPage";
    }

    /**
     * 修改一个供应商
     */
    @RequestMapping(value = "/supplierEdit")
    @ResponseBody
    public Object supplierEdit(Supplier supplier){
        try{
            int i = supplierService.editSupplier(supplier);
            return ResultMapUtil.getHashMapSave(i);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }

    /**
     * 删除一个供应商
     */
    @RequestMapping(value = "/supplierDelById")
    @ResponseBody
    public Object supplierDelById(Integer id){
        try{
            int i = supplierService.delSupplierById(id);
            return ResultMapUtil.getHashMapDel(i);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }

    /**
     * 获取所有供应商
     */
    @RequestMapping(value = "/supplierList")
    @ResponseBody
    public Object supplierList(){
        List<Supplier> supplierList = supplierService.querySupplierList();
        return ResultMapUtil.getHashMapList(supplierList);
    }

}

源码获取:俺的博客首页 "资源" 里下载!


http://www.niftyadmin.cn/n/1553735.html

相关文章

C20语言,C20的混凝土配合比肿么计算?

您好&#xff01;我是一名学建筑的&#xff01;显然&#xff0c;建筑中的C20之类是用以表示混凝土强度等级的符号&#xff0c;其中C是“混凝土”的英文单词concrete的缩写&#xff1b;20是代表这种混凝土的立方体抗压强度fcu&#xff0c;k20MPa的意思了&#xff1b;至于各种强度…

Java项目:会议室预约系统(java+JSP+bootstrap+Servlet+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 项目介绍 网上会议室预约系统,该项目是一个前后台的项目&#xff1b; 前台主要功能有&#xff1a; 登录、注册&#xff1b; 首页、预约须知&#xff1b; 会议室预约&#xff1b; 会议室信息&#xff1…

Java项目:图书管理系统(java+JSP+layui+bootstrap+Servlet+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 项目介绍 使用jspservlet、layui、mysql完成的图书馆系统&#xff0c;包含用户图书借阅、图书管理员、系统管理员界面&#xff0c;功能齐全。 开发工具为eclipse/IDEA&#xff0c;环境java8&#xff0…

android activity 传对象,Android开发中在Activity之间传递map和普通对象的几种方法

Android开发中在Activity之间传递map和普通对象的几种方法​在android学习中&#xff0c;我们经常遇到从一个activity传参到另一个activity的问题(即界面传参)&#xff0c;如果我们要传递基本类型的参数&#xff0c;只要利用意图Intent对象intent.putExtra(name,value)方法就行…

Java项目:失物招领系统(java+JSP+Servlet+c3p0+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 项目介绍 本项目分为管理员、学生两种角色 学生可以查看失物、招领发布、信息浏览等&#xff1b; 管理员可以删除信息 环境需要 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台…

android studio 分页,Android Paging codelab

1、介绍你要建造什么在这个代码库中&#xff0c;您从一个示例应用程序开始&#xff0c;该应用程序已经显示了GitHub存储库列表&#xff0c;从数据库加载数据并且由网络数据支持。 只要用户滚动并到达显示列表的末尾&#xff0c;就会触发新的网络请求&#xff0c;并将其结果保存…

android tabbar底部,Android应用开发之Android开发中如何使用BottomTabBar实现底部导航页...

本文将带你了解Android应用开发之Android开发中如何使用BottomTabBar实现底部导航页&#xff0c;希望本文对大家学Android有所帮助。Android开发中如何使用BottomTabBar实现底部导航页。1.导依赖compile com.hjm:BottomTabBar:1.1.12.在XML中定义一下该控件com.hjm.bottomtab…

Java项目:在线学习系统(java+SpringBoot+mybatis+Vue+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 一、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…