基于javaweb+mysql的ssm+maven家教管理系统(java+ssm+mybatis+mysql+maven+html)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM+Maven家教管理系统(java+ssm+mybatis+mysql+maven+html)
该系统分为前台和后台
前台功能有:登录、注册、查看学员、查看教师、个人中心等。
后台功能有:用户管理、学员管理、教师管理、审核管理、公告管理、新闻管理、简历管理等。前台注册分为学员和教师两个角色,学员负责找家教教师、发布需求。教师制作简历供学员选择、联系学员。类似于兼职系统。
本项目如环境一致包运行调试,如有问题可以联系我,右侧有我的联系方式
运行环境:JDK1.8、Mysql5.X、Tomcat7.0/8.5、Maven3.5/3.6、Eclipse
* @param username
* @param password
* @param session
* @param request
* @return
*/
@RequestMapping(value="/loginIn",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> loginIn(Users user,HttpSession session,HttpServletRequest request){
Map<String, Object> ret = new HashMap<String, Object>();
ret.put("type", "error");
if(StringUtils.isEmpty(user.getName())) {
ret.put("message", "请输入用户名");
return ret;
}
if(StringUtils.isEmpty(user.getPassword())) {
ret.put("message", "请输入密码");
return ret;
}
Users users = commonService.getUsersByName(user.getName());
if(users == null){
ret.put("message", "该用户未注册,请先去注册");
return ret;
}else{
String password = users.getPassword();
if(password.equals(user.getPassword())) {
//表示账号密码正确
session.setAttribute("userid", users.getId());
session.setAttribute("username", users.getName());
session.setAttribute("user", users);
if(users.getStatue()==2) {
session.setAttribute("flag", 1);
}else {
session.setAttribute("flag", 2);
}
}else {
ret.put("message", "密码错误");
return ret;
}
logService.addLoginLog(users.getId(), users.getName(), IPUtil.getIpAddr(request));
}
ret.put("type", "success");
ret.put("message", "注册成功");
@Controller
@RequestMapping(value="/admin")
public class adminManageTcommentController {
@Autowired
CommentService commentService;
@RequestMapping(value="/toCommentList",method=RequestMethod.GET)
public String toCommentList(@RequestParam("positionid") String positionid,@RequestParam("resumeid") String resumeid,HttpSession session){
session.setAttribute("positionid", positionid);
session.setAttribute("resumeid", resumeid);
return "system/admin/comment.html";
}
//查找关于职位 或者 教师的评价
@RequestMapping(value="/getCommentList",method=RequestMethod.POST)
@ResponseBody
public String getCommentList(HttpSession session){
String resumeid = (String) session.getAttribute("resumeid");
String positionid = (String) session.getAttribute("positionid");
List<Tcomment> tcomments;
if(resumeid !=null&&positionid!=null) {
if("0".equals(resumeid)){
// 代表: 不是教师评价,获取的是职位评价
long id = Long.parseLong(positionid);
tcomments = commentService.findTcommentByPositionID(id);
} else{
@Controller
@RequestMapping("/home")
public class HomeController {
@Autowired
private CommonService commonService;
@Autowired
private TnewsService tnewsService;
@Autowired
private LoginLogService logService;
@RequestMapping("/index")
public String index(){
JSONArray json = new JSONArray();
if(!positions.isEmpty()){
for (Position po : positions) {
JSONObject jo = new JSONObject();
jo.put("id", po.getId());
jo.put("title", po.getName());
jo.put("place", po.getPlace());
String[] strings = po.getInformation().split("-");
jo.put("kemu", strings[0]);
jo.put("information", strings[1]);
jo.put("salary", po.getSalary());
jo.put("contact", po.getContact());
jo.put("createtime", po.getCreatetime());
json.put(jo);
}
}
System.out.println(json.toString());
return json.toString();
}
@RequestMapping(value="/getPositionImfoByid",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getPositionImfoByid(@RequestParam("id")int id){
Position position = parentService.getPositionBypositionid(id);
map.put("name", position.getName());
map.put("place", position.getPlace());
map.put("salary", position.getSalary());
map.put("phonenum", position.getContact());
String[] strings = position.getInformation().split("-");
map.put("jieduan", strings[0]);
map.put("information", strings[1]);
map.put("status", position.getStatue());
return map;
}
/**
* 添加需求
if(StringUtils.isEmpty(user.getName())) {
ret.put("message", "请输入用户名");
return ret;
}
if(StringUtils.isEmpty(user.getPassword())) {
ret.put("message", "请输入密码");
return ret;
}
if(StringUtils.isEmpty(user.getEmail())) {
ret.put("message", "请输入邮箱");
return ret;
}
Users findUserByNameAndEmail = commonService.findUserByNameAndEmail(user);
if(findUserByNameAndEmail==null) {
ret.put("message", "用户名邮箱错误");
return ret;
}
findUserByNameAndEmail.setPassword(user.getPassword());
commonService.updateUsers(findUserByNameAndEmail);
ret.put("type", "success");
ret.put("message", "找回成功");
return ret;
}
}
package com.education.controller.student;
}
resume.setCreatetime(date);
resume.setUser(userid);
if(resume.getId()==0) {
//表示添加
resume.setUser(userid);
try {
studentService.addResume(resume);
}catch (Exception e) {
// TODO: handle exception
map.put("message", "添加简历失败");
return map;
}
}else {
//表示编辑
Resume resumeByuserid = studentService.getResumeByuserid(userid);
if(resumeByuserid==null) {
map.put("message", "未找到该简历");
return map;
}
try {
BeanUtils.copyProperties(resume, resumeByuserid, "statue","flag");
studentService.updateResume(resumeByuserid);
}catch (Exception e) {
// TODO: handle exception
map.put("message", "修改简历失败");
return map;
}
}
map.put("type", "success");
map.put("message", "简历制作完成");
return map;
}
@RequestMapping(value="/addResume",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> addResume(@RequestParam("name")String name,
@RequestParam("birthday")String birthday,@RequestParam("sex")int sex,@RequestParam("phonenum")String phonenum,
@RequestParam("email")String email,@RequestParam("schoolname")String schoolname,@RequestParam("time")String time,@RequestParam("education")String education,
@RequestParam("major")String major,@RequestParam("experience")String experience,@RequestParam("jobintension")String jobintension,HttpSession session){
Map<String, Object> map = new HashMap<String, Object>();
String username = (String)session.getAttribute("registername");
Users users = commonService.getUsersByName(username);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
String date = df.format(new Date());// new Date()为获取当前系统时间
Resume resume = new Resume();
resume.setName(name);
resume.setBirthday(birthday);
resume.setEducation(education);
resume.setEmail(email);
map.put("title", tnews.getTitle());
map.put("content", tnews.getContent());
map.put("clicknum", tnews.getClicknum());
map.put("createtime", tnews.getCreatetime());
System.out.println(map.toString());
return map;
}
//找回密码操作
/**
* 找回密码操作
* @param user
* @return
*/
@ResponseBody
@RequestMapping(value = "/forgetPassword",method = RequestMethod.POST)
public Map<String,Object> forgetPassword(Users user){
Map<String, Object> ret = new HashMap<>();
ret.put("type", "error");
if(StringUtils.isEmpty(user.getName())) {
ret.put("message", "请输入用户名");
return ret;
}
if(StringUtils.isEmpty(user.getPassword())) {
ret.put("message", "请输入密码");
return ret;
}
if(StringUtils.isEmpty(user.getEmail())) {
ret.put("message", "请输入邮箱");
return ret;
}
Users findUserByNameAndEmail = commonService.findUserByNameAndEmail(user);
if(findUserByNameAndEmail==null) {
ret.put("message", "用户名邮箱错误");
return ret;
}
findUserByNameAndEmail.setPassword(user.getPassword());
commonService.updateUsers(findUserByNameAndEmail);
ret.put("type", "success");
ret.put("message", "找回成功");
return ret;
}
}
package com.education.controller.student;
//删除 职位对应的申请记录
@RequestMapping(value="/deleteRecord",method=RequestMethod.GET)
public String deleteRecord(@RequestParam("id")int id){
parentService.RemoveUserpositionByPositionID(id);
return "system/applicant/reservation_record.html";
}
/**
* 我的发布列表
* @return
*/
@RequestMapping(value = "/stu_collect_list",method = RequestMethod.GET)
public String studentCollectList() {
return "system/applicant/student_collect.html";
}
}
package com.education.controller.student;
/**
* 应聘者 controller ,学生做家教
*
*/
@Controller
@RequestMapping("/applicant")
public class ApplicantController {
@Autowired
private CommonService commonService;
@Controller
@RequestMapping("/home")
public class HomeController {
@Autowired
private CommonService commonService;
@Autowired
private TnewsService tnewsService;
@Autowired
private LoginLogService logService;
@RequestMapping("/index")
public String index(){
return "system/applicant/index.html";
}
@RequestMapping("/register")
public String register(){
return "system/applicant/register.html";
}
@RequestMapping("/toCreateNote")
public String toCreateNote(){
return "system/applicant/create_note.html";
}
@RequestMapping("/addNotice")
public String addNotice(){
return "system/admin/notice_add.html";
}
@RequestMapping(value="/checkFlag",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> checkFlag(HttpSession session){
Map<String, Object> map = new HashMap<String, Object>();
if (session.getAttribute("flag")!=null) {
String url = url1.toString();
HttpSession session = request.getSession();
if(session.getAttribute("loginid") != null){
chain.doFilter(req, rep);
}
else{
if(url.contains("loginin")){
response.sendError(404);
}else{
chain.doFilter(req, rep);
}
}
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
package com.education.controller.admin;
/**
* 操作 简历的Controller
*/
@Controller
@RequestMapping(value="/admin")
public class adminManageLoginLogController {
@Autowired
private LoginLogService logService;
@RequestMapping(value="/listLogs",method=RequestMethod.POST)
@ResponseBody
public String listLogs(){
}
System.out.println(json.toString());
return json.toString();
}
// 获取 该用户的招聘信息
@RequestMapping(value="/listPositionByUserid",method=RequestMethod.POST)
@ResponseBody
public String listPositionByUserid(HttpSession session){
System.out.println((String)session.getAttribute("useridforposition"));
int id = Integer.parseInt((String)session.getAttribute("useridforposition"));
System.out.println("=====--==="+id);
List<Position> positions = adminManagePosition.getPositionsByuserId(id);
JSONArray json = new JSONArray();
for (Position po : positions) {
JSONObject jo = new JSONObject();
jo.put("id", po.getId());
jo.put("title", po.getName());
jo.put("place", po.getPlace());
jo.put("information", po.getInformation());
jo.put("salary", po.getSalary());
jo.put("contact", po.getContact());
jo.put("createtime", po.getCreatetime());
json.put(jo);
}
System.out.println(json.toString());
return json.toString();
}
// 通过 删除 招聘信息审核 招聘信息id 删除招聘信息
@RequestMapping(value="/deletePositionByid",method=RequestMethod.GET)
public String deletePositionByid(@RequestParam("id")int id){
System.out.println("要删除的职位id为:"+id);
adminManagePosition.deletePositionByid(id);
return "system/admin/recruit_table.html";
}
// 删除招聘者管理中的 招聘信息
@RequestMapping(value="/deletePositionFromUserByid",method=RequestMethod.GET)
if(lists!=null){
JSONObject object;
for (Tcomment list : lists) {
object = new JSONObject();
object.put("name", list.getName());
object.put("content", list.getContent());
object.put("createtime", list.getCreatetime());
array.put(object);
}
}
map.put("comments", array.toString());
return map;
}
//增加评论
@RequestMapping(value="/addComment",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> addComment(@RequestParam("resumeid")int resumeid,@RequestParam("positionid")int positionid,@RequestParam("content")String content,HttpSession session){
Map<String, Object> map = new HashMap<String, Object>();
String username = (String) session.getAttribute("username");
Integer userid = (Integer) session.getAttribute("userid");
if(username !=null&&userid!=null){
commentService.addTcomment(positionid, resumeid, username, content);
// 增加成功
map.put("result", 1);
}else{
// 没有登录
map.put("result", 0);
}
return map;
}
/**
* 查询所有学员
* @param subject
* @param place
* @return
*/
@RequestMapping(value="/listAllPositions",method=RequestMethod.POST)
@ResponseBody
public Map<String,Object> listAllPositions(@RequestParam("subject")String subject,@RequestParam("place")String place){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<>();
String subjects="";
if(!"不限".equals(subject)) {
subjects=subject;
}
queryMap.put("subject", subjects);
queryMap.put("place", place);
List<Position> findByPositionList = commonService.findByPositionList(queryMap);
r.setRname(parent.getName());
r.setEmail(parent.getEmail());
List<Position> positionsByuserId = adminManagePosition.getPositionsByuserId(parent.getId());
if(positionsByuserId == null) {
r.setNum(0);
} else {
r.setNum(positionsByuserId.size());
}
recruiters.add(r);
}
JSONArray json = new JSONArray();
for (Recruiter re : recruiters) {
JSONObject jo = new JSONObject();
jo.put("rid", re.getRid());
jo.put("rname", re.getRname());
jo.put("email", re.getEmail());
jo.put("number", re.getNum());
json.put(jo);
}
System.out.println(json.toString());
return json.toString();
}
@RequestMapping(value="/getUserByid",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getUserById(HttpSession session){
Map<String, Object> map = new HashMap<String, Object>();
String userid = (String)session.getAttribute("loginid");
int id = Integer.parseInt(userid);
Users users = adminManageUser.getUsersByid(id);
map.put("name", users.getName());
map.put("password", users.getPassword());
map.put("email", users.getEmail());
return map;
}
@RequestMapping(value="/checkEmail",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> checkEmail(@RequestParam("email")String email){
Map<String, Object> map = new HashMap<String, Object>();
Users users = adminManageUser.getUsersByEmail(email);
if(users == null){
map.put("result", "success");
}else{
map.put("result", "fail");
object.put("schoolname", resume.getSchoolname());
object.put("education", resume.getEducation());
object.put("major", resume.getMajor());
object.put("createtime", resume.getCreatetime());
object.put("phonenum", resume.getPhonenum()+","+resume.getEmail());
object.put("experience", resume.getExperience());
object.put("sex", resume.getSex());
object.put("time", resume.getTime());
String[] spilts = resume.getJobintension().split("-");
String pString = spilts[0];
String kemu = "";
for(int i=1;i<spilts.length-1;i++)
{
kemu +=spilts[i]+",";
}
kemu +=spilts[spilts.length-1];
object.put("place", pString);
object.put("kemu", kemu);
array.put(object);
}
}
map.put("resume", array.toString());
return map;
}
/**
*职位详情
* @param id
* @param session
* @return
*/
@RequestMapping(value="/getPositionByid",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getPositionByid(@RequestParam("id")int id,HttpSession session){
Map<String, Object> map = new HashMap<String, Object>();
JSONArray array = new JSONArray();
session.setAttribute("commentByPositionID", id);
Position position = commonService.getPositionByid(id);
if(position != null){
//必须已经审核了的
if (position.getStatue() == 1 ) {
JSONObject object = new JSONObject();
object.put("id", position.getId());
object.put("name", position.getName());
object.put("place", position.getPlace());
object.put("salary", position.getSalary());
object.put("createtime", position.getCreatetime());
object.put("phonenum", position.getContact());
object.put("num", commonService.getNumPositioned(id));
object.put("mainInfo", "教师"+position.getInformation().replaceAll("-", ","));
jo.put("contact", po.getContact());
jo.put("createtime", po.getCreatetime());
json.put(jo);
}
System.out.println(json.toString());
return json.toString();
}
// 通过 删除 招聘信息审核 招聘信息id 删除招聘信息
@RequestMapping(value="/deletePositionByid",method=RequestMethod.GET)
public String deletePositionByid(@RequestParam("id")int id){
System.out.println("要删除的职位id为:"+id);
adminManagePosition.deletePositionByid(id);
return "system/admin/recruit_table.html";
}
// 删除招聘者管理中的 招聘信息
@RequestMapping(value="/deletePositionFromUserByid",method=RequestMethod.GET)
public String deletePositionFromUserByid(@RequestParam("id")int id){
System.out.println("要删除的职位id为:"+id);
adminManagePosition.deletePositionByid(id);
return "system/admin/recruit_fromuser.html";
}
//通过职位id 获取职位信息
@RequestMapping(value="/showPositionImByid",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> showPositionImByid(@RequestParam("id")int id){
System.out.println("要获取职位信息的id" + id);
Position position = adminManagePosition.getPositionByid(id);
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", position.getId());
map.put("name", position.getName());
map.put("place", position.getPlace());
map.put("information", position.getInformation());
map.put("salary", position.getSalary());
map.put("contact", position.getContact());
map.put("statue", position.getStatue());
map.put("createtime", position.getCreatetime());
return map;
}
//通过招聘id 修改招聘信息的状态
@RequestMapping(value="/changePositionStatue")
@ResponseBody
public Map<String, Object> changePositionStatue(@RequestParam("id")int id){
Map<String, Object> map = new HashMap<String, Object>();
System.out.println("要修改状态的简历id"+id);
@Controller
@RequestMapping("/teacher")
public class StudentController {
@Autowired StudentService studentService;
@Autowired
private CommonService commonService;
@RequestMapping("/index")
public String index(){
return "system/applicant/teacher_PersonCenter.html";
}
@RequestMapping(value="/getTeacherInfo",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getTeacherInfo(HttpSession session){
Map<String, Object> map = new HashMap<String, Object>();
int userid = (Integer) session.getAttribute("userid");//session 中获取到的username
Resume resume = studentService.getResumeByuserid(userid);
if(resume!=null) {
map.put("id", resume.getId());
map.put("name", resume.getName());
map.put("sex", resume.getSex());
map.put("birthday", resume.getBirthday());
map.put("phonenum", resume.getPhonenum());
map.put("email", resume.getEmail());
map.put("schoolname", resume.getSchoolname());
map.put("time", resume.getTime());
map.put("education", resume.getEducation());
map.put("major", resume.getMajor());
map.put("statue", resume.getStatue());
map.put("experience", resume.getExperience());
String[] strings = resume.getJobintension().split("-");
map.put("place", strings[0]);
map.put("kemu", strings[1]);
}
return map;
}
/**
* 制作简历
*/
@RequestMapping(value="/updateResume",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> updateResume(Resume resume,HttpSession session){
Integer userid = (Integer) session.getAttribute("userid");
Map<String, Object> map = new HashMap<String, Object>();
map.put("type", "error");
resume.setUser(userid);
try {
studentService.addResume(resume);
}catch (Exception e) {
// TODO: handle exception
map.put("message", "添加简历失败");
return map;
}
}else {
//表示编辑
Resume resumeByuserid = studentService.getResumeByuserid(userid);
if(resumeByuserid==null) {
map.put("message", "未找到该简历");
return map;
}
try {
BeanUtils.copyProperties(resume, resumeByuserid, "statue","flag");
studentService.updateResume(resumeByuserid);
}catch (Exception e) {
// TODO: handle exception
map.put("message", "修改简历失败");
return map;
}
}
map.put("type", "success");
map.put("message", "简历制作完成");
return map;
}
@RequestMapping(value="/addResume",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> addResume(@RequestParam("name")String name,
@RequestParam("birthday")String birthday,@RequestParam("sex")int sex,@RequestParam("phonenum")String phonenum,
@RequestParam("email")String email,@RequestParam("schoolname")String schoolname,@RequestParam("time")String time,@RequestParam("education")String education,
@RequestParam("major")String major,@RequestParam("experience")String experience,@RequestParam("jobintension")String jobintension,HttpSession session){
Map<String, Object> map = new HashMap<String, Object>();
String username = (String)session.getAttribute("registername");
Users users = commonService.getUsersByName(username);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
String date = df.format(new Date());// new Date()为获取当前系统时间