基于javaweb+mysql的ssm投票管理系统(java+jsp+ssm+javabean+mysql+tomcat)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
投票管理系统,分为前端和后台管理模块
前端用户可以登录注册、查看投票信息,登录后可以进行投票,也可以查看自己的历史投票记录
后台管理模块管理员登录后可以管理用户信息、管理投票主题和子项、查看投票详情、查看投票图表统计信息等
目前投票方式支持单选只能投一次、单选一天只能投一次、多选只能投一次、多选一天只能投一次等四种方式,投票主题可以设置开始和结束时间,结束后不能再进行投票
前台
后台
技术框架
JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) MySQL EasyUI jQuery Ajax
基于javaweb+mysql的SSM投票管理系统(java+jsp+ssm+javabean+mysql+tomcat)
@Autowired
private UserService userService;
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView index(ModelAndView model){
model.setViewName("admin/user/list");
return model;
}
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Map<String,Object> add(User user){
Map<String,Object> ret = new HashMap<String,Object>();
if(isExist(user.getName(),null)){
ret.put("type", "error");
ret.put("msg", "用户名已经存在!");
return ret;
}
user.setCreateTime(new Date(System.currentTimeMillis()));
if(userService.add(user) <= 0){
ret.put("type", "error");
ret.put("msg", "添加失败!");
return ret;
}
ret.put("type", "success");
return ret;
}
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Map<String,Object> edit(User user){
Map<String,Object> ret = new HashMap<String,Object>();
if(isExist(user.getName(),user.getId())){
ret.put("type", "error");
ret.put("msg", "用户名已经存在!");
return ret;
}
if(userService.edit(user) <= 0){
ret.put("type", "error");
ret.put("msg", "修改失败!");
return ret;
}
ret.put("type", "success");
return ret;
}
return model;
}
@RequestMapping(value="/get_list",method=RequestMethod.GET)
@ResponseBody
public Map<String,Object> list(@RequestParam(value="username", required=false,defaultValue="") String username,
@RequestParam(value="subjectName", required=false,defaultValue="") String subjectName,
@RequestParam(value="subjectItemTitle", required=false,defaultValue="") String subjectItemTitle,
Page page
){
Map<String,Object> queryMap = new HashMap<String,Object>();
queryMap.put("username", "%" + username + "%");
queryMap.put("subjectName", "%" + subjectName + "%");
queryMap.put("subjectItemTitle", "%" + subjectItemTitle + "%");
queryMap.put("startIndex", page.getOffset());
queryMap.put("pageSize", page.getRows());
List<Vote> findByName = voteService.findList(queryMap);
Map<String,Object> ret = new HashMap<String,Object>();
ret.put("total", voteService.getTotal(queryMap));
ret.put("rows", findByName);
return ret;
}
}
public class LoginInterceptor implements HandlerInterceptor{
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
// TODO Auto-generated method stub
@Controller
@RequestMapping("/admin/vote")
public class AdminVoteController {
@Autowired
private SubjectService subjectService;
@Autowired
private SubjectItemService subjectItemService;
@Autowired
private VoteService voteService;
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView index(ModelAndView model){
model.setViewName("admin/vote/list");
return model;
}
@RequestMapping(value="/get_list",method=RequestMethod.GET)
@ResponseBody
public Map<String,Object> list(@RequestParam(value="username", required=false,defaultValue="") String username,
@RequestParam(value="subjectName", required=false,defaultValue="") String subjectName,
@RequestParam(value="subjectItemTitle", required=false,defaultValue="") String subjectItemTitle,
Page page
){
Map<String,Object> queryMap = new HashMap<String,Object>();
queryMap.put("username", "%" + username + "%");
queryMap.put("subjectName", "%" + subjectName + "%");
queryMap.put("subjectItemTitle", "%" + subjectItemTitle + "%");
queryMap.put("startIndex", page.getOffset());
queryMap.put("pageSize", page.getRows());
List<Vote> findByName = voteService.findList(queryMap);
ret.put("type", "success");
return ret;
}
@RequestMapping(value="/get_list",method=RequestMethod.GET)
@ResponseBody
public Map<String,Object> list(@RequestParam(value="name", required=false,defaultValue="") String name,
Page page
){
Map<String,Object> queryMap = new HashMap<String,Object>();
queryMap.put("name", "%" + name + "%");
queryMap.put("startIndex", page.getOffset());
queryMap.put("pageSize", page.getRows());
List<Subject> findByName = subjectService.findByName(queryMap);
Map<String,Object> ret = new HashMap<String,Object>();
ret.put("total", subjectService.getTotalByName(queryMap));
ret.put("rows", findByName);
return ret;
}
}
Map<String,Object> queryMap = new HashMap