👉文末查看项目功能视频演示+获取源码+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的二手车管理系统