基于javaweb+mysql的jsp+servlet房地产客户关系管理系统(java+jsp+javascript+servlet+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的JSP+Servlet房地产客户关系管理系统(java+jsp+javascript+servlet+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.数据库:MySql 5.7版本; 6.是否Maven项目:否;
技术栈
- 后端:Servlet 2. 前端:JSP+CSS+JavaScript
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中util/DBCon.java配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入http://localhost:8080/crm 登录 管理员账号/密码: admin/123456 员工账号/密码:123/123
public PageInfo<User> findUserInRole(@RequestBody QueryRoleUserVo vo) {
return roleService.findUserInRole(vo);
@RequestMapping(value = "/user/remove", method = RequestMethod.POST)
@ResponseBody
public Result deleteRoleUser(@RequestBody RoleUser roleUser) {
return roleService.deleteRoleUser(roleUser);
@RequestMapping(value = "/user/findUserNotInRole", method = RequestMethod.POST)
@ResponseBody
public PageInfo<User> findUserNotInRole(@RequestBody QueryRoleUserVo vo) {
return roleService.findUserNotInRole(vo);
@RequestMapping(value = "/user/add", method = RequestMethod.POST)
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result add(@RequestBody User user) {
return userService.insert(user);
@RequestMapping(value = "/remove", method = RequestMethod.POST)
@ResponseBody
public Result delete(@RequestBody List<Integer> ids) {
return userService.deleteByIds(ids);
@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public User findById(@RequestBody User user) {
return userService.findById(user.getUserId());
return roleService.update(role);
@RequestMapping(value = "/user/{roleId}", method = RequestMethod.GET)
public ModelAndView roleUser(@PathVariable int roleId) {
ModelAndView vm = new ModelAndView("sys/roleUser");
vm.addObject("roleId", roleId);
return vm;
@RequestMapping(value = "/user/findUserInRole", method = RequestMethod.POST)
@ResponseBody
public PageInfo<User> findUserInRole(@RequestBody QueryRoleUserVo vo) {
return roleService.findUserInRole(vo);
@RequestMapping(value = "/user/remove", method = RequestMethod.POST)
@ResponseBody
@RequestMapping(value = "/find", method = RequestMethod.POST)
@ResponseBody
public PageInfo<Customer> find(@RequestBody QueryCustomerVo vo) {
return customerService.find(vo);
@RequestMapping(value = "/findAllCustomerCategory", method = RequestMethod.POST)
@ResponseBody
public List<CustomerCategory> findAllCustomerCategory() {
return customerService.findAllCustomerCategory();
@RequestMapping(value = "/findAllIndustry", method = RequestMethod.POST)
@ResponseBody
public List<Industry> findAllIndustry() {
return customerService.findAllIndustry();
private RoleService roleService;
@RequestMapping(value = "", method = RequestMethod.GET)
public String index() {
return "sys/role";
@RequestMapping(value = "/findAll", method = RequestMethod.POST)
@ResponseBody
public List<Role> findAll() {
return roleService.findAll();
@RequestMapping(value = "/checkRoleName", method = RequestMethod.POST)
@ResponseBody
public Result existRoleName(@RequestBody Role role) {
return roleService.checkRoleName(role);
@RequestMapping(value = "/remove", method = RequestMethod.POST)
@ResponseBody
public Result delete(@RequestBody List<Integer> ids) {
return roleService.deleteByIds(ids);
@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public Role findById(@RequestBody Role role) {
return roleService.findById(role.getRoleId());
@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public Result update(@RequestBody Role role) {
return userService.resetPassword(user);
@RequestMapping(value = "/profile", method = RequestMethod.GET)
public String profile() {
return "sys/profile";
@RequestMapping(value = "/updatePassword", method = RequestMethod.POST)
@ResponseBody
public Result updatePassword(@RequestBody UpdatePasswordVo vo) {
return userService.updatePassword(vo);
角色管理控制层:
@Controller
public List<CustomerCategory> findAllCustomerCategory() {
return customerService.findAllCustomerCategory();
@RequestMapping(value = "/findAllIndustry", method = RequestMethod.POST)
@ResponseBody
public List<Industry> findAllIndustry() {
return customerService.findAllIndustry();
@RequestMapping(value = "/findAllSource", method = RequestMethod.POST)
@ResponseBody
public List<Source> findAllSource() {
return customerService.findAllSource();
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
@ResponseBody
public PageInfo<User> find(@RequestBody QueryUserVo vo) {
return userService.find(vo);
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result add(@RequestBody User user) {
return userService.insert(user);
@RequestMapping(value = "/remove", method = RequestMethod.POST)
@ResponseBody
public Result delete(@RequestBody List<Integer> ids) {
return userService.deleteByIds(ids);
@ResponseBody
public User findById(@RequestBody User user) {
return userService.findById(user.getUserId());
@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public Result update(@RequestBody User user) {
Result result = userService.update(user);
if (result.isSuccess() && user.getUserId() == getUser().getUserId()) {
session.setAttribute("User", userService.findById(getUser().getUserId()));
return result;
@RequestMapping(value = "/updateStatus", method = RequestMethod.POST)
return "sys/profile";
@RequestMapping(value = "/updatePassword", method = RequestMethod.POST)
@ResponseBody
public Result updatePassword(@RequestBody UpdatePasswordVo vo) {
return userService.updatePassword(vo);
角色管理控制层:
@Controller
@RequestMapping("/role")
public class RoleController extends AuthorizedController {
@Autowired
private RoleService roleService;
@ResponseBody
public Result updateStatus(@RequestBody User user) {
return userService.updateStatus(user);
@RequestMapping(value = "/checkUserName", method = RequestMethod.POST)
@ResponseBody
public Result checkUserName(@RequestBody User user) {
return userService.checkUserName(user);
@RequestMapping(value = "/resetPassword", method = RequestMethod.POST)
@ResponseBody
public Result resetPassword(@RequestBody User user) {
return userService.resetPassword(user);
@RequestMapping(value = "/profile", method = RequestMethod.GET)
@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public Result update(@RequestBody User user) {
Result result = userService.update(user);
if (result.isSuccess() && user.getUserId() == getUser().getUserId()) {
session.setAttribute("User", userService.findById(getUser().getUserId()));
return result;
@RequestMapping(value = "/updateStatus", method = RequestMethod.POST)
@ResponseBody
public Result updateStatus(@RequestBody User user) {
return userService.updateStatus(user);
@ResponseBody
public List<Role> findAll() {
return roleService.findAll();
@RequestMapping(value = "/checkRoleName", method = RequestMethod.POST)
@ResponseBody
public Result existRoleName(@RequestBody Role role) {
return roleService.checkRoleName(role);
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result add(@RequestBody Role role) {
public Result updateStatus(@RequestBody User user) {
return userService.updateStatus(user);
@RequestMapping(value = "/checkUserName", method = RequestMethod.POST)
@ResponseBody
public Result checkUserName(@RequestBody User user) {
return userService.checkUserName(user);
@RequestMapping(value = "/resetPassword", method = RequestMethod.POST)
@ResponseBody
public Result resetPassword(@RequestBody User user) {
return userService.resetPassword(user);
@RequestMapping(value = "/profile", method = RequestMethod.GET)
public String profile() {
@ResponseBody
public Result updateLocation(@RequestBody Customer customer) {
return customerService.updateLocation(customer);
用户管理控制层:
@Controller
@RequestMapping("/user")
public class UserController extends AuthorizedController {
@Autowired
private UserService userService;
@Autowired
private HttpSession session;
@RequestMapping(value = "", method = RequestMethod.GET)
public String index() {
return "sys/user";
@ResponseBody
public Result add(@RequestBody User user) {
return userService.insert(user);
@RequestMapping(value = "/remove", method = RequestMethod.POST)
@ResponseBody
public Result delete(@RequestBody List<Integer> ids) {
return userService.deleteByIds(ids);
@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public User findById(@RequestBody User user) {
return userService.findById(user.getUserId());
@ResponseBody
public Result add(@RequestBody User user) {
return userService.insert(user);
@RequestMapping(value = "/remove", method = RequestMethod.POST)
@ResponseBody
public Result delete(@RequestBody List<Integer> ids) {
return userService.deleteByIds(ids);
@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public User findById(@RequestBody User user) {
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result add(@RequestBody Role role) {
return roleService.insert(role);
@RequestMapping(value = "/remove", method = RequestMethod.POST)
@ResponseBody
public Result delete(@RequestBody List<Integer> ids) {
return roleService.deleteByIds(ids);
@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public Role findById(@RequestBody Role role) {
public Result resetPassword(@RequestBody User user) {
return userService.resetPassword(user);
@RequestMapping(value = "/profile", method = RequestMethod.GET)
public String profile() {
return "sys/profile";
@RequestMapping(value = "/updatePassword", method = RequestMethod.POST)
@ResponseBody
public Result updatePassword(@RequestBody UpdatePasswordVo vo) {
return userService.updatePassword(vo);
角色管理控制层:
@Controller
@RequestMapping("/role")
public class RoleController extends AuthorizedController {
public String index() {
return "sys/user";
@RequestMapping(value = "/find", method = RequestMethod.POST)
@ResponseBody
public PageInfo<User> find(@RequestBody QueryUserVo vo) {
return userService.find(vo);
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result add(@RequestBody User user) {
return userService.insert(user);
@RequestMapping(value = "", method = RequestMethod.GET)
public String index() {
return "sys/role";
@RequestMapping(value = "/findAll", method = RequestMethod.POST)
@ResponseBody
public List<Role> findAll() {
return roleService.findAll();
@RequestMapping(value = "/checkRoleName", method = RequestMethod.POST)
@ResponseBody
public Result existRoleName(@RequestBody Role role) {
return roleService.checkRoleName(role);
public Result existRoleName(@RequestBody Role role) {
return roleService.checkRoleName(role);
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result add(@RequestBody Role role) {
return roleService.insert(role);
@RequestMapping(value = "/remove", method = RequestMethod.POST)
@ResponseBody
public Result delete(@RequestBody List<Integer> ids) {
return roleService.deleteByIds(ids);
@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public Role findById(@RequestBody Role role) {
return customerService.findById(customer.getCustomerId());
@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public Result update(@RequestBody Customer customer) {
return customerService.update(customer);
@RequestMapping(value = "/dashboard/{customerId}", method = RequestMethod.GET)
public ModelAndView dashboard(@PathVariable int customerId) {
ModelAndView vm = new ModelAndView("crm/customerDashboard");
vm.addObject("customerId", customerId);
return vm;
@RequestMapping(value = "/updateStar", method = RequestMethod.POST)
@ResponseBody
public Result delete(@RequestBody List<Integer> ids) {
return userService.deleteByIds(ids);
@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public User findById(@RequestBody User user) {
return userService.findById(user.getUserId());
@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public Result update(@RequestBody User user) {
Result result = userService.update(user);
public class UserController extends AuthorizedController {
@Autowired
private UserService userService;
@Autowired
private HttpSession session;
@RequestMapping(value = "", method = RequestMethod.GET)
public String index() {
return "sys/user";
@RequestMapping(value = "/find", method = RequestMethod.POST)
@ResponseBody
@ResponseBody
public Result update(@RequestBody Role role) {
return roleService.update(role);
@RequestMapping(value = "/user/{roleId}", method = RequestMethod.GET)
public ModelAndView roleUser(@PathVariable int roleId) {
ModelAndView vm = new ModelAndView("sys/roleUser");
vm.addObject("roleId", roleId);
return vm;
@RequestMapping(value = "/user/findUserInRole", method = RequestMethod.POST)
@ResponseBody
public PageInfo<User> findUserInRole(@RequestBody QueryRoleUserVo vo) {
return roleService.findUserInRole(vo);
@RequestMapping(value = "/user/remove", method = RequestMethod.POST)