基于SSM物业管理系统

news2024/11/22 16:29:42

摘要

进入二十一世纪以来,计算机技术蓬勃发展,人们的生活发生了许多变化。很多时候人们不需要亲力亲为的做一些事情,通过网络即可完成以往需要花费很多时间的操作,这可以提升人们的生活质量。计算机技术对人们生活的改变不仅仅包含衣食住行等方面,它在各种领域都对现代生活作出了贡献。

在计算机技术快速发展之前,人们如果想对自己家庭的水电、楼道的电梯等设施进行报修是非常麻烦的,人们需要前往各栋楼的管理员或者去小区的物业办公室进行报修申请,办公室办公的物业人员再给维修人员下达通知,维修人员再找到需要帮助的业主进行维修。但这种交易方式首先效率很低,因为一个小区的物业人员的数量是有限的,如果出现多个业主同时进行报修的情况很有可能就忙不过来,而每位业主的需求可能都是急切的,比如当单元楼的电梯如果出现了故障无法及时修理,很有可能几分钟的时间就会产生很大的危险。其次此报修方式的时效性比较差,业主们的需求信息无法快速及时的刷新。本系统使用JSP语言开发,开发的框架为SSM,数据库选择的是MySQL数据库,为各位业主提供了报修申请、设施查看、公告查看和在线留言等多种功能,让人们不需要再出门就可以使用电脑进行物业服务的体验,在极大地满足用户们社区服务需求的同时,还开发了个人后台的功能,让用户们可以通过网络实现房产信息查询以及缴费查询等功能。

关键词:物业管理,JSP,MySql

系统功能实现

首页面展示

报修申请功能 

用户注册登录 

在线留言 

用户个人后台 

后台管理界面 

需求分析 

系统的可行性分析主要目的是在系统立项开始前对系统所做的一系列的评估,综合各项评估决定是否对该项目进行立项。一般来说一个系统的可行性分析主要分为技术可行性、操作可行性及经济可行性等。

技术的可行性

系统的技术可行性主要是在开发开始前对本系统所使用的开发环境、开发技术等进行分析,对所有可能遇到的问题进行预估等。本系统的开发环境为自己的个人电脑,所有使用的工具都是平时学习时用过的,所用的开发技术大多数都是大学期间学习过的,如果遇到没有涉及的领域可以通过在CSDN、博客园等技术论坛寻找答案,也可以咨询指导老师。所以从技术层面分析,本系统是可行的。

经济的可行性

一个系统的经济可行性主要是指网站去除成本后还是否可以盈利,该系统为计算机专业大学生的毕业设计,主要目的是为了使用大学四年所学的知识开发出一个有价值的系统,证明自己可以达到毕业的要求。该项目几乎没有任何成本,因为所有的设备及开发软件都为电脑上已安装的免费版本,该项目为非商业项目,所以从经济可行性上分析,本系统是可行的。

操作可行性

系统的操作可行性也可以被称为运行可行性,主要对系统运行或操作进行分析。在当前这个电脑走入寻常百姓家的时代,不管是成年人还是小朋友都多多少少对电脑操作略知一二,本系统只要有简单的电脑常识就可以熟练使用,所以说从系统的操作方面是可行的。

部分代码

package com.controller;

import java.io.File;
import java.io.IOException;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.entity.Yezhuxinxi;
import com.server.YezhuxinxiServer;
import com.util.PageBean;
import net.sf.json.JSONObject;
import com.util.db;
import java.sql.SQLException;
import java.sql.*;
@Controller
public class YezhuxinxiController {
	@Resource
	private YezhuxinxiServer yezhuxinxiService;

	@RequestMapping("addYezhuxinxi.do")
	public String addYezhuxinxi(HttpServletRequest request,Yezhuxinxi yezhuxinxi,HttpSession session) throws SQLException{
		Timestamp time=new Timestamp(System.currentTimeMillis());
		
		yezhuxinxi.setAddtime(time.toString().substring(0, 19));
		yezhuxinxiService.add(yezhuxinxi);
		db dbo = new db();
		
		//kuabiaogaizhi
		session.setAttribute("backxx", "添加成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
		
	}
	@RequestMapping("addYezhuxinxiqt.do")
	public String addYezhuxinxiqt(HttpServletRequest request,Yezhuxinxi yezhuxinxi,HttpSession session) throws SQLException{
		Timestamp time=new Timestamp(System.currentTimeMillis());
		
		yezhuxinxi.setAddtime(time.toString().substring(0, 19));
		yezhuxinxiService.add(yezhuxinxi);
		db dbo = new db();
		
		//kuabiaogaizhi
		session.setAttribute("backxx", "添加成功");
		session.setAttribute("backurl", request.getHeader("Referer"));
		return "redirect:postback.jsp";
	}
 
//	处理编辑
	@RequestMapping("doUpdateYezhuxinxi.do")
	public String doUpdateYezhuxinxi(int id,ModelMap map,Yezhuxinxi yezhuxinxi){
		yezhuxinxi=yezhuxinxiService.getById(id);
		map.put("yezhuxinxi", yezhuxinxi);
		return "yezhuxinxi_updt";
	}
	
	@RequestMapping("doUpdateYezhuxinxi2.do")
	public String doUpdateYezhuxinxi2(ModelMap map,Yezhuxinxi yezhuxinxi,HttpServletRequest request){
		yezhuxinxi=yezhuxinxiService.getById(Integer.parseInt((String)request.getSession().getAttribute("uid")));
		map.put("yezhuxinxi", yezhuxinxi);
		return "yezhuxinxi_updt2";
	}
	
@RequestMapping("updateYezhuxinxi2.do")
	public String updateYezhuxinxi2(int id,ModelMap map,Yezhuxinxi yezhuxinxi,HttpServletRequest request,HttpSession session){
		yezhuxinxiService.update(yezhuxinxi);
		session.setAttribute("backxx", "修改成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
	}
	
	
//	后台详细
	@RequestMapping("yezhuxinxiDetail.do")
	public String yezhuxinxiDetail(int id,ModelMap map,Yezhuxinxi yezhuxinxi){
		yezhuxinxi=yezhuxinxiService.getById(id);
		map.put("yezhuxinxi", yezhuxinxi);
		return "yezhuxinxi_detail";
	}
//	前台详细
	@RequestMapping("yzxxDetail.do")
	public String yzxxDetail(int id,ModelMap map,Yezhuxinxi yezhuxinxi){
		yezhuxinxi=yezhuxinxiService.getById(id);
		map.put("yezhuxinxi", yezhuxinxi);
		return "yezhuxinxidetail";
	}
//	
	@RequestMapping("updateYezhuxinxi.do")
	public String updateYezhuxinxi(int id,ModelMap map,Yezhuxinxi yezhuxinxi,HttpServletRequest request,HttpSession session){
		yezhuxinxiService.update(yezhuxinxi);
		
		session.setAttribute("backxx", "修改成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
	}

//	分页查询
	@RequestMapping("yezhuxinxiList.do")
	public String yezhuxinxiList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Yezhuxinxi yezhuxinxi, String zhanghao, String mima, String xingming, String xingbie, String shenfenzheng, String lianxihaoma, String jiatingzhuzhi, String zhaopian){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 5);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 5);
		
		
		if(zhanghao==null||zhanghao.equals("")){pmap.put("zhanghao", null);}else{pmap.put("zhanghao", zhanghao);}
		if(mima==null||mima.equals("")){pmap.put("mima", null);}else{pmap.put("mima", mima);}
		if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
		if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
		if(shenfenzheng==null||shenfenzheng.equals("")){pmap.put("shenfenzheng", null);}else{pmap.put("shenfenzheng", shenfenzheng);}
		if(lianxihaoma==null||lianxihaoma.equals("")){pmap.put("lianxihaoma", null);}else{pmap.put("lianxihaoma", lianxihaoma);}
		if(jiatingzhuzhi==null||jiatingzhuzhi.equals("")){pmap.put("jiatingzhuzhi", null);}else{pmap.put("jiatingzhuzhi", jiatingzhuzhi);}
		if(zhaopian==null||zhaopian.equals("")){pmap.put("zhaopian", null);}else{pmap.put("zhaopian", zhaopian);}
		
		int total=yezhuxinxiService.getCount(pmap);
		pageBean.setTotal(total);
		List<Yezhuxinxi> list=yezhuxinxiService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "yezhuxinxi_list";
	}
	
	
	@RequestMapping("yzxxList.do")
	public String yzxxList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Yezhuxinxi yezhuxinxi, String zhanghao, String mima, String xingming, String xingbie, String shenfenzheng, String lianxihaoma, String jiatingzhuzhi, String zhaopian){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 5);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 5);
		if(zhanghao==null||zhanghao.equals("")){pmap.put("zhanghao", null);}else{pmap.put("zhanghao", zhanghao);}
		if(mima==null||mima.equals("")){pmap.put("mima", null);}else{pmap.put("mima", mima);}
		if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
		if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
		if(shenfenzheng==null||shenfenzheng.equals("")){pmap.put("shenfenzheng", null);}else{pmap.put("shenfenzheng", shenfenzheng);}
		if(lianxihaoma==null||lianxihaoma.equals("")){pmap.put("lianxihaoma", null);}else{pmap.put("lianxihaoma", lianxihaoma);}
		if(jiatingzhuzhi==null||jiatingzhuzhi.equals("")){pmap.put("jiatingzhuzhi", null);}else{pmap.put("jiatingzhuzhi", jiatingzhuzhi);}
		if(zhaopian==null||zhaopian.equals("")){pmap.put("zhaopian", null);}else{pmap.put("zhaopian", zhaopian);}
		
		int total=yezhuxinxiService.getCount(pmap);
		pageBean.setTotal(total);
		List<Yezhuxinxi> list=yezhuxinxiService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "yezhuxinxilist";
	}
	@RequestMapping("yzxxListtp.do")
	public String yzxxListtp(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Yezhuxinxi yezhuxinxi, String zhanghao, String mima, String xingming, String xingbie, String shenfenzheng, String lianxihaoma, String jiatingzhuzhi, String zhaopian){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 8);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 8);
		if(zhanghao==null||zhanghao.equals("")){pmap.put("zhanghao", null);}else{pmap.put("zhanghao", zhanghao);}
		if(mima==null||mima.equals("")){pmap.put("mima", null);}else{pmap.put("mima", mima);}
		if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
		if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
		if(shenfenzheng==null||shenfenzheng.equals("")){pmap.put("shenfenzheng", null);}else{pmap.put("shenfenzheng", shenfenzheng);}
		if(lianxihaoma==null||lianxihaoma.equals("")){pmap.put("lianxihaoma", null);}else{pmap.put("lianxihaoma", lianxihaoma);}
		if(jiatingzhuzhi==null||jiatingzhuzhi.equals("")){pmap.put("jiatingzhuzhi", null);}else{pmap.put("jiatingzhuzhi", jiatingzhuzhi);}
		if(zhaopian==null||zhaopian.equals("")){pmap.put("zhaopian", null);}else{pmap.put("zhaopian", zhaopian);}
		
		int total=yezhuxinxiService.getCount(pmap);
		pageBean.setTotal(total);
		List<Yezhuxinxi> list=yezhuxinxiService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "yezhuxinxilisttp";
	}
	
	@RequestMapping("deleteYezhuxinxi.do")
	public String deleteYezhuxinxi(int id,HttpServletRequest request,HttpSession session){
		yezhuxinxiService.delete(id);
		session.setAttribute("backxx", "删除成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
	}
	
	@RequestMapping("quchongYezhuxinxi.do")
	public void quchongYezhuxinxi(Yezhuxinxi yezhuxinxi,HttpServletResponse response){
		   Map<String,Object> map=new HashMap<String,Object>();
		   map.put("zhanghao", yezhuxinxi.getZhanghao());
		   System.out.println("zhanghao==="+yezhuxinxi.getZhanghao());
		   System.out.println("zhanghao222==="+yezhuxinxiService.quchongYezhuxinxi(map));
		   JSONObject obj=new JSONObject();
		   if(yezhuxinxiService.quchongYezhuxinxi(map)!=null){
				 obj.put("info", "ng");
			   }else{
				   obj.put("info", "账号可以用!");
				  
			   }
		   response.setContentType("text/html;charset=utf-8");
		   PrintWriter out=null;
		   try {
			out=response.getWriter();
			out.print(obj);
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			out.close();
		}
	}
}

结论 

通过计算机网络构造物业管理平台是当下现代社会计算机技术高速发展下兴起的一种新理念,也是国家现在大力扶持的一种社区管理的新方式,它可以利用当前最新的计算机技术与智能设备相结合,为社区内的业主们提供方便,主要提供的功能如在线缴费、报修申请及公告设施信息查看等。在这种模式未出现的年代,特别是在计算机技术不太发达的时期,人们在社区内处理物业问题或缴纳各种费用的方式非常单一,没有多种途径进行办理,这会导致想办理事务的人扎堆,使社区服务的效率变低。另一方面,由于不能及时得知业主们的需求,会造成很多麻烦与不变,会严重影响业主们的生活质量。所以拥有一个报修迅速、报修信息可以及时刷新的物业管理系统非常重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1592116.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单列模式1.0

单列模式 单例模式能保证某个类在程序中只存在唯⼀⼀份实例, ⽽不会创建出多个实例 1.饿汉模式 只要程序一启动就会立即创建出一个对象 class Signleton{private static Signleton instancenew Signleton();//防止在以后的代码中再创建对象&#xff0c;我们将构造方法private,…

FreeFileSync|本地自动备份设置教程,终于可以不用手动同步了

前言 昨天小白给各位小伙伴分享了FreeFileSync软件&#xff0c;由于篇幅过长&#xff0c;所以整个教程中并没有教小伙伴们如何设置自动同步的办法。 今天小白就来唠唠&#xff1a;如何让FreeFileSync自动同步。 教程分为几种&#xff1a; 开机自动同步 开机之后自动执行一次…

LeetCode617:合并二叉树

题目描述 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要将这两棵树合并成一棵新二叉树。合并的规则是&#xff1a;如果两个节点重…

天地人和•大道不孤——卢禹舜中国画作品展在重庆美术馆隆重开幕

2024年4月12日&#xff0c;由中国国家画院、重庆市文化和旅游发展委员会主办&#xff0c;重庆美术馆&#xff08;重庆画院、重庆国画院&#xff09;、北京八荒锦绣美术馆、中国国际文化交流基金会卢禹舜艺术基金承办的“天地人和•大道不孤——卢禹舜中国画作品展”开幕式在重庆…

SF58-ASEMI适配器二极管SF58

编辑&#xff1a;ll SF58-ASEMI适配器二极管SF58 型号&#xff1a;SF58 品牌&#xff1a;ASEMI 封装&#xff1a;DO-27 最大平均正向电流&#xff08;IF&#xff09;&#xff1a;5A 最大循环峰值反向电压&#xff08;VRRM&#xff09;&#xff1a;600V 最大正向电压&…

C语言函数指针应用——计算器(转移表)的使用

对与上一节&#xff0c;我们对指针函数已经有了深刻意识了&#xff1b;练一练吧 如果还没有学习到&#xff0c;也是没有关系的&#xff0c;可以看一看这一篇 C语言详解指针-CSDN博客https://blog.csdn.net/Asuku_/article/details/137690083希望能提高你对指针的理解 计算器的实…

使用Riverpod在Flutter中创建Todo列表

使用Riverpod在Flutter中创建Todo列表 视频 https://youtu.be/mlbeSD1KSIo https://www.bilibili.com/video/BV1jj42197c8/ 前言 原文 https://ducafecat.com/blog/flutter-todo-list-with-riverpod-guide-02 学习如何使用Riverpod在Flutter中构建一个功能完整的Todo列表应用…

《AI创业浪潮:展望未来,解锁颠覆性创新机遇》

在科技革命的浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;犹如一艘引领航向的旗舰&#xff0c;以其强大的变革力量重塑各行各业。随着技术的日益成熟与应用场景的不断拓宽&#xff0c;AI技术为创业者铺就了一条充满机遇与挑战的道路。本文将深入探讨未来AI技术领域的…

CPU问题排查

经常发现生产环境CPU运行很高&#xff0c;我们想知道到底是什么代码这么消耗CPU TOP命令 此时我们经常使用top来找到 CPU 使用率比较高的一些线程 容器中的docker 备注&#xff1a; 如果是docker 中的top命令。需要关注&#xff0c;一般来说不需要&#xff0c;挂载内容的多…

TSINGSEE青犀AI智能分析网关V4叉车载货出入库检测算法介绍及应用

随着物流行业的快速发展&#xff0c;叉车作为物流运输的重要设备&#xff0c;其安全性和效率性越来越受到人们的关注。然而&#xff0c;在实际操作中&#xff0c;由于人为因素和操作环境的复杂性&#xff0c;叉车事故时有发生&#xff0c;给企业和个人带来了巨大的损失。为了提…

cbv源码

cbv源码 【1】什么是查找顺序 对象属性的查找顺序&#xff1a; 首先在对象自身的命名空间&#xff08;属性字典&#xff09;中查找属性。如果在对象自身的命名空间中没有找到&#xff0c;则会向上查找该对象的类&#xff08;class&#xff09;的命名空间&#xff0c;直到找到…

mysql索引与优化问题

作为一个java程序员&#xff0c;mysql数据库面试应该是比较多的了&#xff1b;而关于数据库的面试&#xff0c;最多的就是性能问题&#xff0c;而以性能为起点&#xff0c;延伸出很多具体的问题。 我们使用第一性原理的方法来分析&#xff0c;为什么面试中一定会问数据库的索引…

vox2vec论文速读

vox2vec: A Framework for Self-supervised Contrastive Learning of Voxel-Level Representations in Medical Images 摘要 本文介绍了 vox2vec——一种体素级表示的自监督学习 &#xff08;SSL&#xff09; 对比方法 vox2vec 表示由特征金字塔网络 &#xff08;FPN&#xf…

每日OJ题_01背包③_力扣494. 目标和(dp+滚动数组优化)

目录 力扣494. 目标和 问题解析 解析代码 滚动数组优化代码 力扣494. 目标和 494. 目标和 难度 中等 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; …

LeetCode题练习与总结:最小路径和--64

一、题目描述 给定一个包含非负整数的 m x n 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 示例 1&#xff1a; 输入&#xff1a;grid [[1,3,1],[1,5,1],[4,2,1]] 输出…

Zotero插件ZotCard中AI-NNDL文献笔记卡分享及卡片使用方法

一、卡片社区分享 github&#xff1a;ZotCard插件AI-NNDL论文卡片模板 Issue #67 018/zotcard (github.com) 二、卡片效果预览 ZotCard插件AI-NNDL论文卡片模板是关于人工智能神经网络与深度学习论文的笔记卡片&#xff0c;效果预览如下图&#xff1a; 三、卡片代码 经过了…

[CSS]使用方式+样式属性

层叠样式表&#xff08;Cascading Style Sheets&#xff09;&#xff0c;与HTML一样&#xff0c;也是一种标记语言&#xff0c;其作用就是给HTML页面标签添加各种样式&#xff0c;定义网页的显示效果&#xff0c;将网页内容和显示样式进行分离&#xff0c;提高了显示功能。简单…

(Oracle)SQL优化案例:隐式转换优化

项目场景 项目现场的某个kettle模型执行非常缓慢&#xff0c;原因在于某个SQL执行效率非常的低。甲方得知此事要求公司赶紧优化&#xff0c;负责该模块的同事对SQL优化并不熟悉。所以作为一个立志成为优秀DBA的ETL工程师&#xff0c;我自告奋勇&#xff1a;不是DBA&#xff0c;…

4.2 面向对象程序设计-类的继承实验

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系将于24小时内删除 目录 1.实验内容 2.实验原理 2.1类的继承 2.2 继承的优点和缺点 2.3 继承的方式 3.实验代码 1.实验内容 创建一个父类CalcTime&#xff0c;在父类中依次定义用于保存…

Java基础(二)-- 面向对象

文章目录 第二章、面向对象一、类和对象1、基本概念1&#xff09;什么是对象2&#xff09;什么是面向对象3&#xff09;什么是类4&#xff09;什么是对象的属性和方法5&#xff09;类和对象的关系 2、单一职责原则3、对象实例化1&#xff09;Java内存管理之堆和栈 4、构造方法5…