社区管理平台开题报告_毕业论文

更新时间:2024-05-03 00:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

社区管理平台是利用计算机技术来管理社区的信息,其主要意义在于避免传统手写方式产生的数据丢失?书写错误?劳动强度高且时间和空间上的限制等问题?通过计算机联网后,可以实现数据的远程访问和共享,从而方便管理并节约成本?

本文介绍了一个社区管理系统的设计与实现?该系统分析了社区管理系统的业务需求,并进行了详细设计?在此基础上实现了其中的基本功能,包括:用户注册?用户登陆?用户个人信息修改?密码修改、用户查看发布信息、搜索等功能;管理员能对用户和信息进行管理?

在技术上, 采用JavaWeb开发中的MVC设计模式,使用Struts/Hibernate/Spring技术,Model层使用Hibernate实现数据的持久化,View层用jsp技术完成页面显示,Control层应用Struts2进行业务流程的控制。 关键字:社区管理系统;jsp;java;struts;hibernate;spring

Abstract

1

Community Management System(CMS) is such a software system that manages the information of the community by using computer technology. Comparing with the traditional way of handwritten, it has significant advantages such as avoiding the data loss, limiting the writing errors, reducing the labor intensity and breaking the space restriction. Through the computer network, remote data accessing and data sharing can be implemented to facilitate the management and to save the cost.

This paper introduces the designation and implementation of a concrete Community Management System. This system completed the business requirements and system requirements of CMS, and designed the system in detail. Based on this, it implemented the basic functionalities of the CMS, Include: user registration, user login, user personal information to amend, modify your password, the user view the dissemination of information, search and other functions; administrator can manage users and information?

Technically, the use of JavaWeb development MVC design pattern, using Struts / Hibernate / Spring Technology, Model layer using Hibernate for data persistence, View layer technology used to complete jsp page, Control layer Struts2 application to the control of business processes. Key words:

community management systems; jsp; java; struts; hibernate; spring

2

目 录

第一章 概 述 ......................................................... 1

一、目前背景和国内外现状 ............................................ 1 二、系统开发平台及技术简介 .......................................... 2 第二章 系统需求分析 .................................................... 5

一、功能需求 ........................................................ 5 二、性能需求 ........................................................ 5 三.系统运行环境 ..................................................... 5 第三章 系统设计 ........................................................ 7

一、系统目标 ........................................................ 7 二、系统要求 ...................................................... 7 三、系统功能 ........................................................ 7 四、系统结构模块图 .................................................. 7 五、系统用例图 ...................................................... 8 六、数据库设计 ...................................................... 8 七、系统交互图 ..................................................... 12 第四章 系统实施 ....................................................... 13

一、项目工程目录结构 ............................................... 13 二、程序代码编写 ................................................... 14 三、 系统测试运行成功界面 .......................................... 28 第五章 系统测试 ....................................................... 31

一、功能模块的单元测试 ............................................. 31 二、模块功能测试 ................................................... 32 第六章 总 结 ......................................................... 34 致 谢 ................................................................ 35 参考文献 .............................................................. 36

3

第一章 概 述

一、目前背景和国内外现状 1.目的及研究意义

随着计算机技术的飞速发展,计算机在各行各业中的应用迅速普及,计算机的应用在信息管理领域同样也得到了飞速的发展。对于社区的管理来说,利用计算机实现日常工作来提高办事效率,是适应当今社会发展要求,推动信息管理领域现代化快速发展的必要条件。虽然社区管理中一直存在着管理制度,但是社区管理是一项琐碎、复杂而又十分细致的工作。人员流动、房屋的租赁等工作量非常的大,如果用手工来操作,不仅工作量大而且容易出现错误。而利用计算机就不同了,一个完善的社区管理系统可以帮你解决所有这方面的问题。同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高社区管理的效率。 2. 国内外研究现状

一个良好的社区管理机构,一个得到居民满意度的社区管理机构,不仅仅靠硬件环境,更重要的软件环节,如社区管理结构的办事效率、为民服务意识和行动、社区信息开放程度等,而作为新经济时代,信息化技术将成为一个重要的手段来达到上述的目标。

目前,我国有些先进发达的地区已经在开始进行社区信息化的建设工作,但是,不容置否的是,大部分社区还仅仅是微机年代的信息化应用,电脑仅仅是完成文字编辑和打印工作。而作为社区的办事业务流程、社区的信息发布、社区的各种信息库还停留的人工处理方式,带来办事效率低,准确度差的普遍现象。这些都有赖于社区信息化要真正从软件环境来解决,通过核心的信息化系统来推动。

但是,社区信息化工作也不能一哄而上,在条件比较好的社区,可有先上,并作为典范,成为该地区社区信息化楷模。而且,社区信息化的建设要有总体规划,不能想到哪里,上到哪里,避免造成以后的“信息孤岛”现象,或者是造成不良工程现象。同时,社区信息化要有起点,不能因为社区的规模和信息化投资能力而对社区信息化采取粗制滥造的方式。

国外类似研究更多的集中在“选区”的信息化和电子政务的G to C层面,也更为强调信息化对居民生活的影响。欧盟制定了在《数字欧洲(eEurope)行动计划》中,特别强调了建立社区技术中心和互联网公共接入点,并展开免费培训等。英国政府还通过与社团组织或民间组织合作开展了多种推广活动,提高还未上网公众的互联网意识,并对老年人、残疾人、低收入人群和失业者等弱势群体提供免费

1

服务。美国建立了覆盖全国各城市和乡村的社区技术中心,并利用社区技术中心、公共图书馆和其他公共机构为公众提供了互联网接入服务;管理与预算办公室、教育部、博物馆和图书馆服务委员会还共同开发了在线指导方案,并将其分发给社区技术中心、公共图书馆和其他公共机构,用以向公众讲解如何通过互联网获取信息和服务,并提供在线资源指南。 二、系统开发平台及技术简介 1. 开发平台简介

整个系统采用B/S结构基于Java EE开发。

B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。

B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。

B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。 2.Java语言及使用技术简介

系统的开发使用的技术有Java、Java EE、Struts2、Hibernate3、Spring2.5、Javascript、JSP、CSS等。 2.1 Java、Java EE简介

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有 的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基 于Java1.4,最近版本为Java1.7。

2

Java EE又称J2EE,J2EE Java2平台企业版(Java 2 Platform,Enterprise Edition)。

J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。 J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。

2.2 Struts2、Hibernate3、Spring2.5简介

Struts 是一个基于J2EE平台的MVC框架,Struts把Servlet、JSP、自定义标签和信息资源(message resources)等整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间。在项目中主要应用struts2实现业务逻辑,其次应用struts2的标签库完成页面的显示。

Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。在项目中主要应用Hibernate完成数据持久层的设计,通过对象关系映射实现了数据对象的访问。

Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。通过Spring提供的IOC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。 通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。在项目中主要应用了Spring的控制反转,降低了程序的耦合性。 2.3 Javascript、JSP、CSS简介

Javascript是一种由Netscape的LiveScript发展而来的面向对象的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

3

CSS是Cascading Style Sheets(层叠样式表单)的简称。更多的人把它称作样式表。顾名思义,它是一种设计网页样式的工具。借助CSS的强大功能,网页将在您丰富的想象力下千变万化。

在项目开发中主要应用了CSS、JSP等技术来完成页面的显示,应用Javascript完成前台页面的输入校验和基本功能的实现。 3. 系统开发环境及所需软件简介 3.1开发环境

操作系统:Windows xp 开发工具:MyEclipse7.0

开发环境:Apache Tomcat6.0、JDK6.0、MYSQL 5.0

3.2 软件简介

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Environment),一堆Java工具和Java基础的类库(rt.jar)。

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

4

第二章 系统需求分析

一、功能需求

系统的主要需求有用户管理、信息发布、信息查询、管理员等几个方面: (1)用户管理方面:注册、登陆、修改信息、注销; (2)信息发布方面:发布出租、出售信息、留言等功能; (3)信息查询方面:用户查询信息功能; (4)管理员方面:对用户和信息管理等功能。

二、性能需求 1. 精度

输入和输出的精度均以图片和文字为单位。 2. 时间特性要求

为满足大量的访问量,足够快的响应时间,页面采用页面数据采用缓存技术,数据库的连接使用连接池技术。 3. 灵活性

系统采用Java EE进行开发、数据库采用Mysql设计、网页采用Web2.0标准规定来进行编程,具有很好的跨平台性、各浏览器之间的兼容性等灵活性。系统的开发采用MVC模式进行开发,代码的编写做到高内聚低耦合的特点,按照软件工程的方法进行设计开发。

三.系统运行环境 1. 设备

处理器:AMD2.0GHz以上或Pentium 4以上 内存容量:512MB以上 硬盘容量:10G以上 2. 支持软件

操作系统:Windows xp

5

软件环境:JDK1.5以上 数据库:Mysql1.4以上

Web服务容器:Tomcat1.5以上、JBoss、WebLogic等 四、系统可行性研究

1.理论上的可行性:实现基于B/S的社区管理平台开发,其理论上的可行性涉及两方面的内容:一是社区管理平台在功能方面是否符合社区的应用;二是社区管理平台的开发是否能适应社区信息化的发展。

2.技术上的可行性:有合理的系统开发环境,先进的、可行的开发技术和方法。 3.经济和社会效益分析:此系统的开发是基于Java的,Java是一种完全开源的语言,所需的其他技术如Struts、Hibernate、Spring均是开源框架,不需要特别的经济付出,故在经济上是可行的。系统完成后,能给社区管理工作带来极大地方便,故社会效益是可行的。

6

第三章 系统设计

一、系统目标

建立社区管理平台,完成用户注册、登陆、发布信息,信息进行分类,可以根据关键词进行查询等关键功能。管理员可以对用户和信息进行管理。项目完成后,进一步可以在社区试用。 二、系统要求

1.系统应满足社区用户的需求,并达到操作过程中的直观,方便,实用,安全等要求;

2.系统采用模块化程序设计方法,便于系统功能的各种组合、修改和维护; 3.系统应具备管理员查看用户信息、管理信息等功能。 三、系统功能

系统主要实现了:用户管理、信息发布、信息查询、管理员等功能。 ◆用户管理模块:用户注册、用户登陆、修改信息、注销登陆; ◆信息发布模块::发布出租、出售信息、购买信息等功能; ◆信息查询模块:用户查询信息的功能; ◆管理员模块:查看用户信息、管理信息等功能。 四、系统结构模块图(如图3-1)

用户注册 用户 登陆 信息修改 退出系统 发布出租信息 发布出售信息 发布 购买信息 查询信息 管理用户 管理信息 用户管理 信息发布 信息查询 管理员 基于B/S的社区管理平台

图3-1 系统结构模块图

7

五、系统用例图(如图3-2)

图:3-2 系统用例图

六、数据库设计

数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现方法等。

在数据库系统开始设计的时候应该尽量考虑全面,尤其应该考虑用户的各种需求,避免不必要的人力和物力。 1. 数据库需求分析

8

表3-1 数据库表信息 编号 1 2 3 4 5

表3-2 User表 字段编号 字段代号 1 2 3 4 5 6 7 8

9

数据库表名 users admin infotype information message 说明 用户信息表 管理员信息表 信息类型表 信息表 留言表 字段名称 数据类型 长度 主键 用户ID varchar 30 30 30 2 4 50 50 Y 外键 不空 Y Y Y Y userId userName userPassword sex age address email regTime 用户姓名 varchar 用户密码 varchar 性别 年龄 地址 邮箱 char int varchar varchar 注册时间 datetime 表3-3 Admin表 字段编号 字段代号 1 2 3

表3-4 Infotype表

字段编号 字段代号 字段名称 1 2

表3-5 Information表 字段编号 字段代号 1 2 3 4 5 6

10

字段名称 管理员ID 数据类型 长度 主键 外键 不空 varchar 30 30 30 Y Y Y adminId adminPassword 管理员密码 varchar description 管理员描述 varchar 数据类型 int varchar 长度 主键 外键 不空 4 30 Y Y Y typeId 信息类别编号 typeName 信息类别名 字段名称 数据类型 信息编号 int(自增) 信息标题 varchar 信息内容 varchar 信息时间 datetime 信息类别 int 用户ID varchar 长度 主键 外键 不空 11 500 Y Y Y Y Y Y Y inforId inforTitle inforContent inforTime typeId userId 3000 4 30 表3-6 Message表 字段编号 字段代号 1 2 3 4 5

2.数据库逻辑结构图(如图3-3)

注:由数据库需求分析得数据库逻辑结构图,其中Information表与infortype表通过typeId进行外键关联,Message表通过inforId与information表外键关联,Information表通过userId与Users表外键关联。

图3-3 数据库逻辑结构图

mesId 字段名称 留言编号 数据类型 int(自增) varchar datetime varchar int 长度 主键 外键 不空 11 Y Y Y Y Y Y Y mesContent 留言内容 mesTime userId inforId 留言时间 用户ID 信息编号 1000 30 11

七、系统交互图(如图3-4)

注:用户或管理员进行系统登陆,系统后台验证用户信息,根据验证结果给用户返回提示信息;用户登陆成功后能查询信息,发布信息,并发表留言;管理员登陆后能对用户和信息进行管理。

图3-4 系统交互图

12

第四章 系统实施

一、项目工程目录结构 1. 项目工程整体目录结构

在项目开发中,项目工程的整体目录结构,在一定程度上给代码编写提供了一种编码规范,好的目录结构能让系统在系统结构层次上清晰合理,更能让开发人员快速准确找到目标程序,大大方便了程序代码的编程以及单元测试。如下为工程整体目录结构在Myeclipse中视图(如图4-1)。

图:4-1工程目录结构图

注:community为web工程名;src目录包含整个项目的各个模块功能后台代码;test目录包含各个模块单元测试代码;WebRoot目录包含前台所有相关内容。 2.项目src目录结构

src目录包含整个项目的各个模块功能后台代码,包的结构层次如图4-2所示

图4-2 src目录结构图

13

3.项目test目录结构

test目录包含各个模块单元测试代码,包的结构层次如图4-3所示

图4-3 test目录结构图

4.项目WebRoot目录结构

WebRoot目录包含各个模块的jsp页面、css(CSS样式文件夹)文件夹、images(图片文件夹)文件夹、manager(管理员页面文件夹)文件夹、user(用户页面文件夹)文件夹、WEB-INF文件夹、以及webpart文件夹。目录结构层次如图4-4所示

图4-4 WebRoot目录结构图

二、程序代码编写(部分代码)

1. Hibernate持久化对象类及对象关系持久化映射文件 User对象POJO类:User.java

package com.community.beans; import java.util.Date; public class User {

private String userId; //用户ID

14

private String userName; //用户姓名 private String userPassword; //用户密码 private String sex; //用户性别 private Integer age; //年龄 private String address; //住址 private String email; //邮件地址 private Date regTime; //用户注册时间 public String getUserId() { return userId; }

public void setUserId(String userId) { this.userId = userId; }

//所有属性的setter和getter方法 }

User对象POJO类的O/R映射文件:User.hbm.xml

15

2. struts2.0实现控制层action类 用户登陆action类:LoginAction.java //用户登陆Action

public class LoginAction extends ActionSupport {

16

private String userId; //获取用户ID private String userPassword; //获取用户密码 private UserService userService; //调用user服务接口 //setter、getter方法

@SuppressWarnings(\ @Override

public String execute() throws Exception {

User user = this.userService.findById(this.userId); //根据用户

ID查询

if (null == user) {

addActionError(\用户名错误\

return INPUT; //user为空则返回信息\用户

名错误\ 校验 } }

17

}

if (this.userPassword.equals(user.getUserPassword())) {

Map map = ActionContext.getContext().getSession(); map.put(\

return SUCCESS; //如果user不空,则进行密码

} else { }

addActionError(\密码错误\return INPUT;

3.与数据库进行数据访问层(DAO层)类 UserDAO接口类:UserDAO.java public interface UserDAO {

public void saveUser(User user); //用户注册

public User findUserById(String userId); //根据用户ID进行查询 public List findAllUsers(); //查询所有用户 public void updateUser(User user); //跟新个人信息 public void deleteUser(User user); //删除用户 public void updateUserPassword(String updateUserId, }

UserDAO接口实现类:UserDAOImpl.java

public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {

public void saveUser(User user) { }

public User findUserById(String userId) {

User user = (User) this.getHibernateTemplate().get(User.class, this.getHibernateTemplate().save(user);

String updateUserPassword); //用户修改密码

userId); }

@SuppressWarnings(\ public List findAllUsers() {

return user;

String hql = \

return (List) this.getHibernateTemplate().find(hql);

18

}

public void updateUser(User user) { }

public void deleteUser(User user) { }

public void updateUserPassword(String updateUserId, } }

4.业务服务层(Service层)类

UserService接口类:UserService.java public interface UserService { }

19

this.getHibernateTemplate().update(user);

this.getHibernateTemplate().delete(user);

String updateUserPassword) {

String hql = \Query query = this.getSession().createQuery(hql); query.setParameter(0, updateUserPassword); query.setParameter(1, updateUserId); query.executeUpdate();

public void save(User user); //用户注册 public User findById(String userId); //根据ID查询用户 public void update(User user); //用户跟新个人信息 public void updatePassword(String updateUserId,

String updateUserPassword); //用户修改密码

UserService接口实现类:UserServiceImpl.java

public class UserServiceImpl implements UserService { private UserDAO userDao; public UserDAO getUserDao() { }

public void setUserDao(UserDAO userDao) { }

public User findById(String userId) { }

public void save(User user) { }

public void update(User user) { }

public void updatePassword(String updateUserId, String updateUserPassword) {

this.userDao.updateUserPassword(updateUserId, this.userDao.updateUser(user); this.userDao.saveUser(user);

return this.userDao.findUserById(userId); this.userDao = userDao; return userDao;

updateUserPassword); } }

20

5.工具类

判断用户是否登录的过滤器类:UserLoginFilter.java //用户登陆过滤器

public class UserLoginFilter implements Filter { //实现Filter接口

public void destroy() { }

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub

HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; if (\

|| req.getSession().getAttribute(\

req.getSession().setAttribute(\请先登陆\//req.getRequestDispatcher(\

response); 滤 }

public void init(FilterConfig arg0) throws ServletException { } }

21

}

res.sendRedirect(req.getContextPath() + \

chain.doFilter(req, res); //判断用户ID的Session值,实现过

// TODO Auto-generated method stub

6. View层jsp页面

用户注册页面:register.jsp //前台用户注册信息合法性校验js

//页面显示html

<%@ include file=\%>

注册新用户

24

value=\.format(Calendar.getInstance().getTime())%>\

用户名:

*(6~16位之间) 姓名:

*(请正确填写) 密码:

*(6~16位之间) 重复密码:

id=\>

性别:

\checked=\ />男

年龄:*(必须在1~150间)

25

联系地址:

id=\>邮箱:

value=\提交\ onclick=\validate()\>

value=\重置\> <%@ include file=\%>

7. 项目配置文件

项目web服务配置:web.xml

xmlns:xsi=\ xsi:schemaLocation=\

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\>

struts2 <- -struts2请求过滤器 - -> org.apache.struts2.dispatcher.FilterDispatcher

class>

struts2 /*

26

userLogin <- -用户登陆请求过滤 - -> com.community.util.UserLoginFilter

userLogin /user/*

adminLogin <- -管理员登陆请求过滤

- ->

com.community.util.AdminLoginFilter

adminLogin /manager/*

<- -Spring上下文监听 - -> org.springframework.web.context.ContextLoaderListener

index.jsp

27

404 /error404.jsp

500 /error500.jsp

三、 系统测试运行成功界面 1. 用户登陆截图(如图4-5)

图4-5 登陆视图

2. 用户搜索截图(如图4-6)

图4-6 搜索视图

28

3. 所有信息截图(如图4-7)

图4-7 信息列表视图

4. 查看留言内容截图(如图4-8)

图4-8 留言视图

29

4.3.5管理员对用户进行管理截图(如图4-9)

图4-9 用户管理视图

30

第五章 系统测试

一、功能模块的单元测试

采用Junit工具进行DAO层的单元测试。 例如AdminDAO测试类:AdminDAOTest.java package com.community.dao;

import org.springframework.context.ApplicationContext; import

org.springframework.context.support.FileSystemXmlApplicationContext; import junit.framework.TestCase;

public class AdminDAOTest extends TestCase { }

ApplicationContext c;

protected void setUp() throws Exception {

c = new FileSystemXmlApplicationContext(

\

}//获得ApplicationContext对象,实现Sping的IOC @Override

protected void tearDown() throws Exception { }

public void testFindUserById() {

AdminDAO dao=(AdminDAO) c.getBean(\

super.tearDown();

assertEquals(\}//测试结果是否一样

31

采用Junit进行单元测试时,根据数据库里的数据和业务逻辑,测试模块的测试结果是否与预期的结果一致,若通过测试,则Junit状态条为绿色(如图5-2所示),否则为褐色或其他颜色(如图5-1所示),最好的测试结果必须是全绿色状态条。

图5-1 对AdminDAO测试错误结果图

图5-2 对AdminDAO测试成功结果图

二、模块功能测试

采用在web容器(Tomcat)下,进行系统的模块功能测试,测试系统各模块设计是否符合系统要求,并对测试结果进行分析,最终让系统达到系统功能要求。

32

33

第六章 总 结

本文论述了一个基于B/S的社区管理平台系统的开发过程,所设计的系统,主要是熟悉和掌握JSP的技术以及对社区管理平台系统进行初步的探讨和设计。现在回过头来在看一下我的这个系统,总结了以下的几个特点:

1:页面模块化,本系统在界面的设计上都采用了模块化的思想,把很多的页面所共有的部分集合成一个模块,例如页面的头部,尾部和导航条,这样在开发的时候,遇到这些相似的页面部分就不需要重新编写,而只要以一句:《%@include file=”......”%》重用这部分即可,大大的提高了开发的效率。

2:采用CSS+DIV进行网页重构,使表现和内容相分离,并能提高页面浏览速度,更易于系统的维护和改版。

3:五层结构设计,系统开发使用了Struts\\Hibernate\\Spring技术,页面采用Div+CSS编写,整个系统分为五层:View、Model、Dao、Service、Control层;其中Dao、Service、Control层由Spring托管;Dao层采用Hibernate实现了数据的持久化处理、Control层利用Struts2技术进行商业流程的控制和处理;View层利用JSP技术和Struts2标签完成页面的显示。

4:面向对象设计,在系统中将用户、信息、留言等都封装成相应的类,同时每个对象都有自己对应的操作类,体现了面向对象的设计思想。

5:本系统在界面显示和消息提示方面对用户来说都是比较友好的。

本系统完成前后历时两个多月,从最开始的资料收集、需求分析、技术学习、系统设计等,使我不仅在应用jsp技术开发系统上得到了技术上的提高,也让我对软件开发的流程有了深刻的认识。软件的开发不仅仅只是技术的应用而已,需要软件工程的规范,业务逻辑的思维能力,系统构架能力,学习新技术的能力,解决问题的能力,通过这些能力的培养,更能将我们在课堂上学习到的知识利用到实际生产中。在设计中,软件工程的思想对我感触最深,要进行软件开发首先需要进行的是分析设计、文档的编写、技术的选择,而不是匆匆地进行程序的编写。

此次设计是我对大学所学知识的一次实践应用,也是对实际动手能力的一次锻炼。当然,其中也遗留下了一些待解决的问题,但出于自己水平有限,作为一个社区管理系统,该项目上有一些不完善和待改进之处,特别是在系统需求分析上需要进一步加强。

34

致 谢

在经历了为期三个月的毕业设计,终于在导师规定的时间内完成了预定的设计要求,达到毕业设计预期的目的,完成了毕业设计的任务。

首先,由衷的感谢我的导师贾瑜老师。在本次毕业设计过程中,贾老师给予我精心的指导,并为我提供了丰富的背景资料和创新的意见,使我的毕业设计得以顺利完成。

在毕业设计的过程中,我在贾老师的指导下,通过自己的努力学习,让我对基于

B/S模式的系统开发有了全面的了解,并对本次毕业设计有了深刻的认识,从中学到很多的分析解决问题的知识。同时还要感谢我的同学,他们在我的毕业设计中给予我很多帮助,同时也加强了我们同学之间的交流。

35

参考文献

[1]. 朱喜福,赵敏,夏齐霄. Java程序设计. 人民邮电出版社.2005.6

[2]. 莱思布里奇,拉格尼,张红光. 面向对象软件工程.机械工业出版社.2005.3 [3]. 周志彬.Java 2参考大全.电子工业出版社.2003.6

[4]. 飞思科技产品研发中心编著. JSP应用开发详解.电子工业出版社.2004.7 [5]. 飞思科技产品研发中心编著. J2EE技术参考手册. 电子工业出版社.2004.2 [6]. 李刚.Struts 2权威指南:基于WebWork核心的MVC开发.电子工业出版社.2007.5

[7]. 夏昕,曹晓钢,唐勇. 深入浅出Hibernate.2005.4 [8]. 罗时飞. 精通Spring.电子工业出版社.2005.9

[9]. 计磊,李里,周伟. 精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例. 人民邮电出版社.2006.8

[10]. 范洁,胡燕,王晓兰. 基于MVC的Struts框架在社区管理系统中的应用. 武汉理工大学.2006.6

[11].沃尔斯(美),布雷登巴赫(美) 著,毕庆红 译.Spring in Action(第二版).人民邮电出版社.2008.10.1

[12].扎卡斯 著,曹力 译.Java Script高级程序设计.人民邮电出版社.2006.11.1 [13].Garrett,J.J(美).用户体验的要素:以用户为中心的Web的设计.机械工业出版社.2008.1.1

[14].唐汉明.深入浅出MySQL数据库开发、优化与管理维护.人民邮电出版社.2008.4.1

[15].巴德 著,陈剑瓯 译.精通CSS:高级Web标准解决方案.人民邮电出版社.2006.11.1

[16].阎宏.Java与模式.电子工业出版社.2002.10

[17].Robert C·Martin(美) 著,孟岩 译.敏捷软件开发——原则、模式与实践.清华大学出版社

36

[18]James Rodbertson.How to evaluate a content management system [DB/OL].Online Article.2005

[19].Srinivasan N.An efficient algorithm for OWL-S based semantic searche in UUDDI[C].International Workshop on Semantic Web Services and Web Process Composition(SWSWPC).2004:96-110

[20].Ran Shu-ping.A model for web Services discovery with QoS[J]. ACM SIGECOM Exchanges.2003,4(1):1-10

[21].H.E McNay.Enterprice Content Management:an Over view.In Proc.IEEE Intl.Professional Communication Conf.,(IPCC 2002).2002:396-402

[22].Hau J.A semantic similarity measure for semantic web services[C].Web Service Semantics:Towards Dynamic Business Integration.2005:17-19

37

本文来源:https://www.bwwdw.com/article/yqmg.html

Top