第2章 技术介绍
2.1 相关技术
房屋租赁系统是在JSP + MySQL开发环境的基础上开发的。JSP是一种服务器端脚本语言,易于学习,实用且面向用户。全球超过35%的JSP驱动的互联网站点使用JSP。MySQL是一个数据库管理系统,因为它的体积小但速度快,成本低,或者开源受到中小型网站的青睐。因此,JSP + MySQL作为一个成熟的开发环境,可以满足房屋租赁系统设计和开发所需的稳定性,安全性和可扩展性要求。
2.2 JSP技术
JSP是JAVA的成员,所以JSP具有平台无关性,即实现跨平台功能,实现了用户界面和程序代码的解耦合,是的业务逻辑与代码的耦合度更低,开发人员可以在不更改JSP程序的情况下修改用户的界面。
JSP页面实质上也是一个HTML页面,只不过它包含了用于产生动态网页内容的JAVA代码,这些JAVA代码可以是JAVA Bean、SQL语句、RMI对象等。例如一个JSP页面包含了用于产生静态网页的HTML代码,同时也包含了连接数据库的JDBC代码,那么当网页在浏览器中显示时,它既包含了静态的HTML代码,又包含了从数据库中取得的动态内容,正因为如此才能称之为动态网页。
JSP程序简单实用,面向用户。在同一系统中体现的JSP技术优势只需要写一次; 同一系统下的多平台设计和开发;灵活且能够在多个服务器上运行;拥有各种强大的免费工具支持;在网页运行时实现服务器端组件。
在系统访问频率不是很高的环境中用作Web应用程序服务器。它是免费的开源,是JSP程序开发和调试的首选对象。
2.3 Java技术
JAVA语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。
JAVA语言特点:
与平台无关;由于JAVA程序运行于JAVA虚拟机,它建立在硬件和操作系统之上,并有JVM解释执行,从而使得JVM解释执行,从而使得JAVA程序可以跨平台运行。
完全面向对象;Java是目前最为优秀的面向对象的程序设计语言之一,它支持类、对象、类继承、多态等几乎所有的面向对象的程序设计特性,从而大大提高了JAVA程序的简洁性、灵活性、可维护性和代码复用性。
可访问分布式数据;java简历在扩展TCP/IP网络平台上,库函数提供了用HTTP和FTP协议传送和接受信息的方法,这使得程序员使用网络上的文件和使用本机文件一样容易。
很强的容错和错误恢复能力;Java具有完善的强类型机制、异常处理机制、自动内容管理机制和安全检查机制,并弃用了不安全的指针,从而保证了Java程序的健壮性。
强大的安全机制;Java通过弃用指针、字节码完整性验证、控制Applet程序访问权限等多种措施,可避免病毒通过指针侵入系统,或非法访问本地资源。
可根据需要动态载入类;Java语言的设计目标之一是适应动态变化的环境。例如,Java程序需要的类能够动态地被加载到运行环境中,也可以通过网络来载入所需要的类。
可同时运行多个线程;利用Java的多线程机制,应用程序可同时执行多个任务,而且Java的同步机制保证了个任务对共享数据的正确操作。
2.4 MySQL数据库
数据库是系统开发过程中不可或缺的一部分。在WEB应用方面,MySQL AB开发了一个具有很大优势的MySQL关系数据库管理系统。 MySQL可以将数据存储在不同的表中,这非常灵活,并且还可以提高系统在实际应用中的速度。数据库访问最常用于标准SQL语言,MySQL用于SQL语言,因此它具有高度兼容性。数据库的操作是必不可少的,包括对数据库表的增加、删除、修改、查询等功能。现如今,数据库可以分为关系型数据库和非关系型数据库,Mysql属于关系性数据库,Mysql数据库是一款小型的关系型数据库,它以其自身特点:体积小、速度快、成本低等,Mysql数据库是目前最受欢迎的开源数据库。
在WEB应用技术中, Mysql数据库支持不同的操作系统平台,虽然在不同平台下的安装和配置都不相同,但是差别也不是很大,Mysql在Windows平台下两种安装方式,二进制版和免安装版。安装完Mysql数据库之后,需要启动服务进程,相应的客户端就可以连接数据库,客户端可通过命令行或者图形界面工具登录数据库。
2.5 Tomcat介绍
Tomcat 虽然是Apache的扩展,但是它们都是可以独立运行的,二者是不互相干扰的。当配置正确的时候,Apache服务器为HTML 页面的运行提供技术支持,Tomcat 的任务则是运行Servle和JSP 页面。Tomca也具有一定的HTML页面处理功能。Tomcat属于一种轻型的服务器,所以说在中小企业中并不具有普适性。但是当程序员需要开发或调试JSP 程序时,则通常会将该服务器作为首选。对于一个仅具有计算机基础知识的人来说,计算机系统具有一个好的Apache服务器,可以很好的对HTML 页面进行访问。Tomcat是非常受欢迎的服务器,因为它具有较好的扩展性,而且在运行的时候不需要太多的系统资源,拥有程序员所需要的收发邮件功能,还能够支持负载平衡,该程序能够不断的更新,程序员能够根据自己的需要增加新的功能。
2.6 Spring Boot框架
Spring Boot是Pivotal团队的一个新框架,旨在简化新Spring应用程序的初始设置和开发。该框架使用特定的配置方法,无需开发人员定义样板配置。通过这种方式,Spring Boot旨在成为蓬勃发展的快速应用程序开发领域的领导者。
Spring Boot特点:
1、创建一个单独的Spring应用程序;
2、嵌入式Tomcat,无需部署WAR文件;
3、简化Maven配置;
4、自动配置Spring;
5、提供生产就绪功能,如指标,健康检查和外部配置;
6、绝对没有代码生成和XML的配置要求;
安装步骤:
最基本的是,Spring Boot是一个可以被任何项目的构建系统使用的库集合。 为简单起见,该框架还提供了一个命令行界面,可用于运行和测试Boot应用程序。 可以从Spring存储库手动下载和安装框架的已发布版本,包括集成的CLI(命令行界面)。 更简单的方法是使用Groovy enVironment Manager(GVM),它负责处理Boot版本的安装和管理。 可以从GVM命令行GVM install springboot安装Boot及其CLI。 在OS X上安装Boot时可以使用Homebrew包管理器。要完成安装,首先使用brew tap pivotal / tap切换到pivotal存储库,然后执行brew install springboot命令。
第5章系统实现
5.1管理员功能模块
管理员通过填写用户名、密码、选择权限进行登录,进入后台系统,如图5-1所示。
图5-1管理员登录界面图
管理员登录成功后,进入后台页面,可以进行查看个人中心、房屋类型管理、房屋信息、预约看房管理、合同信息管理、房屋报修管理、房屋评价管理、我要当房东管理、留言板管理、系统管理等功能模块,进行相对应操作。
房主管理:通过列表可以获取用户名、密码、姓名、头像、性别、职业、联系方式、身份证号、进行查看用户信息或修改删除操作还可以通过新增进行添加用户信息操作,如图5-2所示。
图5-2房东管理页面
房屋类型管理:通过列表可以进行查看房屋类型,进行查看详情或修改、删除操作,并通过新增进行添加类型信息,如图5-3所示。
图5-3房屋类型界面图
房屋信息管理:通过房屋信息列表可以查看房屋名称、房屋类型、房屋图片、出租方式、朝向楼层、面积、房屋状态、小区、详细地址、月租价格、押金、房屋设施、发布日期、房住帐号、房主姓名、等信息进行查看详细或修改或删除操作,并且可以通过查看评论进行在线回复信息或进行新增房屋信息,操作,如图54所示。
图5-4房屋信息界面图
公告信息管理:通过列表可以获取公告信息的标题、简介、图片等详细信息进行修改或删除操作,并且可以通过新增公告信息进行添加公告信息,如图5-5所示。
图5-5公告信息界面图
预约看房管理:通过列表可以获取预约编号、房屋名称、房屋类型、房屋状态、小区、月租价格、押金、租用月数、预约时间、用户名、姓名、身份证、联系电话、房主账号、房主姓名、审核回复、审核状态等信息,进行审核或删除操作,如图5-6所示。
图5-6预约看房界面图
我要当房东信息:通过列表可以查看房屋名称、房屋类型、图片、租赁方式、小区、月租价格、用户名、房屋详情、朝向楼层、面积、发布日期、联系电话等信息,进行查看详情或修改、删除操作或进行审核操作,如图5-7所示。
图5-7我要当房东界面图
5.2房主功能模块
房主通过填写用户名、密码、选择权限进行登录,进入后台系统,如图5-8所示。
图5-8房主登录界面图
房主登录成功后,进入后台页面,可以进行查看个人中心、房屋信息管理、预约看房管理、合同信息管理、房屋报修管理、维修处理管理、房屋评价管理等功能模块,进行相对应操作。如图5-9所示。
图5-9房东信息页面
预约看房管理:通过列表可以获取预约编号、房屋名称、房屋类型、房屋状态、房屋状态、小区、月租价格、押金、租用月数、租用金额、预约时间、用户名、姓名、身份证、联系电话、房主账号、房主姓名、审核回复、审核状态等信息、进行查看详情信息操作,如图5-10所示。
图5-10预约看房管理界面图
合同信息管理:通过合同信息列表可以获取合同编号、合同名称、合同类型、小区、月租价格、租用月数,租用金额。押金,房租状态。合同金额,合同内容、生效日、有限期限,用户名,联系电话,房主账号,房主姓名、是否支付、审核回复等信息。进行查看查看操作。如图5-11所示。
图5-11合同信息管理界面图
维修处理管理:通过列表可以进行查看房屋名称、房屋类型、报修名称、类型、报修日期、维修日期、维修反馈、维修进度、更新日期、房主账号、房主姓名、用户名、联系电话等信息,进行查看详细信息操作,如图5-12所示。