基于SSM的二手车管理系统的设计与实现 (含源码+sql+视频导入教程)

👉文末查看项目功能视频演示+获取源码+sql脚本+视频导入教程视频

1 、功能描述

  基于SSM的二手车管理系统4拥有三种角色

  管理员:订单管理、在售车辆管理、下架车辆管理、品牌管理、分类管理、推荐管理、统计等

  商家:登录注册、添加/下架/删除车辆、订单管理、发货等

  用户:登录注册、收货、购物车、下单购买、条件搜索等

1.1 背景描述

  基于SSM的二手车管理系统是一个基于Spring、SpringMVC和MyBatis框架的Web应用程序,旨在实现二手车交易的信息化管理。该系统包括二手车信息管理、交易流程管理、客户信息管理、支付管理等功能,可提高二手车交易的效率和安全性,降低交易成本。

2、项目技术

后端框架:SSM(Spring、SpringMVC、Mybatis)

前端技术:jsp、css、JavaScript、JQuery

2.1 SSM

  SSM(Spring+SpringMVC+MyBatis)是目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。其中,Spring就像是整个项目中的粘合剂,负责装配bean并管理其生命周期,实现控制反转(IoC)的功能。SpringMVC负责拦截用户请求,通过DispatcherServlet将请求匹配到相应的Controller并执行。而MyBatis则是对JDBC的封装,让数据库底层操作变得透明,通过配置文件关联到各实体类的Mapper文件,实现了SQL语句映射。

2.2 mysql

  MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实租赁环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。

3、开发环境

  • JAVA版本:JDK1.8
  • IDE类型:IDEA、Eclipse都可运行
  • tomcat版本:Tomcat 7-10版本均可
  • 数据库类型:MySql(5.5-5.7、8.x版本都可)
  • maven项目:否
  • 硬件环境:Windows

4、功能截图+视频演示+文档目录

4.1 登录

在这里插入图片描述

4.2 用户模块

用户-下单页面

用户-购物车

用户-商城

4.3 商家模块

商家-车辆管理

商家-订单管理

商家-订单详情

4.4 管理员模块

管理员-订单管理

管理员-分类管理

管理员-品牌管理

管理员-汽车推荐管理

管理员-下架车辆管理

管理员-在售车辆管理

5 、核心代码实现

5.1 配置代码

jdbc_mysql_driver=com.mysql.cj.jdbc.Driver
jdbc_mysql_url=jdbc:mysql://localhost:3306/second_hand_car_system?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
jdbc_mysql_username=root
jdbc_mysql_password=root

5.2 其它核心代码

package com.carSystem.action;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.carSystem.entity.Login;
import com.carSystem.entity.Person;
import com.carSystem.service.LoginService;
import com.carSystem.service.PersonService;
import com.google.gson.Gson;

@Controller
public class LoginAction {
	
	@Autowired
	private LoginService loginService;
	
	@Autowired
	private PersonService personService;
	
	//登录初始化页面
	@RequestMapping("/loginInitAction")
	public String loginInitAction(){
		return "login";
	}
	
	//注册
	@RequestMapping("/register")
	public String register(String passwd, String username, String tel, String login_permession, Map<String, Object> map, HttpSession session){
		if(personService.textTelExist(tel)){
			map.put("registerTelError", "对不起,您输入的手机号码已经被注册过了。");
			return "login";
		}
		
		String newId = loginService.getNewId();
		loginService.addLogin(passwd, newId, login_permession);
		personService.addPerson(username, newId, tel);
		
		Login loginInfo = loginService.getRegisterLoginEntity();
		if(loginInfo.getLogin_permission().equals("shop")){
			session.setAttribute("shoploginSession", loginInfo);
			session.setAttribute("shoploginSession_name", username);
			return "/shop/index";
		}else{
			session.setAttribute("loginSession", loginInfo);
			session.setAttribute("loginSession_name", username);
		}
		return "redirect:/indexInitAction";
	}
	
	//登录处理
	@RequestMapping("/loginAction")
	public String loginAction(Login login, Map<String, Object> map, HttpSession session){
		Login queryLogin = loginService.queryLoginById(login.getLogin_id());
		if(queryLogin == null){		//账号不存在
			map.put("loginError", "账号或密码输入错误");
			return "login";
		}else if(! queryLogin.getLogin_password().equals(login.getLogin_password()) ){	//密码错误
			System.out.println("---------error-------");
			map.put("permission", queryLogin.getLogin_permission());
			map.put("loginError1", "账号或密码输入错误");
			return "login";
		}else if(queryLogin.getLogin_permission().equals("admin")){		//管理员
			System.out.println("---------admin-------");
			session.setAttribute("adminloginSession", queryLogin);
			return "admin/index";
		}else if(queryLogin.getLogin_permission().equals("shop")){		//商家
			System.out.println("---------shop-------");
			session.setAttribute("shoploginSession", queryLogin);
			session.setAttribute("shoploginSession_name", personService.queryPersonById(queryLogin.getLogin_id()).getPerson_name());
			return "shop/index";
		}else{	//用户
			System.out.println("---------user--------");
			session.setAttribute("loginSession", queryLogin);
			session.setAttribute("loginSession_name", personService.queryPersonById(queryLogin.getLogin_id()).getPerson_name());
			return "redirect:/indexInitAction";
		}
	}
	
	//跳转到(用户或商家)主页。
	@RequestMapping("/indexInitAction")
	public String indexInit(HttpSession session, Map<String, Object> map){
		Login login =  (Login)session.getAttribute("loginSession");
		if(login != null && login.getLogin_permission().equals("user") ){
			Person person = personService.queryPersonById(login.getLogin_id());
			session.setAttribute("loginSession_name", person.getPerson_name());
			System.out.println("==========index=========" + login.getLogin_permission() + "===========");
		}
		return "/user/index";
	}
	
	
	//利用ajax确定修改后的电话号码没有被注册
	@RequestMapping("/ajaxTextIdAndTel")
	public void ajaxTextIdAndTel(HttpServletRequest request, HttpServletResponse response, String person_tel, String login_id) throws UnsupportedEncodingException{
		response.setCharacterEncoding("UTF-8");
		request.setCharacterEncoding("UTF-8");

		boolean boolReturn = true;
		
		Login login = loginService.queryLoginById(login_id);
		if(login == null){
			boolReturn = false;
		}else{
			Person person = personService.queryPersonById(login_id);
			if( !person.getPerson_tel().equals(person_tel)){
				boolReturn = false;
			}
		}
		
		String json = new Gson().toJson(boolReturn);
		try {
			response.getWriter().print(json);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	
	//保存用户找回的的密码
	@RequestMapping("/findSaveNewPwd")
	public String findSaveNewPwd(Map<String, Object> map,Login login, HttpSession session){
		loginService.saveLogin(login);
		
		Login loginInfo  = loginService.queryLoginById(login.getLogin_id());
		if(loginInfo.getLogin_permission().equals("shop")){
			session.setAttribute("shoploginSession", loginInfo);
		}else{
			session.setAttribute("loginSession", loginInfo);
		}
		return "redirect:/indexInitAction";
	}
	
	
	
	
}

6 、功能视频演示

基于SSM的二手车管理系统

7 、 获取方式

👇 大家点赞、收藏、关注、评论啦 👇🏻获取联系方式,后台回复关键词:二手👇🏻

在这里插入图片描述

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员王不二buer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值