基于javaweb的房地产客户关系管理系统(java+jsp+javascript+servlet+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的房地产客户关系管理系统(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项目:否;

技术栈

  1. 后端:Servlet 2. 前端:JSP+CSS+JavaScript

使用说明

  1. 使用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

客户管理控制层:

@Controller

@RequestMapping(“/customer”)

public class CustomerController extends AuthorizedController {

@Autowired

private CustomerService customerService;

@RequestMapping(value = “”, method = RequestMethod.GET)

public String customer() {

return “crm/customer”;

@RequestMapping(value = “/find”, method = RequestMethod.POST)

@ResponseBody

public PageInfo find(@RequestBody QueryCustomerVo vo) {

return customerService.find(vo);

@RequestMapping(value = “/findAllCustomerCategory”, method = RequestMethod.POST)

@ResponseBody

public List findAllCustomerCategory() {

return customerService.findAllCustomerCategory();

@RequestMapping(value = “/findAllIndustry”, method = RequestMethod.POST)

@ResponseBody

public List findAllIndustry() {

return customerService.findAllIndustry();

@RequestMapping(value = “/findAllSource”, method = RequestMethod.POST)

@ResponseBody

public List findAllSource() {

return customerService.findAllSource();

@RequestMapping(value = “/add”, method = RequestMethod.POST)

@ResponseBody

public Result add(@RequestBody Customer customer) {

customer.setCreateBy(getUser().getUserId());

return customerService.insert(customer);

@RequestMapping(value = “/checkCustomerName”, method = RequestMethod.POST)

@ResponseBody

public Result checkCustomerName(@RequestBody Customer customer) {

return customerService.checkCustomerName(customer);

@RequestMapping(value = “/findById”, method = RequestMethod.POST)

@ResponseBody

public Customer findById(@RequestBody Customer customer) {

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 updateStar(@RequestBody Customer customer) {

return customerService.updateStar(customer);

@RequestMapping(value = “/updateLocation”, method = RequestMethod.POST)

@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”;

@RequestMapping(value = “/find”, method = RequestMethod.POST)

@ResponseBody

public PageInfo 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 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);

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);

@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() {

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;

@RequestMapping(value = “”, method = RequestMethod.GET)

public String index() {

return “sys/role”;

@RequestMapping(value = “/findAll”, method = RequestMethod.POST)

@ResponseBody

public List 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) {

return roleService.insert(role);

@RequestMapping(value = “/remove”, method = RequestMethod.POST)

@ResponseBody

public Result delete(@RequestBody List 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 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 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 findUserNotInRole(@RequestBody QueryRoleUserVo vo) {

return roleService.findUserNotInRole(vo);

@RequestMapping(value = “/user/add”, method = RequestMethod.POST)

@ResponseBody

public Result addRoleUser(@RequestBody RoleUser roleUser) {

return roleService.insertRoleUser(roleUser);

@RequestMapping(value = “/menu/{roleId}”, method = RequestMethod.GET)

public ModelAndView roleMenu(@PathVariable Integer roleId) {

ModelAndView mv = new ModelAndView(“sys/roleMenu”);

mv.addObject(“roleId”, roleId);

return mv;

@RequestMapping(value = “/menu/saveMenu”, method = RequestMethod.POST)

@ResponseBody

public Result saveMenu(@RequestBody Map map) {

return roleService.saveRoleMenu((Integer) map.get(“roleId”), (List) map.get(“menuIdList”));

@RequestMapping(value = “/fun/{roleId}”, method = RequestMethod.GET)

public ModelAndView roleFun(@PathVariable int roleId) {

ModelAndView vm = new ModelAndView(“sys/roleFun”);

vm.addObject(“roleId”, roleId);

return vm;


基于javaweb的房地产客户关系管理系统(java+jsp+javascript+servlet+mysql)相关推荐

  1. 基于javaweb的二手交易商城系统(java+jsp+javascript+servlet+mysql)

    基于javaweb的二手交易商城系统(java+jsp+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/id ...

  2. 基于javaweb的在线奶茶店系统(java+jsp+javascript+servlet+mysql)

    基于javaweb的在线奶茶店系统(java+jsp+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...

  3. 基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql)

    基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 ecl ...

  4. 基于javaweb的医院挂号管理系统(java+jsp+javascript+servlet+mysql)

    基于javaweb的医院挂号管理系统(java+jsp+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/id ...

  5. 基于javaweb的宠物店管理系统(java+jsp+javascript+bootstrap+mysql)

    基于javaweb的宠物店管理系统(java+jsp+javascript+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/i ...

  6. 基于javaweb的私人牙科诊所病历管理系统(java+jsp+css+javascript+mysql)

    基于javaweb的私人牙科诊所病历管理系统(java+jsp+css+javascript+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/id ...

  7. 基于javaweb的医院门诊收费管理系统(java+jsp+jdbc+mysql)

    基于javaweb的医院门诊收费管理系统(java+jsp+jdbc+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse ...

  8. 基于javaweb的超市收银管理系统(java+SSM+HTML+maven+mysql)

    基于javaweb的超市收银管理系统(java+SSM+HTML+maven+mysql) 一.项目简述 本系统主要实现的功能有:收银.报表.用户管理.商品管理.销售管理.进货退货管理.仓库管 理等等 ...

  9. 基于javaweb的会员卡积分管理系统(java+jsp+javascript+html+mysql)

    基于javaweb的会员卡积分管理系统(java+jsp+javascript+html+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea ...

最新文章

  1. Redis 之布隆过滤器与布谷鸟过滤器
  2. html如何获取请求头变量的值。_手写一个静态资源中间件,加深了解服务器对文件请求的缓存策略...
  3. linux下的二进制文件的编辑和查看
  4. eclipse插件大全整理学习
  5. .net 反编译_向.net/Unity 程序员推荐一个十分因吹斯听的网站:sharplab.io
  6. 【干货】奢侈品线上消费圈层洞察-阿里妈妈.pdf(附下载链接)
  7. IPV6 Socket编程
  8. 2020-09-30
  9. 用VS.NET 2005制作安装程序
  10. 计算机网络管理师2级,计算机网络管理员(二级)操作技能考核试卷
  11. 智慧医院新系统架构设计与建设
  12. ViTAE论文阅读与官方代码讲解
  13. Speedoffice(PPT)如何设置文字顶部对齐
  14. Python模拟京东登录(附完整代码)
  15. Vulhub靶场的搭建(下载和安装)
  16. Linux服务篇之远程访问及控制SSH
  17. Confluence使用教程-不古出品
  18. Python爬虫-Beautiful Soup-当当图书目录(1)
  19. 普通管线的材质球在URP渲染管线中出现的材质丢失问题
  20. 实例!自动化物流系统规划设计(立库,输送,分拣,WMS)

热门文章

  1. 讲座“计算机与手机导购”
  2. 2014最新的淘宝客网站SEO操作方法
  3. syntaxhighlighter修饰代码时,底部出现水平滚动条
  4. JAVA实现监听U盘插入 扫描文件
  5. 励志也是一种变相的洗脑
  6. Canvas绘制八卦图
  7. arm linux i2c 总线驱动,ARM-Linux中I2C总线驱动开发
  8. Cport 详细解释和应用
  9. Failed to connect to raw.githubusercontent.com port 443 处理方法
  10. C语言实现的音乐播放器