基于javaweb的仓库管理系统

一、系统简介

本项目采用eclipse工具开发,jsp+servlet技术编写,样式采用了layui前段框架,数据库采用的是mysql,navicat开发工具。

系统一共分为3个角色分别是:管理员,仓管员,供应商

二、模块简介

管理员

1、登录

2、仓管员管理

3、仓库管理

4、供应商管理

5、商品管理

6、出库入库管理

仓管员

1、登录

2、个人信息维护

3、查看商品信息

4、库存预警

5、商品申请

6、商品供应记录

7、商品出库入库

供应商

1、登录注册

2、个人信息维护

3、商品出库入库申请

4、个人申请记录

三、项目截图

项目结构

基于javaweb的仓库管理系统_第1张图片

 数据库结构

基于javaweb的仓库管理系统_第2张图片

 登录

基于javaweb的仓库管理系统_第3张图片

 注册

基于javaweb的仓库管理系统_第4张图片

 仓管员管理

基于javaweb的仓库管理系统_第5张图片

 仓库管理

基于javaweb的仓库管理系统_第6张图片

 供应商管理

基于javaweb的仓库管理系统_第7张图片

基于javaweb的仓库管理系统_第8张图片

 商品管理

基于javaweb的仓库管理系统_第9张图片

 基于javaweb的仓库管理系统_第10张图片

 出库入库管理

基于javaweb的仓库管理系统_第11张图片

基于javaweb的仓库管理系统_第12张图片

 四、代码简介

1、登录

login.jsp中,用户填写用户名和密码,点击登录按钮,提交登录的form表单,请求后台的loginservlet类里面的login方法,验证登录后,跳转指定的页面

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>


	
		
		 仓   库   管  理  系  统
		
		
		
	
    
	
		
登  录
仓 库 管 理 系 统
${message}

	private void login(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		removeAll(request,response);
		String userName = request.getParameter("userName");
		String password = request.getParameter("password");
		String type = request.getParameter("type");
		if(type.equals("1")){
			Admin admin = new Admin();
			admin.setUsername(userName);
			admin.setPwd(password);
			Admin admin1 = service.selectAdmin(admin);
			  try {
					 if (admin1 == null){
			        	  request.setAttribute("message", "管理员用户不存在或者密码错误");
						  request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
			         }else {
			        	  request.getSession().setAttribute("admin",admin1);
			        	  request.getSession().setAttribute("flag",1);
			              request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response);
			         }				
				 } catch (Exception e) {
				 	e.printStackTrace();
				 }
		 }else if(type.equals("2")){
			 Keeper keep = new Keeper();
			 keep.setUsername(userName);
			 keep.setPwd(password);
			 Keeper keep1 = service.selectKeeper(keep);
			  try {
					 if (keep1 == null){
			        	  request.setAttribute("message", "仓管员不存在或者密码错误");
						  request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
			         }else {
			        	  request.getSession().setAttribute("keeper",keep1);
			        	  request.getSession().setAttribute("flag",2);
			              request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response);
			         }				
				 } catch (Exception e) {
				 	e.printStackTrace();
				 }
		 }else if(type.equals("3")){
			 Supplier supplier = service.selectSupplier(userName,password);
			  try {
					 if (supplier == null){
			        	  request.setAttribute("message", "供应商不存在或者密码错误");
						  request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
			         }else {
			        	  request.getSession().setAttribute("supplier",supplier);
			        	  request.getSession().setAttribute("flag",3);
			              request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response);
			         }				
				 } catch (Exception e) {
				 	e.printStackTrace();
				 }
		 }else{
			    request.setAttribute("message", "账号不存在或者密码错误");
			    try {
				request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
				} catch (Exception e) {
					e.printStackTrace();
				} 
		 }
	}

注册代码

用户点击注册按钮,跳转注册页面,填写注册表单,提交代码到SupplierServlet里面addSupplier方法中,后台进行数据库的插入操作,这边注册的是供应商,管理员需要审核通过后,供应商才能登陆

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
	     <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
	
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>


	
		
		
		
		
		
	
    
	
		
注  册
仓 库 管 理 系 统
${message}

	private void addSupplier(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String te = request.getParameter("te");
		String names = request.getParameter("names");
		
		String username = request.getParameter("username");
		String pwd = request.getParameter("pwd");
		String sex = request.getParameter("sex");
		Supplier ss = service.selectSupplierByUsername(username);
		Supplier s1 = new Supplier();
		s1.setName(names);
		s1.setUsername(username);
		s1.setPwd(pwd);
		s1.setSex(sex);
		s1.setTimes(new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()));
		s1.setState("1");
		try {
			if(te != null && te.equals("1")){
				if(ss !=null){
					request.setAttribute("message", "登录账号重复!");
					request.getRequestDispatcher("/WEB-INF/views/register.jsp").forward(request,response);
				}else{
					service.addSupplier(s1);
				    request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
				}
			}else{
				if(ss !=null){
					request.setAttribute("message", "登录账号重复!");
					request.getRequestDispatcher("/WEB-INF/views/supplier/addSupplier.jsp").forward(request,response);
				}else{
					service.addSupplier(s1);
		 			response.sendRedirect(request.getContextPath()+"/SupplierServlet?action=supplierList");
				}
			}
			
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

仓管员列表

分页查询仓管员的信息,返回给keepList.jsp,前端页面使用jstl进行遍历显示

private void keeperList(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String p=request.getParameter("p");//接收页码
        int pageSize=4;//每页显示5条
        int pageNum=1; //默认第一页
        if(p!=null){
            pageNum= Integer.parseInt(p);
        }
        //调用分页查询
        List list=service.geKeeperListPage(pageNum,pageSize);
        //携带参数到页面
        int nums=service.queryKeeperCount(); //查询总数
        //计算总页数
        int totalPage=(nums%pageSize==0)? (nums/pageSize):(nums/pageSize+1);
        request.setAttribute("cp",pageNum); //当前页
        request.setAttribute("tp",totalPage); //总页数
		try {
         request.removeAttribute("msg");
         request.setAttribute("list" ,list);
         request.getRequestDispatcher("/WEB-INF/views/keeper/keeperList.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>




	
仓管员列表
${msg}
姓名 用户账号 密码 性别 创建时间 操作
${u.name } ${u.username } ${u.pwd } ${u.sex } ${u.times } 修改 删除
首页 <%-- 判断是否有上一页--%> 上一页 <%-- 循环显示页码--%> <%-- 判断是否是当前页--%> ${e} ${e} <%-- 判断是否有下一页--%> 下一页 尾页

新增仓管员

点击新增按钮,跳转到新增仓管员的页面,填写新增仓管员的表单,点击提交,提交到后台KeeperServlet类中的addKeeper方法里面,进行数据库的插入操作!!


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
     <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
      <%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>



 
  
新增仓管员
${message}

重置
	private void addKeeper(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub

		String names = request.getParameter("names");
		String username = request.getParameter("username");
		String pwd = request.getParameter("pwd");
		String sex = request.getParameter("sex");
		Keeper keeper = service.selectKeeperByUsername(username);
		Keeper keeper1 = new Keeper();
		keeper1.setName(names);
		keeper1.setUsername(username);
		keeper1.setPwd(pwd);
		keeper1.setSex(sex);
		keeper1.setTimes(new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()));
		try {
			if(keeper !=null){
				request.setAttribute("message", "登录账号重复!");
				request.getRequestDispatcher("/WEB-INF/views/keeper/addKeeper.jsp").forward(request,response);
			}else{
				service.addKeeper(keeper1);
	 			response.sendRedirect(request.getContextPath()+"/KeeperServlet?action=keeperList");
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

删除功能

点击删除按钮,执行指定的javascript代码,调用后端KeeperServlet类中的deleteKeeper方法,删除完成后,在进行页面查询返回给list页面

	     $('a.layui-btn-danger').click(function(e){
   		            var id = $(e.currentTarget).parent().find('.weui-input').attr('id');
			   		if(confirm("确定要删除吗?")){
			   		  $.post("KeeperServlet?action=deleteKeeper&id="+id, function(data) {
			   			   layer.msg('删除成功!',{icon:6,offset:"auto",time:2000},function(){
						    	document.location.reload();//当前页面
						    });
			   		   }); 
			   	}
   		})

	private void deleteKeeper(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String id = request.getParameter("id");
		try {
			service.deleteKeeper(id);
 			response.sendRedirect(request.getContextPath()+"/KeeperServlet?action=keeperList");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

其他模块代码都是类似的,此项目适合初学者学习

喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!

感谢  = v =

项目截图中的数据,很多是用来测试的,需要自行添加合适的数据图片!!

你可能感兴趣的:(javaweb,java,eclipse,mysql,servlet)