基于javaweb+mysql的ssm火车票预订管理系统(java+ssm+vue+elementui+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8、Node.js≥10
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM火车票预订管理系统(java+ssm+vue+elementui+mysql)
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7/8.0等版本均可;
技术栈
后端:SSM(Spring+SpringMVC+Mybatis-plus) 前端:ElementUI+Vue
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目; 3. 将项目中config.properties配置文件中的数据库配置改为自己的配置,然后运行;
map.put("type","error");
map.put("msg","原密码错误");
return map;
}else{
map.put("type","error");
map.put("msg","两次密码不一致");
return map;
/**
* 员工修改个人密码
* @param oldPassword
* @param newPassword
if(manager==null) {
return Message.error("账号或密码错误");
// 保存到session
httpSession.setAttribute("admin",manager);
return Message.success("登录成功");
}else {
return Message.error("验证码错误");
@RequestMapping(value = "/getAdminAccount.do")
@ResponseBody
public String getAdminAccount(HttpSession httpSession){
int result = userService.delete(id);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
return MapControl.getInstance().success().getMap();
//批量删除
@PostMapping("/delete")
@ResponseBody
public Map<String, Object> delete(String ids) {
int result = userService.delete(ids);
if (result <= 0) {
public String loginSucceses(Model model) throws Exception
return "employee/index.html";
/**
* 管理员登录操作
* @param model
* @param httpSession
* @param username
* @param password
* @param identifyingcode
* @return
*/
String code = (String) httpSession.getAttribute("identifyingCode");
if(identifyingcode.equalsIgnoreCase(code)){
SystemManager manager = loginService.findSystemManagerByIdAndPassword(username, password);
if(manager==null) {
return Message.error("账号或密码错误");
// 保存到session
httpSession.setAttribute("admin",manager);
return Message.success("登录成功");
}else {
return Message.error("验证码错误");
@RequestMapping(value = "/getAdminAccount.do")
return MapControl.getInstance().error().getMap();
return MapControl.getInstance().success().getMap();
/**
* 编辑用户信息操作
* @param user
* @return
*/
@PostMapping("/edit")
@ResponseBody
public Map<String, Object> edit(@RequestBody User user) {
if(StringUtils.isEmpty(user.getUserName())){
return MapControl.getInstance().error().getMap();
return MapControl.getInstance().success().getMap();
/**
* 根据id查询,跳转修改页面
* @param id
* @param modelMap
* @return
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Integer id, ModelMap modelMap) {
User user = userService.detail(id);
modelMap.addAttribute("user", user);
return "user/edit";
* 编辑用户信息操作
* @param user
* @return
*/
@PostMapping("/edit")
@ResponseBody
public Map<String, Object> edit(@RequestBody User user) {
if(StringUtils.isEmpty(user.getUserName())){
return MapControl.getInstance().error("请填写用户名").getMap();
if(StringUtils.isEmpty(user.getName())){
return MapControl.getInstance().error("请填写名称").getMap();
if(StringUtils.isEmpty(user.getUserPwd())){
return MapControl.getInstance().error("请填写密码").getMap();
@Controller
public class UserInforController {
@Autowired
private UserInforServiceImpl userInforService = null;
/**
* 修改密码操作
* @param oldPassword
* @param newPassword
* @param rePassword
* @param httpSession
* @return
@RequestMapping("changeEmployeePassword.do")
@ResponseBody
public Map<String, String> changeEmployeePassword(String oldPassword, String newPassword,
String rePassword, HttpSession httpSession){
HashMap<String, String> map = new HashMap<String, String>();
if (newPassword.equals(rePassword)){
Integer eid = (Integer) httpSession.getAttribute("employeeId");
try {
userInforService.updateEmployeePassword(eid, oldPassword, newPassword);
map.put("type","success");
map.put("msg","密码修改成功");
public class UserController {
@Autowired
private UserService userService;
/**
* 用户添加页面
* @return
*/
@GetMapping("/add")
public String create() {
return "user/add";
/**
* 用户添加操作
* @param oldPassword
* @param newPassword
* @param rePassword
* @param httpSession
* @return
*/
@RequestMapping("changePassword.do")
@ResponseBody
public Map<String, String> changePassword(String oldPassword, String newPassword,
String rePassword, HttpSession httpSession){
HashMap<String, String> map = new HashMap<String, String>();
if (newPassword.equals(rePassword)){
* @Description: 验证码变更
* @Param: [request, response]
* @Return: void
**/
@RequestMapping(value = "/changeCode.do")
@ResponseBody
public void getIdentifyingCode(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
// 验证码存储在session的identifyingCode,属性中
CaptchaUtil.outputCaptcha(request, response);
map.put("msg","原密码错误");
return map;
}else{
map.put("type","error");
map.put("msg","两次密码不一致");
return map;
/**
* 员工修改个人密码
* @param oldPassword
* @param newPassword
* @param rePassword
public String logout(HttpSession httpSession){
httpSession.removeAttribute("employeeId");
return "redirect:/";
@RequestMapping(value = "/logoutAdmin.do")
public String logoutAdmin(HttpSession httpSession){
httpSession.removeAttribute("admin");
return "redirect:/admin.do";
用户管理操作:
/**
* 用户管理操作
*/
@Controller
@RequestMapping("/user")
return MapControl.getInstance().error().getMap();
return MapControl.getInstance().success().getMap();
/**
* 编辑用户信息操作
* @param user
* @return
*/
@PostMapping("/edit")
@ResponseBody
public Map<String, Object> edit(@RequestBody User user) {
if(StringUtils.isEmpty(user.getUserName())){
* @param oldPassword
* @param newPassword
* @param rePassword
* @param httpSession
* @return
*/
@RequestMapping("changeEmployeePassword.do")
@ResponseBody
public Map<String, String> changeEmployeePassword(String oldPassword, String newPassword,
String rePassword, HttpSession httpSession){
HashMap<String, String> map = new HashMap<String, String>();
if (newPassword.equals(rePassword)){
employeeSalaryVO.setMsg("");
employeeSalaryVO.setCount((int) pageResult.getTotal());
employeeSalaryVO.setData(pageResult.getList());
return employeeSalaryVO;
管理员和员工登陆控制:
/**
* @Description: 管理员和员工登陆控制
**/
@Controller
public class LoginController {
@Autowired