基于javaweb+mysql的ssm网上电商系统(java+ssm+mysql+tomcat+jsp)

基于javaweb+mysql的ssm网上电商系统(java+ssm+mysql+tomcat+jsp)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb+mysql的SSM网上电商系统(java+ssm+mysql+tomcat+jsp)

一、项目简述

功能:本系统分用户前台和管理员后台。 前台展示+后台管理,前台界面可实现用户登录,用户注 册,商品展示,商品明细展示,用户信息修改,密码修 改,购物车添加,商品购买,商品结算,订单查询,购物 车查询,后台管理可实现商品管理,订单管理,用户管理

二、项目运行

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

项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui等等。

	@GetMapping("/logout")
	public String logout(HttpSession session) {
		session.removeAttribute("user");
		session.removeAttribute("cartCount");
		return "/index/login.jsp";
	}

	/**
	 * 查看积分
	 */
	@GetMapping("/mypoint")
	public String mypoint() {
		return "/index/mypoint.jsp";
	}

	//积分充值
	@RequestMapping("/addPoint")
	public String addPoint(double point,HttpSession session,HttpServletRequest request){
		Users users = (Users)session.getAttribute("user");
		BigDecimal bigDecimal = new BigDecimal(Double.toString(point)).add(new BigDecimal(Double.toString(users.getPoint())));
		users.setPoint(bigDecimal.doubleValue());
		int count = userService.updatePoint(users);
		if(count > 0){
			session.setAttribute("user",users);
			request.setAttribute("msg","充值成功!");
		}else{
			request.setAttribute("msg","充值失败!");
		}
		return "/index/mypoint.jsp";
	}

	/**
	 * 查看购物车
	 * @return
	 */
	@GetMapping("/cart")
	public String cart(HttpServletRequest request, HttpSession session) {
		Users user = (Users) session.getAttribute("user");
		request.setAttribute("cartList", cartService.getList(user.getId()));
		request.setAttribute("cartCount", cartService.getCount(user.getId()));
		request.setAttribute("cartTotal", cartService.getTotal(user.getId()));
		return "/index/cart.jsp";
	}
	
	/**
	 * 购物车总金额
	 * @return
	 */
	@GetMapping("/cartTotal")
		return "/index/detail.jsp";
	}

}

/**
 * 解决get和post请求 全部乱码的过滤器
 */
public class GenericEncodingFilter implements Filter {

    @Override
    public void destroy() {
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        //处理response的字符编码
        HttpServletResponse myResponse=(HttpServletResponse) response;
        myResponse.setContentType("text/html;charset=UTF-8");
        
        // 转型为与协议相关对象
        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
        // 对request包装增强
        HttpServletRequest myrequest = new MyRequest(httpServletRequest);
        chain.doFilter(myrequest, response);
    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }

}

//自定义request对象,HttpServletRequest的包装类
class MyRequest extends HttpServletRequestWrapper {

    private HttpServletRequest request;
    //是否编码的标记
    private boolean hasEncode;
    //定义一个可以传入HttpServletRequest对象的构造函数,以便对其进行装饰
    public MyRequest(HttpServletRequest request) {
        super(request);// super必须写
        this.request = request;
    }
		// 类目列表
		List<Types> typeList = typeService.getList();
		List<Map<String, Object>> dataList = new ArrayList<>();
		for(Types type : typeList) {
			Map<String, Object> map = new HashMap<>();
			map.put("type", type);
			map.put("goodList", goodService.getListByType(type.getId(), 1, 15)); // 取前15个
			dataList.add(map);
		}
		request.setAttribute("dataList", dataList);
		return "/index/index.jsp";
	}
	
	/**
	 * 商品分类
	 * @return
	 * @throws UnsupportedEncodingException 
	 */
	@GetMapping("/type")
	public String type(HttpServletRequest request, 
			@RequestParam(required=false, defaultValue="0")int id, 
			@RequestParam(required=false, defaultValue="1")int page, 
			@RequestParam(required=false, defaultValue="10")int size) throws UnsupportedEncodingException {
		request.setAttribute("type", typeService.get(id));
		request.setAttribute("goodList", goodService.getListByType(id, page, size));
		request.setAttribute("pageHtml", PageUtil.getPageHtml(request, goodService.getCountByType(id), page, size));
		return "/index/goods.jsp";
	}
	
	/**
	 * 今日推荐
	 * @return
	 * @throws UnsupportedEncodingException 
	 */
	@GetMapping("/today")
	public String today(HttpServletRequest request, 
			@RequestParam(required=false, defaultValue="1")int page, 
			@RequestParam(required=false, defaultValue="10")int size) throws UnsupportedEncodingException {
		request.setAttribute("flag", 2);
		request.setAttribute("goodList", goodService.getListByTopType(Tops.TYPE_TODAY, page, size));
		request.setAttribute("pageHtml", PageUtil.getPageHtml(request, goodService.getCountByTopType(Tops.TYPE_TODAY), page, size));
		return "/index/goods.jsp";
		return "redirect:goodList?flag=2&page="+page;
	}

	/**
	 * 产品更新
	 * @return
	 */
	@GetMapping("/goodEdit")
	public String goodEdit(int id, HttpServletRequest request) {
		request.setAttribute("flag", 2);
		request.setAttribute("typeList", typeService.getList());
		request.setAttribute("good", goodService.get(id));
		return "/admin/good_edit.jsp";
	}

	/**
	 * 产品更新
	 * @return
	 * @throws Exception 
	 */
	@PostMapping("/goodUpdate")
	public String goodUpdate(Goods good, MultipartFile file, 
			@RequestParam(required=false, defaultValue="1") int page) throws Exception {
		if (Objects.nonNull(file) && !file.isEmpty()) {
			good.setCover(UploadUtil.upload(file));
		}
		goodService.update(good);
		return "redirect:goodList?flag=2&page="+page;
	}

	/**
	 * 产品删除
	 * @return
	 */
	@GetMapping("/goodDelete")
	public String goodDelete(int id, 
			@RequestParam(required=false, defaultValue="1") int page) {
		goodService.delete(id);
		return "redirect:goodList?flag=2&page="+page;
	}
	
	/**
	 * 添加推荐
	 * @return
	 */
	@PostMapping("/topSave")
	public @ResponseBody String topSave(int goodId, byte type) {
		return topService.add(goodId, type) ? "ok" : null;
	}
	
	/**
	 * 删除推荐
	 * @return
	private CartService cartService;
	
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
		request.setAttribute("typeList", typeService.getList()); // 为所有页面设置类目列表
		// 拦截指定路径
		String uri = request.getRequestURI();
		if(uri.contains("index/cart") || uri.contains("index/order") || uri.contains("index/my")) {
			Object user = request.getSession().getAttribute("user");
			if (Objects.isNull(user)) {
				response.sendRedirect("login");
				return false;
			}
		} // 默认放过
		return true;
	}

	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		// 拦截指定路径
		String uri = request.getRequestURI();
		if(uri.contains("index/cart")) { // 购物车相关请求后 更新session
			Users user = (Users) request.getSession().getAttribute("user");
			request.getSession().setAttribute("cartCount", cartService.getCount(user.getId()));
		}
		super.postHandle(request, response, handler, modelAndView);
	}

}

/**
 * 统一处理业务异常 controller
 */
@ControllerAdvice
public class ExceptionConfig {
	
    /**
     * 业务异常
     * @param exception
     * @return
     */
    @ExceptionHandler(MyException.class)
    public String exception(MyException exception, HttpServletRequest request){
     *   excel表头数组,存放"姓名#name"格式字符串,"姓名"为excel标题行, "name"为对象字段名
     * @param dataList
     *   数据集合,需与表头数组中的字段名一致,并且符合javabean规范
     * @return 返回一个HSSFWorkbook
     * @throws Exception
     */
    public static <T> HSSFWorkbook export(HttpServletResponse response, String fileName, String[] excelHeader,
                                          Collection<T> dataList) throws Exception {
        // 设置请求
        response.setContentType("application/application/vnd.ms-excel");
        response.setHeader("Content-disposition",
                "attachment;filename=" + URLEncoder.encode(fileName + ".xls", "UTF-8"));
        // 创建一个Workbook,对应一个Excel文件
        HSSFWorkbook wb = new HSSFWorkbook();
        // 设置标题样式
        HSSFCellStyle titleStyle = wb.createCellStyle();
        // 设置单元格边框样式
        titleStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框 细边线
        titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);// 下边框 细边线
        titleStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框 细边线
        titleStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框 细边线
        // 设置单元格对齐方式
        titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平居中
        titleStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); // 垂直居中
        // 设置字体样式
        Font titleFont = wb.createFont();
        titleFont.setFontHeightInPoints((short) 15); // 字体高度
        titleFont.setFontName("黑体"); // 字体样式
        titleStyle.setFont(titleFont);
        // 在Workbook中添加一个sheet,对应Excel文件中的sheet
        HSSFSheet sheet = wb.createSheet(fileName);
        // 标题数组
        String[] titleArray = new String[excelHeader.length];
        // 字段名数组
        String[] fieldArray = new String[excelHeader.length];
        for (int i = 0; i < excelHeader.length; i++) {
            String[] tempArray = excelHeader[i].split("#");// 临时数组 分割#
            titleArray[i] = tempArray[0];
            fieldArray[i] = tempArray[1];
        }
        // 在sheet中添加标题行
        HSSFRow row = sheet.createRow((int) 0);// 行数从0开始
	public String orderFinish(int id, byte status,
			@RequestParam(required=false, defaultValue="1") int page) {
		orderService.finish(id);
		return "redirect:orderList?flag=3&status="+status+"&page="+page;
	}

	/**
	 * 订单删除
	 * @return
	 */
	@GetMapping("/orderDelete")
	public String orderDelete(int id, byte status,
			@RequestParam(required=false, defaultValue="1") int page) {
		orderService.delete(id);
		return "redirect:orderList?flag=3&status="+status+"&page="+page;
	}

	/**
	 * 顾客管理
	 * @return
	 */
	@GetMapping("/userList")
	public String userList(HttpServletRequest request,
			@RequestParam(required=false, defaultValue="1") int page, 
			@RequestParam(required=false, defaultValue="10") int size) {
		request.setAttribute("flag", 4);
		request.setAttribute("userList", userService.getList(page, size));
		request.setAttribute("pageTool", PageUtil.getPageTool(request, userService.getCount(), page, size));
		return "/admin/user_list.jsp";
	}

	/**
	 * 顾客添加
	 * @return
	 */
	@GetMapping("/userAdd")
	public String userAdd(HttpServletRequest request) {
		request.setAttribute("flag", 4);
		return "/admin/user_add.jsp";
	}

	/**
	 * 顾客添加
	 * @return
	 */
	@PostMapping("/userSave")
	public String userSave(Users user, HttpServletRequest request, 
			@RequestParam(required=false, defaultValue="1") int page) {
		if (Objects.nonNull(userService.getByUsername(user.getUsername()))) {
			request.setAttribute("msg", "用户名已存在!");
	 * @param page 当前页面
	 * @param size 每页数量
	 * @return
	 * @throws UnsupportedEncodingException 
	 */
	public static String getPageHtml(HttpServletRequest request, long total, int page, int size) throws UnsupportedEncodingException{
		if (total <= 0) {
			return null;
		}
		// 计算总页数
		int pages = (int) (total % size ==0 ? total/size : total /size + 1);
		pages = pages == 0 ? 1 : pages;
		// 请求地址
		String url = request.getRequestURL().toString();
		System.out.println(url);
		// 请求参数
		StringBuilder paramBuilder = new StringBuilder();
		
		Enumeration<String> params = request.getParameterNames();
		while (params.hasMoreElements()) {
			String param = params.nextElement();
			if(param.indexOf("page") > -1) {
				continue;
			}
			
			paramBuilder.append("&").append(param).append("=").append(new String(request.getParameter(param).getBytes("ISO8859-1"),"utf-8"));
		}
		System.out.println(paramBuilder);
		// 分页字符串
		StringBuilder pageBuilder = new StringBuilder();
		pageBuilder.append("<div class='holder'>");
		// 上一页
		if (page <= 1) { // 如果已经是第一页, 上一页按钮disabled
//			pageBuilder.append("<a title='已是首页'>首页</a>");
//			pageBuilder.append("<a title='已是首页'>上页</a>");
		}else{
			pageBuilder.append("<a href='").append(url).append("?").append("page=1")
			.append(paramBuilder).append("'>首页</a>");
			pageBuilder.append("<a href='").append(url).append("?").append("page=").append(page-1)
			.append(paramBuilder).append("'>上页</a>");
		}
		// 中间数字页码
		if (pages <= 7) { // 全部显示
			for (int i = 1; i <= pages; i++) {
				pageBuilder.append(packPageItem(url, paramBuilder.toString(), page, i));
			}
		}else{ // 显示部分
			if (page<4 || page>pages-3) { // 1 2 3 ... pages-2 pages-1 pages
				pageBuilder.append(packPageItem(url, paramBuilder.toString(), page, 1));
				pageBuilder.append(packPageItem(url, paramBuilder.toString(), page, 2));
				pageBuilder.append(packPageItem(url, paramBuilder.toString(), page, 3));
				pageBuilder.append(" ... ");

/**
 * 后台管理接口
 */
@Controller
@RequestMapping("/admin")
public class AdminController {

	@Autowired
	private AdminService adminService;
	@Autowired
	private OrderService orderService;
	@Autowired
	private UserService userService;
	@Autowired
	private GoodService goodService;
	@Autowired
	private TopService topService;
	@Autowired
	private TypeService typeService;

	/**
	 * 管理员登录 (逻辑判断)
	 * @return
	 */
	@GetMapping("/login")
	public String log() {
		return "/admin/login.jsp";
	}
	
	/**
	 * 管理员登录
	 * @return
	 */
	@PostMapping("/login")
	public String login(String username, String password, 
			HttpServletRequest request, HttpSession session) {
		Admins admin = adminService.getByUsernameAndPassword(username, password);
		if (Objects.nonNull(admin)) {
			session.setAttribute("admin", admin);
			return "redirect:index";
		}
		request.setAttribute("msg", "用户名或密码错误!");
		return "/admin/login.jsp";
	}
	/**
	 * 删除
	 */
	@PostMapping("/cartDelete")
	public @ResponseBody boolean cartDelete(int id){
		return cartService.delete(id);
	}

	
	/**
	 * 查看订单
	 * @return
	 * @throws UnsupportedEncodingException 
	 */
	@GetMapping("/order")
	public String order(HttpServletRequest request, HttpSession session,
			@RequestParam(required=false, defaultValue="1")int page, 
			@RequestParam(required=false, defaultValue="6")int size) throws UnsupportedEncodingException{
		Users user = (Users) session.getAttribute("user");
		request.setAttribute("orderList", orderService.getListByUserid(user.getId(), page, size));
		request.setAttribute("pageHtml", PageUtil.getPageHtml(request, orderService.getCountByUserid(user.getId()), page, size));
		return "/index/order.jsp";
	}
	
	/**
	 * 直接购买
	 * @return
	 * @throws MyException 
	 */
	@PostMapping("/orderAdd")
	public String orderAdd(int goodId, HttpSession session) throws MyException{
		Users user = (Users) session.getAttribute("user");
		int orderId = orderService.add(goodId, user.getId());
		return "redirect:orderPay?id="+orderId; // 跳转支付
	}
	
	/**
	 * 购物车结算
	 * @return
	 * @throws MyException 
	 */
	@GetMapping("/orderSave")
	public String orderSave(ServletRequest request, HttpSession session) throws MyException{
		Users user = (Users) session.getAttribute("user");
		int orderId = orderService.save(user.getId());
		session.removeAttribute("cartCount"); // 清理购物车session
		return "redirect:orderPay?id="+orderId; // 跳转支付
	}
	
	/**
	 * 支付页面
	 * @return

/**
 * 用户相关接口
 */
@Controller
@RequestMapping("/index")
public class UserController{
	
	@Resource
	private UserService userService;
	@Resource
	private GoodService goodService;
	@Resource
	private OrderService orderService;
	@Resource
	private CartService cartService;

	
	/**
	 * 用户注册
	 * @return
	 */
	@GetMapping("/register")
	public String reg() {
		return "/index/register.jsp";
	}
	
	/**
	 * 用户注册
	 * @return
	 */
	@PostMapping("/register")
	public String register(Users user, HttpServletRequest request){
		if (user.getUsername().isEmpty()) {
			}
		}
		// 下一页
		if (page >= pages) { // 如果已经是最后一页, 上一页按钮disabled
//			pageBuilder.append("<a title='已是尾页'>下页</a>");
//			pageBuilder.append("<a title='已是尾页'>尾页</a>");
		}else{
			pageBuilder.append("<a href='").append(url).append("?").append("page=").append(page+1)
			.append(paramBuilder).append("'>下页</a>");
			pageBuilder.append("<a href='").append(url).append("?").append("page=").append(pages)
			.append(paramBuilder).append("'>尾页</a>");
		}
		pageBuilder.append("</div>");
		return pageBuilder.toString();
	}

	/**
	 * 封装分页项
	 * @param url
	 * @param params
	 * @param page
	 * @param i
	 * @return
	 */
	private static String packPageItem(String url, String params, int page, int i) {
		StringBuilder pageBuilder = new StringBuilder();
		if (i == page) {
			pageBuilder.append("<a class='jp-current'>").append(i).append("</a>");
		}else{
			pageBuilder.append("<a title='第").append(i).append("页' href='").append(url).append("?").append("page=").append(i)
				.append(params).append("'>");pageBuilder.append(i).append("</a>");
		}
		return pageBuilder.toString();
	}
	
	/**
	 * 获取分页代码
	 * @param total 总记录数
	 * @param page 当前页面
	 * @param size 每页数量
	 * @return
	 */
	public static String getPageTool(HttpServletRequest request, long total, int page, int size){
		long pages = total % size ==0 ? total/size : total /size + 1;
		pages = pages==0 ? 1 : pages;
		String url = request.getRequestURL().toString();
		StringBuilder queryString = new StringBuilder();
		Enumeration<String> enumeration = request.getParameterNames();
		try { // 拼装请求参数
			while (enumeration.hasMoreElements()) {
				String element = (String) enumeration.nextElement();
				if(!element.contains("page")) { // 跳过page参数
					queryString.append("&").append(element).append("=").append(java.net.URLEncoder.encode(request.getParameter(element),"UTF-8"));
	@GetMapping("/adminList")
	public String adminList(HttpServletRequest request, 
			@RequestParam(required=false, defaultValue="1") int page, 
			@RequestParam(required=false, defaultValue="10") int size) {
		request.setAttribute("flag", 5);
		request.setAttribute("adminList", adminService.getList(page, size));
		request.setAttribute("pageTool", PageUtil.getPageTool(request, adminService.getCount(), page, size));
		return "/admin/admin_list.jsp";
	}

	/**
	 * 管理员添加
	 * @return
	 */
	@GetMapping("/adminAdd")
	public String adminAdd(HttpServletRequest request) {
		request.setAttribute("flag", 5);
		return "/admin/admin_add.jsp";
	}
	
	/**
	 * 管理员密码重置
	 * @return
	 */
	@GetMapping("/adminRe")
	public String adminRe(int id, HttpServletRequest request) {
		request.setAttribute("flag", 5);
		request.setAttribute("admin", adminService.get(id));
		return "/admin/admin_reset.jsp";
	}

	/**
	 * 管理员密码重置
	 * @return
	 */
	@PostMapping("/adminReset")
	public String adminReset(int id, String password, HttpServletRequest request,
			@RequestParam(required=false, defaultValue="1") int page) {
		adminService.update(id, password);
		return "redirect:adminList?page="+page;
	}

	/**
	 * 管理员添加
	 * @return
	 */
	@PostMapping("/adminSave")
	public String adminSave(Admins admin, HttpServletRequest request, 
			@RequestParam(required=false, defaultValue="1") int page) {
		if (Objects.nonNull(adminService.getByUsername(admin.getUsername()))) {
			request.setAttribute("msg", "用户名已存在!");
			return "/admin/admin_add.jsp";
		}
		adminService.add(admin);

/**
 * 用户相关接口
 */
@Controller
@RequestMapping("/index")
public class UserController{
	
	@Resource
	private UserService userService;
	@Resource
	private GoodService goodService;
	@Resource
	private OrderService orderService;
	@Resource
	private CartService cartService;

	
	/**
	 * 用户注册
	 * @return
	 */
	@GetMapping("/register")
	public String reg() {
		return "/index/register.jsp";
	}
	
	/**
	 * 用户注册
	 * @return
	 */
	 * @throws UnsupportedEncodingException 
	 */
	@GetMapping("/today")
	public String today(HttpServletRequest request, 
			@RequestParam(required=false, defaultValue="1")int page, 
			@RequestParam(required=false, defaultValue="10")int size) throws UnsupportedEncodingException {
		request.setAttribute("flag", 2);
		request.setAttribute("goodList", goodService.getListByTopType(Tops.TYPE_TODAY, page, size));
		request.setAttribute("pageHtml", PageUtil.getPageHtml(request, goodService.getCountByTopType(Tops.TYPE_TODAY), page, size));
		return "/index/goods.jsp";
	}
	
	/**
	 * 热销推荐
	 * @return
	 * @throws UnsupportedEncodingException 
	 */
	@GetMapping("/hot")
	public String hot(HttpServletRequest request, 
			@RequestParam(required=false, defaultValue="1")int page, 
			@RequestParam(required=false, defaultValue="10")int size) throws UnsupportedEncodingException{
		request.setAttribute("flag", 3);
		request.setAttribute("goodList", goodService.getListOrderSales(page, size));
		request.setAttribute("pageHtml", PageUtil.getPageHtml(request, goodService.getCount(), page, size));
		return "/index/goods.jsp";
	}
	
	/**
	 * 新品上市
	 * @return
	 * @throws UnsupportedEncodingException 
	 */
	@GetMapping("/new")
	public String news(HttpServletRequest request, 
			@RequestParam(required=false, defaultValue="1")int page, 
			@RequestParam(required=false, defaultValue="10")int size) throws UnsupportedEncodingException{
		request.setAttribute("flag", 4);
		request.setAttribute("goodList", goodService.getList(page, size));
		request.setAttribute("pageHtml", PageUtil.getPageHtml(request, goodService.getCount(), page, size));
		return "/index/goods.jsp";
	}
	
	/**
	 * 搜索
	 * @return
			@RequestParam(required=false, defaultValue="1") int page, 
			@RequestParam(required=false, defaultValue="10") int size) {
		request.setAttribute("flag", 4);
		request.setAttribute("userList", userService.getList(page, size));
		request.setAttribute("pageTool", PageUtil.getPageTool(request, userService.getCount(), page, size));
		return "/admin/user_list.jsp";
	}

	/**
	 * 顾客添加
	 * @return
	 */
	@GetMapping("/userAdd")
	public String userAdd(HttpServletRequest request) {
		request.setAttribute("flag", 4);
		return "/admin/user_add.jsp";
	}

	/**
	 * 顾客添加
	 * @return
	 */
	@PostMapping("/userSave")
	public String userSave(Users user, HttpServletRequest request, 
			@RequestParam(required=false, defaultValue="1") int page) {
		if (Objects.nonNull(userService.getByUsername(user.getUsername()))) {
			request.setAttribute("msg", "用户名已存在!");
			return "/admin/user_add.jsp";
		}
		userService.add(user);
		return "redirect:userList?flag=4&page="+page;
	}

	/**
	 * 顾客密码重置页面
	 * @return
	 */
	@GetMapping("/userRe")
	public String userRe(int id, HttpServletRequest request) {
		request.setAttribute("flag", 4);
		request.setAttribute("user", userService.get(id));
		return "/admin/user_reset.jsp";
	}

	/**
	 * 顾客密码重置
	 * @return
	 */
	@PostMapping("/userReset")
	public String userReset(int id, String password, 
			@RequestParam(required=false, defaultValue="1") int page) {
		userService.updatePassword(id, password);
		return "redirect:userList?page="+page;

    //取一个值
    @Override
    public String getParameter(String name) {
        Map<String, String[]> parameterMap = getParameterMap();
        String[] values = parameterMap.get(name);
        if (values == null) {
            return null;
        }
        return values[0]; // 取回参数的第一个值
    }

    //取所有值
    @Override
    public String[] getParameterValues(String name) {
        Map<String, String[]> parameterMap = getParameterMap();
        String[] values = parameterMap.get(name);
        return values;
    }
}

/**
 * 前台拦截器
 */
public class IndexInterceptor extends HandlerInterceptorAdapter{

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值