1、毕 业 论 文基于J2EE的房屋租赁管理系统摘要:70年代以来,计算机信息技术发展迅猛,如今计算机已经被广泛应用到社会生产生活的每一个角落。进入21世纪之后,中国的经济持续高速发展,尤其是房地产的发展更是如日中天。在这种情形下,房屋租赁成为大中城市中最为活跃的一种经济活动。如何有效地对房屋租赁进行管理是房产中介公司的一个重要课题。作为房屋中介公司,需要对本公司的出租房源信息、求租房源信息和客户进行管理。因此,开发一套房屋租赁管理系统势在必行。本文首先分析了房屋租赁管理系统的客户需求,然后探讨了合适的开发技术和架构,对房屋租赁管理系统进行了需求分析、功能设计、数据库设计和详细设计。在实际开发过程
2、中,采取了软件工程的快速原型开发法。本系统采用J2EE架构。前端开发采用JSP和Javascript,业务逻辑层使用了JavaBean技术,后台数据库使用了SQL Server。开发工具为广泛流行的Eclipse3.4,应用服务器使用了Tomcat 5.5。关键词: J2EE;快速原型法;应用服务器Rent Manage Information System Based on J2EEAbstract: Since the 70s, computer information technology developing rapidly, and now the computer has been
3、 widely used in everywhere of the social production and life. After Entering the 21st century, Chinas sustained rapid economic development, particularly the development of real estate is high noon. In this case, house rent has been the most active economic activity in every big city. How to manage t
4、he housing rental real estate agency effectively is an important issue. As a housing agency, they need to know the companys rental housing information & availability of information and customer management. Therefore, developing a set of house leasing management system is imperative. This paper analy
5、zes the housing rental management system, customer needs, and then discusses the development of appropriate technology and architecture of the house leasing management system needs analysis, functional design, database design and detailed design. In the actual development process, we used a kind of
6、the software engineering called rapid prototypingThe system is based on the J2EE architecture. Front-end development uses JSP and JavaScript, business logic layer using the JavaBean technology, back-end database using SQL Server 2000. And, we use the most popular open source Development tool Eclipse
7、3.4 through our development, finally, we use Tomcat 5.5 as our application serversKeywords: J2EE; Rapid Prototyping; Web Application Server目 录1.前言22.相关基础32.1 Web应用程序32.2技术与环境32.2.1开发技术32.2.2 SQL简介42.2.3.JDBC驱动程序42.2.4.开发工具52.2.5.运行环境52.3 方案选择53.功能设计与实现73.1 系统结构73.1.1 需求分析73.1.2 系统处理流程图73.2 各模块功能介绍83
8、.3总体结构设计93.4数据库设计113.4.1 数据基本操作113.4.2 查询功能113.4.3打印和统计功能113.4.4 其他辅助功能113.4.5数据表的设计124.详细设计154.1 设计原则154.2 用户登录界面设计154.3 首页设计174.4房屋出租模块设计184.4.1房屋出租信息登记184.4.2房屋出租查询204.5房屋出租报表的统计和打印214.6房屋求租模块设计224.7留言簿235.系统测试245.1 测试的原则245.2 测试的方法246.小 结26致 谢27参考文献281.前言改革开放以来,我国经济持续高速发展,已经完全进入了市场经济体系。21世纪已经走过了
9、十年,在这十年中,我国各行各业都得到了长足的发展。最为典型的是房地产开发市场。经济规模短短几年间增加了数倍。随着大学扩招,城市化进程加快,越来越多的人正逐步向城市转移。而这部分人在城市立足生存,开始基本上都是租房而居,这就使得房屋租赁市场异常的火爆。于是,房屋租赁公司如雨后春笋般地涌现出来,租赁市场的竞争也变得激烈起来。如何能够在激烈竞争中拔得头筹,加强信息流通,留住并发展更多的客户成为房屋租赁公司的一大课题。首要的事,便是要解决传统的租赁管理模式,引入计算机管理海量的数据。因而,本系统应运而生。它能够将工作人员从传统的手工管理中解放出来,提供了房屋出租、求租、客户管理、意见反馈、企业新闻系统
10、等功能。能够方便、灵活地对出租、求租、客户的相关信息进行操纵、查询、统计、打印等。更值得一提的是,本系统采用了B/S架构,极大地方便了管理人员的工作,房屋租赁公司可以在全国各地开设分店,通过Internet共同使用这一套系统,这样也降低了房屋租赁公司的运营成本。本系统属于一个较为典型的管理信息系统(MIS)。它具备了一个管理信息系统的基本功能,包括对用户的页面展示;对管理员的后台管理;对客户的自服务管理。在软件的实现上,也就是通过JDBC驱动程序对数据库中数据进行增加、删除、修改、查询和统计。本系统不仅仅要便于用户信息浏览、查询和操作,同时也能够对系统管理员提供生成统计分析报表功能。此外,系统
11、通过用户登录实现了对不同用户的权限级别进行了控制,提高了数据的安全性和可靠性。除此之外,本系统还提供了一个新闻系统、一个用户留言簿和滚动新闻功能。便于房屋租赁公司及时地将本公司的动向、活动向客户进行公开。系统采用当前流行的J2EE架构,该程序可以在多个系统(如Windows、Linux、Solaris)下运行。动态网页技术使用了JSP和Servlet,业务逻辑层用了JavaBean。并且将数据库的操作单独封装在一个类中,较为清晰地实现了各个不同的组件之间的松耦合。后台数据库使用了流行的SQL Server 20001,非常易用,便于维护。应用服务器使用了开源的Tomcat 5.5,使得本系统的
12、运行性能非常高,同时也能够便于快速扩展企业今后发展的新需求。2.相关基础2.1 Web应用程序如今常见的管理信息系统大体分为两个类型:客户机/服务器(C/S)架构和浏览器/服务器(B/S)架构,前者最典型的如数据库软件Oracle的客户端管理工具、SQL Server的查询分析器和企业管理器。Web应用程序属于B/S架构。当下流行的Web应用程序有如下几种开发技术:(1) ASP/ASP.NET(2) PHP(3) JSP其中,以(3) JSP的应用最为广泛。由于Java技术的广泛应用,JSP应用程序开发得到了众多企业的支持2。仅仅是集成开发环境(IDE)就有:Eclipse、NetBeans
13、、Interstage、JBuilder等数种之多。Java Web应用程序一个典型的目录结构如下图1-2-1所示:其中,src目录下存放的是Java源代码;build目录下存放的是Java代码编译后的class文件;WebContent目录下是前台展示用的JSP文件;WebContent的子目录WEB-INF目录下存放的是使用到的库文件、标签库描述文件以及WEB程序配置文件Web.xml。图1-2-1 Java Web程序目录结构2.2技术与环境2.2.1开发技术JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准
14、。JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。在Web容器中运行时,Jsp文件首先被解释成为一个Java文件(Servlet),然后被web服务器执行。得益于Java的跨平台优势,用JSP开发的Web应用也是跨平台的。即一个JSP开发的应用程序不但能够在Windows平台下运行,也可以在Linux等其他操作系统上运行。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑
15、与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP开发技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署, 在任意环境中扩展。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理。Java显示了其强大的威力。(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多是基于开源协议的免费软件,这些软件一般都可以
16、运行于多种平台之下。最为典型的如:Eclipse IDE。2.2.2 SQL简介SQL是Structured Query Language(结构化查询语言)3的缩写。SQL是一种专门用于数据库操作的语言。它已经成为了数据库操作的理论基础4。SQL又包括2种具体的功能:数据库定义语言DDL;数据库操纵语言DML。数据库定义语言包括CREATE、DROP等关键字;数据库操纵语言包括SELECT、INSERT、UPDATE、DELETE。SQL Server 是一个关系数据库管理系统它是由Microsoft推出的。SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言
17、 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。2.2.3.JDBC驱动程序JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写
18、数据库应用程序。 通过JDBC驱动程序,操纵各种关系数据就变得十分容易。换言之,有了JDBC API,就不必为访问SQL Server数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言
19、是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机
20、有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 JAVA应用程序开发者们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新
21、的更好方法。2.2.4.开发工具目前业界关于JAVA开发的工具非常多,其中既有开源免费软件,也有收费的商用软件。典型的开源软件有Eclipse。收费软件有NetBeans、JBuilder等。由于Eclipse的免费并且功能强大,其便捷的插件技术使得该IDE的功能得到了无限延伸。本次开发就采用了Eclipse作为开发工具。基本配置如下:Eclipse3.4(Ganemedy) JEE版JDK 1.62.2.5.运行环境Java应用程序的运行环境在市场上也有不少的选择。如:Oracle WebLogicIBM WebsphereFujitsu InterstageApache TomcatRed
22、hat JBOSSTomcat是一套应用程序服务器(Application Server),属于开源的Java中间件软件。其功能十分强大,因此本次采用Tomcat 5.5作为系统的运行环境,其使用的JDK版本为JDK1.6。2.3 方案选择根据以上分析,最终决定采用在Windows XP SP3下使用JSP+SQL Server开发,采用B/S架构,使用JDBC操纵数据库。开发工具采用Eclipse 3.4,这样的好处是:(1) JSP技术功能强大,灵活方便,可扩充性、可移植性较好。(2) SQLServer数据库易于使用,兼容性好,同时存取效率高,且较成熟,目前许多数据库应用系统都采用它。(
23、3) 采用 B/S结构能够快速构架一个应用,而不需要在客户端做任何安装,客户端只要一个浏览器即可。JDBC主要让应用程序或WEB应用程序存取各种不同的数据源。JDBC封装了OLE-DB复杂的接口,以极为简单的COM接口存储数据,简化了程序员数据存取的工作。3.功能设计与实现3.1 系统结构3.1.1 需求分析房屋租赁管理系统需求主要来自房屋登记,管理房源和管理人员。房屋登记将用户需要登记的房屋的信息输入系统,由系统自动归类储存,随时可以查阅修改。房屋管理人员可利用本系统,输出房屋名单,自动生成统计报表、房屋出售合同、房屋出租合同。一般情况下,普通用户只能浏览查询房屋具体信息,而超级用户除了能查
24、询房屋具体信息以外,还能够直接登记房屋信息,但是不能随意修房屋数据,尤其是房屋出售合同和房屋出租合同等敏感信息。因此,用户, 超级用户和房屋管理人员的的权限要明确区分开来,防止操作时因操作错误产生的数据丢失和数据错误,因此,这就需要在设计模块时加以考虑。房屋管理人员还有一个任务是对各个人员的使用权限进行管理,对数据库中的房屋信息进行实地考核和协助客户填写房屋出售合同和房屋出租合同,并将其打印出来存档管理,在出租合同到期后即时的回收房屋使用权,并再次将此房屋出租,进入下一个处理。基于上述需求,本系统必须具备以下功能:1) 出租登记、修改、删除等2) 多种条件模糊查询3) 房屋出租情况统计、打印4
25、) 房屋求租登记、修改、删除5) 房屋出租合同录入6) 新闻发布系统7) 访客留言功能3.1.2 系统处理流程图本系统基本设计按系统规划的要求规定设计,其处理流程如图3-1-1所示房屋登记表统计处理、生成、打印,房屋出租合同的管理管理人员,超级用户登记房屋信息操作人员(操作菜单)房屋登记表的输入,房屋登记表的修改删除,房屋出租合同的录入用户(操作菜单)房屋出租登记表的查询,确认租住信息,填写个人信息图3-1-1 处理流程3.2 各模块功能介绍出租/求租登记模块,主要实现的是管理员以及超级用户(当地房地产公司),即时将拥有的房源具体情况(如地址,面积,户主,联系方式等)登记,经过房屋租赁公司实地
26、考察属实后,向客户出租。出租/求租查询模块,主要是对房源的查询,了解房源情况,在浏览房源资料的时候,在选定房源的时候,可以进行登记管理,也便于管理员修改,添加和删除,对房源进行管理。对房源的查询方式可分为:房源编号,户主,房源地址,面积,朝向和出售价格,出租时间等。房源出租、求租报表统计模块,主要是管理员对当日或者当月房屋出租或者求租情况的统计,便于管理和存档,可以及时将本日或者本月情况打印出来。出租合同管理模块,主要是针对客户在选择好房屋后,及时快捷的填写出租合同,便于管理机构管理。用户管理模块,是便于管理员了解系统中当前客户的情况。购房常识管理模块,是对不熟悉房屋租售情况的客户详细的介绍购
27、房程序等等各类方便客户的各种介绍。 新闻系统模块,发布本公司的最新动态和活动等。3.3总体结构设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。 将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。通过对整个系
28、统的规划分析,对数据的具体要求的分析,以及对系统功能的综合考虑,提出一个基本的总体结构框架。房屋中介管理系统的层次划分为几个方面:用户界面,数据缓冲,数据库,输出等。用户界面层次:距离用户最近的层次,以图形化界面显示给用户,便于用户进行基本操作,用户可以在这里输入数据,修改数据,删除数据,设定选配标准,设定查询条件等。用户对系统的所有输入内容在此层次上操作。数据缓冲层次:在这个层次中,用户所做的修改尚未提交到数据库中,而是保存在一个临时缓冲区中。此时,所有操作是由系统本身操作,包括在数据缓冲区内增加信息,修改信息,删除信息等,也包括执行选配过程,判断查询条件的合法性等。这一层次中,系统主要执行
29、提交数据库之前的所有工作,确保提交数据的合法性和准确性,尽量减少数据库错误。数据库层:主要操作在数据库中执行,主要工作是:将缓冲区的数据存入数据库,执行查询语句等。由于数据是经过缓冲区检查的,所以可以大大减少数据库的非法操作,减少数据出错的情况,查询时的非正常情况大大减少。输出层:在这个层次中,不需要进行数据库操作和用户输入操作,这个层次的主要工作是把结果显示给用户,包括查询结果,统计图,错误信息,提示信息等。系统架构图如下图3-3-1所示:图3-3-1 系统架构图3.4数据库设计3.4.1 数据基本操作数据的基本操作功能是本系统的最基本功能,指的是一个数据库管理系统软件的最基本的数据操作。数
30、据的基本操作包括房屋的增加,删除,修改等。房屋信息增加功能:用户手动增加房屋信息 房屋删除功能:由用户选择要删除的房屋信息,点击删除后,删除该房屋信息,首先在缓冲区中删除,此时如果没有提交到数据库,则可以撤销删除操作,但如果提交到数据库了,删除后将不能恢复该信息。房屋修改功能:用户选择要修改的房屋信息,可以重新修改房屋的登记信息。3.4.2 查询功能查询功能是一个数据库管理软件的必备辅助功能,当数据量大的时候,呈现给用户所有信息,肯定有很多信息是冗余的或者是无效的甚至是用户不需要的。此时,根据用户的需要进行必要的过滤是十分必要的。查询功能通常是根据数据的信息中不同的字段来查询。房屋租赁管理系统
31、中,查询功能也是一个十分重要的功能,当有很多房屋信息时,如何给用户呈现出需要的信息和过滤掉不用的信息是一个需要解决的问题。因此,考虑到用户的需求,系统应该具有一个比较人性化的查询系统,可以根据不同的要求来进行查询。查询的速度要快捷,查询的结果要准确。“房屋中介信息系统”的查询系统可以分成下面几个方面来进行查询:根据房屋地址,根据房屋状态,根据户主,根据房屋朝向等来查询。3.4.3打印和统计功能 房屋租赁管理系统的一个重要功能是房屋租售报表统计和房屋租售报表的打印。房屋租售报表统计和房屋租售合同均有一定的格式,特别是房屋出租和出售合同,严格按照当地房管部分的要求。因此高质量的打印也是软件的重要功
32、能3.4.4 其他辅助功能房屋租赁管理系统除了具备上述所有主要功能之外,还应该具有一些必要的辅助性功能,包括用户管理,数据库连接功能,购买常识介绍功能等等。用户管理功能:为了保证系统的可靠性和安全性,系统应该采用用户登录的方式进入,防止非法用户的进入。每个用户具有自己的权限,主要是管理权限和一般权限。只有管理权限才允许增加用户,删除用户等管理功能。而一般权限则只能进行一般的工作,没有管理用户的功能。用户登录:系统的启动同时要求用户根据自己的操作员号码和密码进行登录,通过验证用户的密码,达到确定用户合法性的目的。增加用户:只有系统管理员权限的身份才具备此功能,为系统增加一个新用户,包括用户登录名
33、,密码,权限等信息。其中,可以设置新增用户的权限,系统管理员、报名管理员或者报名登记员,当设定成系统管理员身份时,该拥护具有和系统管理员同样的权限。删除用户:只有系统管理员权限的身份才具备此功能,从系统删除一个用户,被删除的用户将不能登录本系统。 重新登录:退出系统重新登录。一般在新增用户后或者修改密码之后使用验证增加用户或者修改密码是否成功。或者以不同权限登录,换一个不同的用户名登录等等。数据库连接功能:数据库连接信息保存在系统中,再次登陆系统不必设置数据库,但当数据库发生变动时,用户可以配置输入本机或者局域网上的数据服务器名和数据库名。如果应用程序与数据库连接成功,下次运行程序就不会再弹出
34、此配置窗口,除非数据库服务器有变更时会弹出。购买常识介绍功能:主要是针对用户对于不熟悉购买房屋或者租房屋流程,以及各种购房常识等介绍。3.4.5数据表的设计在完成系统的分析之后,需要设计出系统所有的关系模型,也就是说,要设计出数据库所需要的表格。在这里,选用的是关系数据库。因为关系数据库中的二维表格可以很清楚地描述数据之间的联系。在这里不得不提到一个概念范式。在数据库的表格设计中离不开范式的思想,它是数据库设计的基础,如果不注意这个问题将会导致一系列问题的出现。设计原则如下:1进行规范化设计,尽可能地减少数据冗余和重复2合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量最小,就尽量按
35、照关系数据库系统理论方法去设计一个数据库,减少数据的冗余。3.结构设计与操作设计相结合在设计数据库结构时,有时为了编程实现的简捷和思路的清晰,往往故意增加一些冗余数据。这虽然有悖于传统的关系数据库理论,但是考虑到选择的机器型号和档次等因素,如果增加的冗余不会明显增加存储空间和降低处理效率,并且对编程实现有很大帮助,往往可以采用这种方法。数据结构具有相对的稳定性数据结构的相对稳定性,可以作为新、旧系统转换的依据。无论采用何种方法或手段去处理日常事务,都应该能完成相应的功能,决不会因为采用了计算机而丢失了必要的功能,或彻底改变了原有的工作流程和模式。计算机系统的建成是建立在原系统充分调研的基础上的
36、,它既不能脱离原系统的大框架,也不是简单的重复和替代。所以数据库表结构设计应保证数据的相对稳定,这样才能考虑在新的数据结构下的业务处理方式。在系统中定义的表格都严格地按照范式的思想和要求去完成,数据库中的所有表格都达到了三范式的要求。基于以上三条设计原则,根据系统ER图,针对本系统的特点,在对所搜集的数据进行规范化之后,我选用Microsoft SQL Server数据库来进行数据库的逻辑设计。房屋租赁管理信息系统数据库主要表目录:表3-1 系统数据库目录序号表名1常识信息表2中介信息表3用户信息权限表4单位信息表5房屋出售合同表6房屋租赁合同表以下是两张主要的表:用户信息表User:表3-2
37、 用户信息表字段名称类 型长 度必填字段用户CHAR20YES密码CHAR12YES权限SMALLINT10YES中介信息表:表3-3 中介信息表项次字段名称字段大小数据类型必填字段01 编号长整型自动编号02收件号10文本NO03 类型10文本NO04 房屋地址100文本NO05房型20文本NO06 朝向20文本NO07 楼层长整型数字NO08产别20文本NO09价格货币NO10区域20文本NO11竣工日期日期/时间NO12产权证号50文本NO13房屋设施200文本NO14装修情况100文本NO15交通情况100文本NO16使用年限货币NO17房屋面积货币NO18周围环境200文本NO19备
38、注200文本NO20联系人50文本YES21联系人电话40文本YES22联系人电话240文本NO23联系人身份证号码17文本YES24创建用户20文本NO25创建日期日期/时间NO26成交人姓名20文本YES27成交人电话20文本YES28成交人身份证号20文本YES29成交价格货币YES30成交日期日期/时间YES31成交截止日期日期/时间NO32成交备注200文本NO33合同号20文本NO34佣金金额货币YES35受理用户20文本NO36受理日期日期/时间NO37状态10文本YES4.详细设计4.1 设计原则人机交互子系统是用户所能直接看到的,是给用户的第一感觉,他现在已经成为判断一个软件
39、好坏的重要标准。在设计人机交互子系统的时候,必须遵循以下原则:设计出一个易用、低错、适应、美观的界面,能够使用户自如的完成操作,而用户不需要有较高的计算机专业知识和技能。主要特点:(1)易用性前期对项目的大量细致的分析,以及对用户群的调查,充分考虑实际操作的各项细节,使得普通用户在不需要查看用户手册的情况下亦能很自如的操作系统,并对操作流程有清晰的了解。(2)低出错率为了防止用户在操作中出现各种失误,界面的设计在各个环节都给与用户必要的提示,同时也在空间排布上引导用户按照正确的顺序进行操作,大大减少操作出错的几率,也减低了操作者的劳动强度。(3)合理性父窗体应该在屏幕的中心位置,子窗体应该在父
40、窗体的左上角或中心,界面退出或关闭的按钮不应该放在易点的位置,对数据进行无法恢复的操作,应有提示信息,给用户有选择放弃的机会。对错误的提示要准确、清楚、有足够多的信息。(4)高适应性系统面向的用户群有三类,对于不同的用户,他们拥有不同的操作目的、操作流程以及不同的权限,如何考虑系统的适应性也是界面设计时的重要部分,本系统可以面向不同的用户提供不同的界面,实现高适应性。(5)美观性系统界面以白色和灰色为主色调,辅助以少量鲜艳的小图,给人的感觉是清晰明了,赏心悦目,长时间工作于此系统不会有视觉疲劳感,充分考虑色彩与结构的关系,并通过精心的点缀引导用户的视线顺序完成操作。设计出一个易用、低错、适应、
41、美观的界面,能够使用户自如的完成操作,而用户不需要有较高的计算机专业知识和技能。4.2 用户登录界面设计用户登陆窗口使为了保证系统的安全性,只有许可用户才可进入,如果输入密码和用户名不匹配则不允许进入系统。如图4-1所示:图4-1 用户登陆窗口本窗体是为2种不同的用户(普通会员,管理员)提供选择以进入不同的模块,满足不同用户的需求,采用了常用的登录框来界面显示,其主要流程如下图4-2所示:用户输入登录信息判断合法性查询数据库验证密码密码正确登录成功登录失败 图 4-2 用户登陆流程图本页面在首页的【管理入口】。只有当用户输入用户名和密码相匹配的时候,点击“确定”按钮进入系统。这里的登录校验直接
42、提交给后台的AdminServlet进行处理。值得一提的是,所有用户的密码都是以MD5加密算法进行加密后存储到数据库中的。这里的登录代码5如下表4-1所示:表4-1 登录处理代码String username = request.getParameter(username);String password = request.getParameter(password);if(username = null | username.trim().equals() request.setAttribute(message, u8BF7u6B63u786Eu8F93u5165u7528u6237u5
43、40DuFF01); request.getRequestDispatcher(new StringBuilder(String.valueOf(sysdir).append(/login.jsp).toString().forward(request, response); else if(password = null | password.trim().equals() request.setAttribute(message, u8BF7u8F93u5165u5BC6u7801uFF01); request.getRequestDispatcher(new StringBuilder(
44、String.valueOf(sysdir).append(/login.jsp).toString().forward(request, response); else String md5password = MD5.MD5(password); String agent = request.getHeader(user-agent); StringTokenizer st = new StringTokenizer(agent, ;); String useros = st.nextToken(); String loginip = request.getRemoteAddr(); in
45、t flag = loginbean.adminLogin(username, md5password, password, useros, loginip); switch(flag) case 1: / 001 java.util.List list = loginbean.getAdminInfo(username); session.setAttribute(user, username); session.setAttribute(list, list); request.getRequestDispatcher(new StringBuilder(String.valueOf(sysdir).append(/).toString().forward(request,