当前位置:文档之家› (完整版)基于BS架构的权限管理系统毕业设计论文

(完整版)基于BS架构的权限管理系统毕业设计论文

基于B/S架构的权限管理系统

摘要:任何多用户的系统不可避免的涉及到权限问题,系统的使用者越多、使用者本身的社会属性或分工越复杂,权限问题也就越复杂。无疑,无论是背负复杂办公室政治关系的办工系统、包含纵向行政关系的电子政务业务系统还是用于数据业务集成的应用集成系统,都不可避免的要解决这一问题。

不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。

权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。本文主要介绍一个简单的基于B/S模式的权限管理系统的实现。系统采用JSP技术,数据库采用MySQL。

关键词:B/S架构;Eclipse;JSP;MySQL

Stocking Selling Storing Management System On B/S

Model

Abstract: Any multi-user system inevitably involves access problems, system, user itself more users the more complex social attribute or division, access and more complex problems. Undoubtedly, whether carried complex office political relations do work system, contains the longitudinal administrative relationship between e-government business system or used for data services of integrated application integration system, are inevitable to solve this problem.

Different responsibility for system operation of personnel, the authority should be different. Excellent business system, this is the most basic functions. For "group" can access distribution. For a big enterprise's business system is if the request administrator for the distribution system operation under each employee is a time-consuming permissions words and not quite convenient things. So, system put forward the "group" concept will be operated permissions consistent personnel in the same group to enroll, and then to access this assignment.

Authority management system should be extensible. It should be able to add to any authority management function with the system. Like components as can be continuously reuse, not every develop a set of management system, then again for rights management part development. Meet the function of business system permissions. Traditional business system, there exist two rights management, one is to function, and another jurisdiction management is a kind of resource permissions in different system of management, and function between the permissions are can reuse, and resource permissions cannot. This paper mainly introduces a simple based on B/S mode authority management system implementation. System adopts the JSP technology, database using MySQL.

Keywords: B/S Model、Eclipse、JSP、MySQl

目录

前言 (5)

第1章绪论 (5)

1.1软服学院网站制作的原因及意义 (5)

第2章开发工具介绍 (6)

2.1 B/S构架介绍 (7)

2.2 Eclipse介绍 (7)

2.3 MySQL介绍 (8)

2.4 JSP介绍 (8)

2.5 Servlet 介绍 (9)

2.6 HTML 介绍 (9)

第3章需求分析 (10)

3.1 可行性分析 (10)

3.1.1 技术可行性 (10)

3.1.2 经济可行性 (11)

3.1.3 操作可行性 (11)

3.1.4 法律可行性 (11)

3.2 系统功能分析 (11)

3.2.1 登录 (11)

3.2.2 注册 (11)

3.3 系统性能需求分析 (12)

3.3.1硬件环境 (12)

3.3.2软件环境 (12)

3.4 系统安全性分析 (12)

第4章系统概要设计 (13)

4.1 系统设计目标 (13)

4.2 系统设计思想 (14)

4.3 数据库设计 (14)

第5章详细设计及编码实现 (15)

5.1 系统登录 (15)

5.2 用户注册 (18)

结论 (20)

致谢 (21)

参考文献 (22)

前言

随着信息化时代的到来,计算机技术已经在各行各业中发挥着不可替

代的作用。当前越来越多的软件已经认识到了对于软件用户管理的重要性,

已将计算机技术应用于日常的管理工作中。科学的运用计算机技术进行管

理工作不仅可以使管理工作规范化、系统化、自动化而且可以节省相当的

人力、物力。它能够使企业走上良性运转轨道,从而为其快速发展奠定基础。

本论文就是对权限管理进行介绍。在第二到五章中,分别介绍了Eclipse、B/S构架、MySQL、等开发工具,还介绍了HTML语言、Asp 语言等网络语言。在介绍过程中结合了本人所学的计算机网络方面的知识,力求达到精益求精。

本论文由本人完成,限于时间和本人的现有水平,文中的不足及应该完善的部分在所难免,敬请老师在阅读之后加以批评指正。

第1章绪论

1.1软服学院网站制作的原因及意义

随着信息化时代的到来,计算机技术已经在各行各业中发挥着不可替代的作用。当前越来越多的软件已经认识到了对于软件用户管理的重要性,已将计算机技术应用于日常的管理工作中。科学的运用计算机技术进行管理工作不仅可以使管理工作规范化、系统化、自动化而且可以节省相当的人力、物力。它能够使企业走上良性运转轨道,从而为其快速发展奠定基础。

在使用同一款软件的时候我们会牵扯到用户管理和权限的问题,怎样合理的使用的软件,权限管理是相当重要的。因为有职位于功能的不同,所以在功能的划分上也要有所不同,这样才有合理有效快捷的使用一款软件。

权限管理系统就是根据不同的权限分配不同的权利,主要分为管理员和普通用户,普通用户通过登录界面可以进入注册界面,管理员通过后台进行添加。在登录界面输入用户名和密码,通过控制层进行判断用户的种类,根据用户的种类进入到不同的界面,在相应的界面行驶不同的功能。

第2章开发工具介绍

2.1 B/S构架介绍

B/S(Browser/Server结构)结构即浏览器、服务器结构。用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。2.2 Eclipse介绍

Eclipse是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java 开发工具(Java Development Tools,JDT)。

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java 的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。2009年7月发布代号为GALILEO的3.5版。

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多

插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。

虽然大多数用户很乐于将Eclipse 当作Java IDE 来使用,但Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse 的软件开发人员,因为它允许他们构建与Eclipse 环境无缝集成的工具。由于Eclipse 中的每样东西都是插件,对于给Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

基于Eclipse 的应用程序的突出例子是IBM 的WebSphere Studio Workbench,它构成了IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。

2.3 MySQL介绍

MySQL是瑞典MySQL AB公司开发一个小型关系型数据库管理系统,支持多种操作系统。它是由C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。

与其他的大型数据库相比,如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限等。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

2.4 JSP介绍

ASP是一套服务器端的脚本程序开发工具和运行环境,可用来创建动态、交互式的Web服务器应用程序。有了ASP就不必担心客户端的浏览器能否运行所编写的代码,因为所有的程序都将在服务器执行。当程序执行完毕后,服务器仅将所执行的结果返回给客户端的浏览器,这样就减轻了客户端浏览器的负担,极大的提高了Web交互的速度。

利用ASP所设计出的是动态主页,可接受用户提交的信息并作出响应,其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。例如,当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。数据库中的数据可以随时变化,而服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。

2.5 Servlet 介绍

Servlet是对支持Java的服务器的一般扩充。它最常见的用途是扩展

Web服务器,提供非常安全的、可移植的、易于使用的CGI替代品。它是一种动态加载的模块,为来自Web服务器的请求提供服务。它完全运行在Java虚拟机上。由于它在服务器端运行,因此它不依赖于浏览器的兼容性。

servlet容器:

负责处理客户请求、把请求传送给servlet并把结果返回给客户。不同程序的容器实际实现可能有所变化,但容器与servlet之间的接口是由servlet API定义好的,这个接口定义了servlet容器在servlet上要调用的方法及传递给servlet的对象类。

2.6 HTML 介绍

作为一种组织网页内容的语言,HTML主要包括标记和属性,标记用来支持网页中各种元素的显示,比如文本、超级链接、图像、多媒体、表格、表单、表单域等,属性对这些元素的行为特征进行修饰,比如表格的背景。

HTML是Hyper Text Markup Language的缩写,意思是“超文本标识语言”,它实际上是专门用来编写网页的一种编程语言。大多数网页的构成基础就是HTML语言。我们上网浏览一个网页时,实际上是把该网页所对应的HTML文件下载到我们的计算机中,然后由本地计算机中的浏览器再解释、显示。一个HTML文件程序由文档头部和正文两部分构成。

HTML文件是一个ASCII格式文件。主要由两大类元素组成:一是标记,二是标记的作用对象(如文字、图形等)。它可以在任何一种可以编辑ASCII文件的编辑器中编辑(如果HTML文件中包含汉字,则要在支持汉字的编辑器中编辑)。我们通常可以用Windows中的“记事本”和Editplus等文本编辑器来编辑HTML文件。除了这些还有其他的一些比如

FrontPage、Dreamweaver等可视化的编辑器。

HTML对页面元素的排版基本就是按照元素在文档中出现的先后顺序,从头至尾依次排下来,唯一能控制页面元素位置的只有Align属性,而它所能控制的情况只有三种:左、中、右,要编制复杂的页面布局仅仅依靠基本的HTML几乎是不可能实现的。那么,运用表格就解决了这个问题。表格一般用以对HTML文档内容提供整齐的显示风格,基本能实现对页面元素在浏览器中随心所欲的排版定位。而且表格通常用来显示大量的、分类化的信息,具有表示清晰、明了的特点,使用十分广泛。表格一般由表格名称、表格栏及表中数据等组成。

HTML表单在Web网页中用来访问者填写信息,从而能采集客户端信息,使网页具有交互的功能。一般是将表单设计在一个HTML文档中,当用户填写完信息后做提交操作,于是表单的内容就从客户端的浏览器传送到服务器上,经过服务器上的ASP或CGI等处理程序后,再将用户所需信息传送回客户端的浏览器上,这样网页就具有了交互性。总之,表单和表单域是提供了在HTML文档中和用户进行应答的一般方法。在HTML基础语法中,HTML表单的地位是十分重要的。

第3章需求分析

3.1 可行性分析

3.1.1 技术可行性

本系统使用JSP结合Servlet技术作为开发语言,MySQL数据库作为后台数据库。JSP语言出台已经十余年,技术非常成熟,用来开发B/S构架的WEB应用非常适合而且关于JSP技术方面的参考书籍以及网络资料丰富,可以为开发提供莫大的帮助。

MySQL数据库相比其他大型数据库如DB2、SQLServer、Oracle等,虽有很多不足,功能也比较局限,但应用于中小型企业的后台数据库,其

功能及安全性绰绰有余。经过仔细分析,从技术角度考虑,本系统开发可行。

3.1.2 经济可行性

本系统使用Eclipse作为开发工具,MySQL数据库为后台数据库,Eclipse、MySQL都是开源的免费的软件,除了人员时间上的开销外,成本极少。因此,作为开发方经济可行。

本程序作为毕业设计而开发,从运行硬件上考虑,使用的是作者的笔记本电脑,当今电脑硬件如此发达,已经足够可以运行本系统。经过仔细分析,从经济角度考虑,本系统开发可行。

3.1.3 操作可行性

本系统,界面设计干净、友好、条理清晰,不需要计算机专业方面知识就可以进行操作。对于计算机如此普及的今天,在系统的操作方面,没有问题。但考虑到部分特殊人群,经过简单的培训,就可以熟练的操作本系统。经过仔细分析,从操作性方面考虑,本系统可行。

3.1.4 法律可行性

本系统没有违反国家相关法律,并且使用的开发工具及编程语言都为开源免费软件,不涉及盗版。本程序是作者本人为毕业设计而开发的项目,因此,不会引起任何侵权问题,也不会引起政治风波。经过仔细分析,本程序从法律角度考虑,开发可行。

综上所述,从技术、经济、操作和法律可行性的角度上进行分析,各方面均符合要求,可以进行开发。

3.2 系统功能分析

参阅大量资料,经过仔细的分析,本系统应该具有如下功能:登录、注册。

3.2.1 登录

用户通过WEB浏览器访问本系统,登录以后获得相应的权限,本系统用户分为两种种权限,管理员(admin)、普通用户(user),其中管理员拥有使用系统所有功能的权限。普通用户只能行驶部分权限。两种权限并存,使得系统在使用性上更加方便、灵活、安全。

3.2.2 注册

出于安全性的考虑,注册界面只能是普通用户的申请,管理员只能通过后台,手动的添加。这样可以保证权力的分工和系统的安全。

3.3 系统性能需求分析

3.3.1硬件环境

CPU:主频在1.7GHz以上的奔腾型CPU。

内存:256MB以上内存。

硬盘空间:1G以上的可用硬盘空间。

3.3.2软件环境

操作系统:WindowsNT/2000/XP/2003等。

开发环境:Eclipse。

数据库:MySQL。

服务器:Tomcat6。

3.4 系统安全性分析

本系统提供了用户身份验证功能,只有当使用者在正确的输入用户名、密码后才能登录系统。登录系统后可以获得相应权限。

本系统提供了两种用户类型,两种用户拥有两种不同的权限,这中设置,可以对数据的安全性起到保护作用并且使系统应用的更加灵活。

除了登录页面,其他页面都拥有防止非法访问的设定,非登录用户不能访问相关功能的操作页面。

第4章系统概要设计

软件的概要设计是在需求分析的基础上经过概括总结用户的具体要求,对系统的总体结构进行规划,根据需求确定软件和数据的总体框架,概要设计旨在确定程序各主要部件之间的关系。本章将主要介绍数据库的设计和该系统所实现的各功能模块。

4.1 系统设计目标

本系统的设计目标如下:

(1)实用性:本系统面向中小型企业进的用户管理。

(2)简单易用性:界面清晰、友好,操作简单、容易上手。

(3)集成性:目标系统必须具有可靠性、安全性、可维护性、可移植性

等。

(4)安全性:对于不同的操作人员授予不同的操作权限。

4.2 系统设计思想

本系统是基于B/S构架设计的WEB系统,B/S架构最大的优点就是只要电脑接入Internet就可以在任何地方进行操作而不用安装任何专门的软件。

本系统分成几个相对独立的模块,但这些模块都进行集中式管理。本系统采用分层式模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。

4.3 数据库设计

数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。

本系统采用MySQL作为数据库开发工具,建立一个名为homework

的数据库。本系统一共拥有1张表,表的详细定义结构如下:

1、U ser表。

字段类型长度约束描述

username varchar 20 PRIMARY KEY 用户名

password varchar 20 NOT NULL 密码

type varchar 20 NOT NULL 用户类型

age int 2 年龄

telephone double 20 电话

住址varchar 100 备注、住址

第5章详细设计及编码实现

本章对系统进行了详细的说明,并对系统特别是一些关键的代码进行详细说明。

5.1 系统登录

本模块为用户提供登录界面,当用户输入正确的用户名和密码时,可以登录本系统并获得相应权限。当使用者输入错误用户名或密码错误时,系统会给出相应提示

用户登录界面如图5-1所示

图5.1用户登录窗体

使用者登录成功后根据身份的不同进入不同的界面,如图

核心语句:

String sql = "SELECT username,type FROM user WHERE username='"

+ userName + "'and password='" + password + "'";

System.out.println(sql);

ResultSet rs = st.executeQuery(sql);

if (rs.next()) {

HttpSession userSession = request.getSession(true);

userSession.setAttribute("userName",rs.getString("username"));

userSession.setAttribute("type", rs.getString("type"));

if (rs.getString("type").equals("manager")) {

RequestDispatcher rd = getServletContext()

.getRequestDispatcher("/manager.jsp");

rd.forward(request, response);

} else {

RequestDispatcher rd = getServletContext()

.getRequestDispatcher("/user.jsp");

rd.forward(request, response);

}

} else {

request.setAttribute("loginError", "对不起,您的账号或密码不正确!");

RequestDispatcher rd = getServletContext()

.getRequestDispatcher("/login.jsp");

rd.forward(request, response);

}

通过对登陆者的类型判断进入不同的界面,从而行驶不同的操作。

5.2 用户注册

通过登录见面的注册按钮,普通用户可以进入到注册页面,注册成功后才能进入系统。

核心代码如下:

String uerName = request.getParameter("uerName");

String password = request.getParameter("password");

String type = request.getParameter("type");

String age = request.getParameter("age");

String telephone = request.getParameter("telephone");

String adress = request.getParameter("adress");

Connection conn = null;

PreparedStatement pstmt = null;

String sql = "INSERT INTO

user(username,password,type,age,telephone,adress) VALUES(?,?,?,?,?,?)";

conn = DBUtil.getConnection();

try {

conn.setAutoCommit(false);

pstmt = conn.prepareStatement(sql);

pstmt.setString(1, uerName);

pstmt.setString(2, password);

pstmt.setString(3, type);

pstmt.setString(4, age);

pstmt.setString(5, telephone);

pstmt.setString(6, adress);

int rs = pstmt.executeUpdate();

https://www.doczj.com/doc/e59294436.html,mit();

if (rs != -1) {//成功到login界面

RequestDispatcher rd = getServletContext()

.getRequestDispatcher("/login.jsp");

rd.forward(request, response);

}

结论

本系统从构思到现在,大概经历了3个月的时间。到目前为止,虽然细节上略有不足,但功能基本都已经实现。

通过这三个月的设计,我了解到了很知识,这些东西是在书本中学不到的。这次独立完成毕业设计我深有感触,我感到软件开发真正的难点主要是servlet。这次毕业设计,在设计过程遇到了很多问题,走了很多弯路,但这些都是非常宝贵的经验,相信我会终身收益。通过这次设计,使我对编程语言的掌握更上了一层台阶,如Java,JavaScript,CSS等等。

虽然这次设计基本完成,但是本系统还有很多不足之处,特别是各个权限的用户在进入各自的界面的时候没有一些功能,还有就是在代码的封装方面做的不太李想,系统的代码不够简洁。本系统还有很大的可塑性,相信随着时间的推移,我会尽自己全力,使这款系变得的更加完美。

相关主题
文本预览
相关文档 最新文档