基于JSP的小区物业管理系统
(4)收费信息表主要是记录了业主收费情况的基本信息,表结构如图3.4所示。
表3.4收费信息表(t_shoufei)
列名 数据类型 长度 允许空 是否主键 说明 shoufei_id int 4 否 是 编号 shoufei_shijian varchar 50 否 否 收费时间 shoufei_xiangmu varchar 50 否 否 收费项目 shoufei_jie varchar 50 否 否 收费金额 zhuhu_id varchar 50 否 否 住户信息 (5)留言信息表主要是注册业主间留言的基本信息,表结构如图3.5所示。
表3.5留言信息表(t_liuyan)
列名 数据类型 长度 允许空 是否主键 说明 liuyan_id Int 4 否 是 编号 liuyan_title varchar 50 否 否 标题 liuyan_content varchar 50 否 否 内容 liuyan_date varchar 50 否 否 留言时间 liuyan_user Int 4 否 否 留言人 (6)环境表主要是记录小区环境建设方面的基本信息,表结构如图3.6所示。
表3.6环境信息表(t_huanjing)
列名 数据类型 长度 允许空 是否主键 说明 id Int 4 否 是 ID bianhao varchar 50 否 否 编号 mingcheng varchar 50 否 否 名称 weizhi varchar 50 否 否 位置 mianji Int 4 否 否 占地面积 shijian Int 4 否 否 修建时间 jinian Int 4 否 否 纪念意义 (7)管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表3.7所示。
表3.7管理员信息表(t_admin)
列名 userId userName userPw
数据类型 int varchar varchar 长度 允许空 是否主键 4 否 是 50 否 否 50 否 否 说明 编号 用户名 密码 21
基于JSP的小区物业管理系统
4.3 本章小结
本系统采用Hibernate对数据库进行管理。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本 Hibernate 可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。
Hibernate 技术本质上是一个提供数据库服务的中间件。它的架构如图3.5所示:
图3.5Hibernatre架构图
图3.5显示了 Hibernate 的工作原理,它是利用数据库以及其他一些配置文件如 Hibernate.properties,XML Mapping 等来为应用程序提供数据持久化服务的。 Hibernate 具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供 JDBC 连接,并且自行管理事务,这种方式使用了 Hibernate 的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的 JDBC/JTA API 都被抽象了,Hibernate 会替你照管所有的细节。
22
基于JSP的小区物业管理系统
第5章 详细设计
在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。
5.1系统登陆页面实现
1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。
2.程序运行效果图如图4.1所示:
图4.1 系统登陆页面设计
3.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:
public String login(String userName,String userPw,int userType) {
23
基于JSP的小区物业管理系统
String result=\;
if(userType==0)//系统管理员登陆 {
String sql=\; Object[] con={userName,userPw};
List adminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { } else {
WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)adminList.get(0); session.setAttribute(\, 0); result=\;
session.setAttribute(\, admin); result=\;
}
if(userType==1)//putongyuangong {
String sql=\TZhuhu where userName=? and userPw=? and del='no'\; Object[] con={userName,userPw};
List zhuhuList=zhuhuDAO.getHibernateTemplate().find(sql,con); if(zhuhuList.size()==0) { } else {
WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TZhuhu zhuhu=(TZhuhu)zhuhuList.get(0); session.setAttribute(\, 1); result=\; }
session.setAttribute(\, zhuhu); result=\;
}
24
}
基于JSP的小区物业管理系统
return result; }
25