基于Javaweb的蛋糕甜品系统-JAVA【毕业设计、快速开发、源码、开题报告】

 

功能介绍

前台功能需求

(1)用户的登录:对已经注册的用户提供登录操作。

(2)用户的注册:针对还未注册的用户完成注册功能的使用,在注册的过程中涉及数据的合法性校验,以及利用ajax完成用户名是否已被注册的异步校验。

(3)商品展示模块:通过分页浏览商品,也可以通过关键词搜索商品。

(4)购物车:用于存放用户的购物内容,用户可根据自己的情况修改自己的购物车。

(5)订单模块:对于已经登录的用户可以对购物车内容进行付款生成订单,可以为自己的订单进行付款。

(6)前台页面的访问权限:对已有账号访问进行权限分类,用户只能进入前台。

系统的前台功能模块图如下:

l 后台功能需求

(1)管理员登录:管理者根据账户和密码进行登录。

(2)商品管理:管理员可以对前台显示的商品进行管理包括分页查看,添加,修改,删除,搜索的功能。

(3)订单管理:管理员可以订单进行查看、删除、发货和搜索。

(4)后台账户管理:管理员可以对后台账户进行增删改查。

(5)用户管理:管理员可以对注册用户进行增删改查。

(6)后台页面的访问权限:对已有账号访问时进行权限分类,管理员只能进入后台。

部分功能模块代码

package servlet.admin;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import  bean.Admin;
import  bean.PageBean;
import  dao.AdminDao;
import  dao.impl.AdminDaoImpl;
import  util.DateUtil;

import net.sf.json.JSONObject;

/**
 * Servlet implementation class UserServlet
 */
@WebServlet("/jsp/admin/AdminManageServlet")
public class AdminManageServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private static final String ADMINLIST_PATH="adminManage/adminList.jsp";//用户列表页面地址
	private static final String ADMINADD_PATH="adminManage/adminAdd.jsp";//用户增加页面地址
	private static final String ADMINEDIT_PATH="adminManage/adminEdit.jsp";//用户修改页面地址

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String action=request.getParameter("action");
		switch(action){
		case "list":
			adminList(request,response);
			break;
		case "add":
			adminAdd(request,response);
			break;
		case "update":
			adminUpdate(request,response);
			break;
		case "edit":
			adminEdit(request,response);
			break;
		case "del":
			adminDel(request,response);
			break;
		case "batDel":
			adminBatDel(request,response);
			break;
		case "find":
			adminFind(request,response);
			break;
		}

	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
	
	//查询用户列表
	private void adminList(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		AdminDao ad=new AdminDaoImpl();
		int curPage=1;
		String page=request.getParameter("page");
		if(page!=null){
			curPage=Integer.parseInt(page);
		}
		//获取xml中设置的每页显示大小参数
		int maxSize=Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
		
		PageBean pageBean=new PageBean(curPage,maxSize,ad.cakeReadCount());
		
		request.setAttribute("adminList", ad.userList(pageBean));
		request.setAttribute("pageBean", pageBean);
		
		request.getRequestDispatcher(AdminManageServlet.ADMINLIST_PATH).forward(request, response);
		
	}
	
	//增加用户
	private void adminAdd(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		AdminDao ad=new AdminDaoImpl();
		Admin admin=new Admin(request.getParameter("userName"),request.getParameter("passWord"),
				request.getParameter("name"));
		//添加之前判断用户名是否在库中存在
		if(new AdminDaoImpl().findUser(admin.getUserName())){
			request.setAttribute("adminMessage", "用户添加失败!用户名已存在");
			request.getRequestDispatcher(AdminManageServlet.ADMINADD_PATH).forward(request, response);
		}else{
			//执行dao层添加操作
			if(ad.userAdd(admin)){
				request.setAttribute("adminMessage", "用户添加成功!");
				adminList(request, response);//通过servlet中listUser跳到用户列表
			}else{
				request.setAttribute("adminMessage", "用户添加失败!");
				request.getRequestDispatcher(AdminManageServlet.ADMINADD_PATH).forward(request, response);
			}
		}
		
	}
	//更新用户信息
	private void adminUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		Admin admin=new Admin(Integer.parseInt(request.getParameter("id")),
				request.getParameter("passWord"),
				request.getParameter("name")
				);
		AdminDao ad=new AdminDaoImpl();
		if(ad.userUpdate(admin)) {
			request.setAttribute("adminMessage", "用户更新成功");
			adminList(request, response);//通过servlet中listUser跳到用户列表
		}else {
			//更新失败跳转到修改页面
			request.setAttribute("adminMessage", "用户更新失败");
			request.setAttribute("adminInfo", ad.findUser(Integer.valueOf(admin.getId())));//这里回去是Admin对象
			request.getRequestDispatcher(AdminManageServlet.ADMINEDIT_PATH).forward(request, response);
		}
		
	}

	//修改用户
	private void adminEdit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String id=request.getParameter("id");
		AdminDao ad=new AdminDaoImpl();
		request.setAttribute("adminInfo",ad.findUser(Integer.valueOf(id)));//这里回去是Admin对象
		request.getRequestDispatcher(AdminManageServlet.ADMINEDIT_PATH).forward(request, response);
	}
	
	//删除用户
	private void adminDel(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		int id=Integer.parseInt(request.getParameter("id"));
		AdminDao ad=new AdminDaoImpl();
		if(ad.delUser(id)) {
			request.setAttribute("adminMessage", "用户已删除");
		}else {
			request.setAttribute("adminMessage", "用户删除失败");
		}
		//用户删除成功失败都跳转到用户列表页面
		adminList(request, response);//通过servlet中listUser跳到用户列表
	}
	
	//批量删除
	private void adminBatDel(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		String ids=request.getParameter("ids");
		AdminDao ad=new AdminDaoImpl();
		
		if(ad.batDelUser(ids)) {
			request.setAttribute("adminMessage", "用户已批量删除");
		}else {
			request.setAttribute("adminMessage", "用户批量删除失败");
		}
		//用户删除成功失败都跳转到用户列表页面
		adminList(request, response);//通过servlet中listUser跳到用户列表
		
	}
	
	//ajax判断用户名(param为接收的用户名)
	private void adminFind(HttpServletRequest request, HttpServletResponse response) throws IOException {
		String userName=request.getParameter("param");
		
		AdminDao ad=new AdminDaoImpl();
		//这里实例化json对象需要导入6个jar包(
		//commons-lang-2.4.jar ,commons-collections-3.2.1.jar,commons-beanutils-1.8.3.jar 
		//json-lib-2.4-jdk15.jar ,ezmorph-1.0.6.jar ,commons-logging-1.1.3.jar)
		JSONObject json=new JSONObject();
		if(ad.findUser(userName)){
			json.put("info", "用户名已存在");
			json.put("status", "n");
		}else{
			json.put("info", "用户名可以使用");
			json.put("status", "y");
		}
		response.getWriter().write(json.toString());
	}
	
}
package dao.impl;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import bean.Admin;
import bean.PageBean;
import dao.AdminDao;
import util.DateUtil;
import util.DbUtil;

public class AdminDaoImpl implements AdminDao {
	/**
	 * @param user 传递要登录的用户信息
	 * @return 返回一个boolean值,true登录成功,false失败
	 */
	@Override
	public boolean userLogin(Admin admin) {
		boolean flag=false;
		String sql="select * from s_admin where userName=? and passWord=?";
		String sql2="update s_admin set lastLoginTime=? where id=?";
		List<Map<String,Object>> list=DbUtil.executeQuery(sql, admin.getUserName(),admin.getPassWord());
		if(list.size()>0){
			flag=true;
			//这里需要name值传入对象中
			admin.setName((String)list.get(0).get("name"));
			//通过登录成功用户的id更新最后登录时间
			DbUtil.excuteUpdate(sql2, DateUtil.getTimestamp(),list.get(0).get("id"));
		}
		return flag;
	}
	/**
	 * @param pageBean 传递分页对象
	 * @return 返回一个list集合,这里是通过limit分页查询的结果
	 */
	@Override
	public List<Admin> userList(PageBean pageBean) {
		List<Admin> lu=new ArrayList<>();
		List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
		
		String sql="select * from s_admin limit ?,?";
		
		list=DbUtil.executeQuery(sql,(pageBean.getCurPage()-1)*pageBean.getMaxSize(),pageBean.getMaxSize());
		
		if(list.size()>0) {
			for(Map<String,Object> map:list) {
				Admin u=new Admin(map);
				lu.add(u);
			}
		}
		
		return lu;
	}
	/**
	 * @param user 要增加的用户对象
	 * @return 返回一个boolean true用户增加成功 false用户增加失败
	 */
	@Override
	public boolean userAdd(Admin user) {
		String sql="insert into s_admin(userName,password,name) values(?,?,?)";
		
		int i= DbUtil.excuteUpdate(sql, user.getUserName(),user.getPassWord(),user.getName());
		
		return i>0?true:false;	
		
	}
	/**
	 * @param id 根据id查找一个用户信息
	 * @return 返回一个list用户信息集合
	 */
	//查找指定id用户信息
	@Override
	public Admin findUser(Integer id) {
		String sql="select * from s_admin where id=?";
		Admin admin=null;
		List<Map<String,Object>> list=DbUtil.executeQuery(sql, id);
		if(list.size()>0) {
			admin=new Admin(list.get(0));
			
		}
		return admin;
	}
	//查找用户名是否存在true存在
	@Override
	public boolean findUser(String userName) {
		String sql="select * from s_admin where userName=?";
		List<Map<String,Object>> list=DbUtil.executeQuery(sql, userName);
		return list.size()>0?true:false;
	}
	/**
	 * 
	 * @param admin 更新用户,根据传过来的id
	 * @return boolean
	 */
	@Override
	public boolean userUpdate(Admin admin) {
		String sql="update s_admin set password=? , name=? where id =?";
		int i=DbUtil.excuteUpdate(sql, admin.getPassWord(),admin.getName(),admin.getId());
		
		return i>0?true:false;
	}
	/**
	 * @param id 要删除的用户id
	 * @return 返回boolean true删除用户成功,false删除用户失败
	 */
	@Override
	public boolean delUser(int id) {
		String sql="delete from s_admin where id=?";
		int i=DbUtil.excuteUpdate(sql, id);
		return i>0?true:false;
	}
	/**
	 * @param ids 要批量删除id组的字符串
	 */
	@Override
	public boolean batDelUser(String ids) {
		String sql="delete from s_admin where id in ("+ids+")";
		int i=DbUtil.excuteUpdate(sql);
		return i>0?true:false;
	}
	
	@Override
	public long cakeReadCount() {
		long count=0;
		String sql="select count(*) as count from s_admin";
		List<Map<String, Object>> lm=DbUtil.executeQuery(sql);
		if(lm.size()>0){
			count=(long) lm.get(0).get("count");
		}
		return count;
	}

}

论文目录

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值