目 录

第一章 绪论 5
1.1 办公自动化系统研究及应用 5
1.2 设计办公自动化的意义 6
第二章 相关技术介绍 8
2.1 JSP简介 8
2.2 C/S简介 8
2.3 Struts2简介 9
2.4 Hibernate简介 9
2.5 Java简介 9
第三章 系统需求分析 10
3.1 设计系统可行性研究 10
3.2 设计系统的需求分析 11
3.3 文件夹组织结构 13
3.4 办公自动化系统的数据库设计 14
第四章 系统设计 20
4.1 OA系统公共模块设计 20
4.2 OA系统登录模块设计 21
4.3 OA系统主界面设计 22
4.4 OA系统日常管理模块设计 23
4.5 OA系统考勤管理模块设计 24
4.6 OA系统通讯管理模块设计 26
第五章 系统功能实现 28
5.1 登录模块的实现过程 28
5.2 主界面的实现过程 31
5.3 会议管理的实现过程 32
5.4 公告管理的实现过程 36
5.5 外出登记的实现过程 37
5.6 上下班登记的实现过程 39
5.7 通讯管理模块的实现过程 40
第六章 系统测试 42
6.1 登录功能模块的测试 42
6.2 公共模块的测试 43
6.3 上下班登记的测试 43
6.4 系统的总体概述 44
参考文献 45
致 谢 46
第四章 系统设计
4.1 OA系统公共模块设计
在开发编程语言以来,所有参与的开发人员不停地在思考,怎样设计的项目更能满足时代的需要,解决当前环境下所产生的各类型问题。然而往往因为对这些问题的思考,他们才会考虑到怎样让自己的代码逻辑性清晰,尽量的减少处理问题的中间处理时间,让开发设计的项目处理问题效率高。在设计项目过程中,为了开发的时效性,使整体结构更清晰,代码的重复利用性。这时开发人员就想到了创建公共类,通过长期时间开发人员思想的积累,发现设计开发工作中需要这些公共类,可以在编写该项目中更简便的开发。在开发办公自动化管理系统过程中,公共类应用包括如Hibernate配置文件、Struts配置文件和Session 的管理类等。
4.1.1 开发系统编写的Hibernate配置文件
开发系统过程中,需要对浏览器端接收的数据存入到数据库,这时我们就应该编写连接数据库的配置文件,而这次代码编写过程中应用到的是Hibernate框架技术来操作页面数据存入数据库。在Hibernate配置文件中有连接数据库的信息,同时通过读取这些信息来连接到所用的数据库,从而达到代码来操作数据库的作用。然而应用Hibernate框架技术有两种连接数据的方式,一种是用XML配置文件来配置连接数据库的信息,而另一种是用Hibernate是默认的Java属性文件来配置连接数据库的信息。在开发办公自动化管理系统应用连接数据库的配置文件是Hibernate是默认的Java属性文件格式,其基本格式如下:
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.connection.driver_class=com.microsoft.sqlserver.jdbc.SQLServerDriver
hibernate.connection.url=jdbc:sqlserver://localhost:1433;databaseName=db_work
hibernate.connection.username=sa
hibernate.connection.password=123
hibernate.show_sql=true
hibernate.hbm2ddl.auto=none
4.1.2 字符串处理过滤器
在开发过程中,对于字符串的处理考虑从来没有中断过,往往对于这些设计系统过程中设计的字符串,这时就想到用字符处理类解决,在这次系统设计过程中创建了MyFilter类。
在完成该类的编写时实现了Filter 接口,然而实现的这个接口类中有三个方法,分别是init()、destory()、 doFilter()方法。Filter 接口中的init()方法只在设计过滤器的第一次初始化时执行,不过有时该接口被应用在简单的过滤器中,此时init()方法的内容可以为空;Filter 接口中的destroy()方法是在过滤器对象很久地停止服务时被调用,在很多情况下destroy()方法体也是为空的;Filter 接口中的doFilter()方法是过滤器中最重要的部分,该方法体是过滤字符串的代码编写处,并且在调用该方法时,可以激活代码中应用的过滤器。在项目设计中如果没有设计过滤器在Servlet 或 JSP 页面执行前,则 Serlet 或JSP 页面被执行。
字符在项目过程中会设计很多,然而有些通常不需字符串的一些空格或只需要字符的一部分,这是就可以用过滤器处理这些字符。这样不仅在编写代码过程方便了很多,同时也是设计者需要的方式,这样可以省略因为只要字符串的一些小改变,而使编写代码变得繁琐,因此字符串处理过滤在编写代码变得很重要。
4.2 OA系统登录模块设计
4.2.1 系统登功能概述
系统设计的登录模块,是对用户进入办公自动化管理系统的入口。用户在登录时,如果不输入信息,点击登录按钮将提示请输入用户名;如果用户填写了用户名文本框,不输入密码,点击登录,将提示请输入密码;用户名称,密码,验证码也是必需输入的。用户输入完信息后,系统会对用户名是否存在,密码和验证码是否输入正确的进行验证;在登录界面用户所有必须输入的信息正确后,用户才能进入系统;否则进不去系统,输入错误会跳转到登录失败界面。
4.2.2 登录模块技术分析
开发设计的登录模块,这个部分是进入系统的关键部分。同时这个模块设计也是系统安全程度的体现,如果这个模块设计比较简单的登录功能,那系统的安全性就不高了。因为在这种网络安全受威胁的环境下,很容易被现在隐藏的黑客攻陷,这样就会导致设计的办公自动化管理系统不安全。然而对于企业来说,系统的安全是极其重要的,因为企业内部信息之多,内部员工信息的保密性以及企业的一些商业机密。因此,设计该系统安全程度要求很高。
在完成该模块功能中,应用了MVC设计模式。因为这种模式逻辑清晰,开发中不同层次的体现明显,开发起来很方便。本文转载自http://www.biyezuopin.vip/onews.asp?id=14215在对于数据的存储,使用了Hibernate来完成对数据的添加,修改存入数据库的数据,查询和删除数据库中数据的功能。同时在前端设计中应用CSS技术对页面的布局美化,使用HTML负责设计这些页面排版。在浏览器请求时,项目中应用了Action类来负责控制转发路径。应用这样的设计,对于以后系统的维护也带来很大的方便。
设计登录模块是用来校验用户登录的合法性,判断他们是否可以登录该系统。在验证用户的登录过程中,首先对用户输入的用户名信息校验,判断是否属于该系统内的用户,在检查过程是通过HQL检索模式,该检索模式就是通过用户输入的信息查询数据库,看数据库中是否存在该用户名信息;对于用户输入的密码验证,也是通过HQL检索模式,查询数据库判断输入信息是否正确。如果与数据库中数据不匹配,则是输入错误,登录进不了系统。HQL检索模式与一些SQL语法非常的类似,HQL语言是面向对象的,因为他操作的是持久化的类名和类的属性,SQL语言是操作数据库中的表和表中的字段。在这个模块中采用的HQL检索模式,该技术完成对数据的检索。
在登录模块设计中,除了对用户名和密码的验证外,其中还设计了输入随机生成验证码的验证,因为多了这样一个环节,就可以减少不是系统用户暴力登录系统。而这种生成随机验证码的设计,应用了Math 类的 random()方法,他可以生产一个大于等于0.0 小于 1.0 的随机数,通过这个生成的随机数来获得对应数字图片。但是random()方法生产得到随机数是double 类型的。因此,应该对得到随机数转换成整型数,这样才满足与图片数据相对应,而在登录界面显示随机数字的图片验证码。

<%@ page language="java" pageEncoding="gb2312"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head><html:base /><title>index.jsp</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><link rel="stylesheet" type="text/css" href="CSS/style.css"></head>
<body>
<script language="javascript">function mycheck(){if (form1.UserName.value==""){alert("请输入用户名!");form1.UserName.focus();return;}if(form1.PWD.value==""){alert("请输入密码!");form1.PWD.focus();return;}if(form1.yanzheng.value==""){alert("请输入验证码!");form1.yanzheng.focus();return;}if(form1.yanzheng.value != form1.verifycode2.value){alert("请输入正确的验证码!!");form1.yanzheng.focus();return;}form1.submit();}</script><style>body {margin-left: 0px;background-image: url(Images/bhj.jpg);}.style2 {color: #990000}.input2 {font-size: 12px;height: 20px;border: 0px double #A8D0EE;border-radius:3px;color: #344898;text-indent:4px;}.submit1 {border: 0px double #416C9C;height: 20px;width: 45px;background-color: #F2F2F2;font-size: 12px;padding-top: 1px;background-image: url(bt.gif);cursor: hand;border-radius:3px;}.STYLE12 {font-family: Georgia, "Times New Roman", Times, serif}.STYLE13 {color: #316BD6; }.STYLE15 {color: #F2F2F2; font-size: 9pt; }</style>
<body><br><br><br><br><table width="559" height="423" border="0" align="center"cellpadding="0" cellspacing="0"  background="Images/dfff.jpg"><tr><td width="559"><form name="form1" method="POST" action="findUserAction.do?method=finUser"><!-- 提交的action根据struts-config.xml文件对应method后为FindUserAction的方法名 --><table width="410" height="198" border="0" align="right"cellpadding="0" cellspacing="0"><tr><td height="2" colspan="2"></td></tr><tr><td height="2" colspan="2" valign="top"></td></tr><tr><br><br><br><br><br><br><br><br><br><br><br><td width="54" height="22" valign="bottom"><span class="STYLE15" >用户名:</span></td><td width="356" valign="bottom"><input name="UserName"  type="text" class="input2" onKeyDown="if(event.keyCode==13){form1.PWD.focus();}"onMouseOver="this.style.background='#F0DAF3';"onMouseOut="this.style.background='#FFFFFF'"><!-- 设置用户名文本框,并设置了鼠标经过是样式 --></td></tr><tr><td height="4" colspan="2" valign="bottom"></td></tr><tr><td height="31" colspan="2" valign="top" class="STYLE15">密&nbsp;&nbsp;&nbsp;&nbsp;码:<input name="PWD" type="password"  class="input2" align="bottom"onKeyDown="if(event.keyCode==13){form1.yanzheng.focus();}"onMouseOver="this.style.background='#F0DAF3';"onMouseOut="this.style.background='#FFFFFF'"><!-- 设置密码文本框 --></td></tr><tr><td height="31" colspan="2" valign="top" class="STYLE15" ondragstart="return false" onselectstart="return false">验证码:<input name="yanzheng" type="text" class="input2"onKeyDown="if(event.keyCode==13){form1.Submit.focus();}"size="8" align="bottom"onMouseOver="this.style.background='#F0DAF3';"onMouseOut="this.style.background='#FFFFFF'"><!-- 设置验证码文本框,并设置鼠标经过的样式 --><%   int intmethod = (int)( (((Math.random())*11))-1); int intmethod2 = (int)( (((Math.random())*11))-1); int intmethod3 = (int)( (((Math.random())*11))-1); int intmethod4 = (int)( (((Math.random())*11))-1); String intsum = intmethod+""+intmethod2+intmethod3+intmethod4; //将得到的随机数进行连接%><input type="hidden" name="verifycode2" value="<%=intsum%>"> <!-- 设置隐藏域,用来做验证比较--><span class="STYLE12"><font size="+3" color="#FF0000"><img src=Images/num/<%=intmethod %>.gif> <img src=Images/num/<%=intmethod2 %>.gif><!-- 将图片名称与得到的随机数相同的图片显示在页面上  --><img src=Images/num/<%=intmethod3%>.gif> <img src=Images/num/<%=intmethod4 %>.gif></font></span></td></tr><tr><td colspan="2" valign="top">&nbsp; &nbsp; &nbsp; &nbsp;<input name="Submit" type="button" class="submit1" value="登录" onClick="mycheck()"> &nbsp;<input name="Submit2" type="reset" class="submit1" value="重置"> <!-- 设置提交与重置按钮--></td></tr></table></form></td></tr></table>
</body>


















基于WEB的办公自动化管理系统的设计与实现相关推荐

  1. java毕业设计_基于web的游泳馆管理系统的设计与实现

    基于web的游泳馆管理系统的设计与实现 基于web的游泳馆管理系统的设计与实现mysql数据库创建语句 基于web的游泳馆管理系统的设计与实现oracle数据库创建语句 基于web的游泳馆管理系统的设 ...

  2. 基于Web的仓库管理系统的设计与实现(论文+PPT+源码)

    摘 要 仓库物品的管理是与我们的日常生活息息相关的一个重大问题.随着我国经济飞速的发展,改革开放的不断深入,企业要想在激烈的市场竞争中立于不败之地,要想继续的发展与生存,没有现代化的管理方式与方法是万 ...

  3. 基于java基于Web的人事管理系统的设计与实现计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java基于Web的人事管理系统的设计与实现计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java基于Web的人事管理系统的设计与实现计算机毕业设计源码+系统+lw文档+my ...

  4. java毕业设计基于Web的人事管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计基于Web的人事管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw java毕业设计基于Web的人事管理系统的设计与实现mybatis+源码+调试部署+系统+数据库 ...

  5. 1.0 java_Mybatis_oracle基于WEB的仓库管理系统的设计与实现(源码+数据库sql+论文+视频齐全)----库管理系统---源码在底部

    基于Web的仓库管理系统的设计与实现 摘 要 仓库物品的管理是与我们的日常生活息息相关的一个重大问题.随着我国经济飞速的发展,改革开放的不断深入,企业要想在激烈的市场竞争中立于不败之地,要想继续的发展 ...

  6. 毕业设计论文选题系统系统用例图_基于Web的毕业论文管理系统的设计与实现

    摘要: 毕业论文是即将步入社会的大学毕业生对自己在校期间所学专业知识的归纳和总结.随着网络的迅猛发展和高校的扩招,高校的管理方法和教学模式均发生了很大的变化.信息技术的飞速发展,为人类的发展提供了快速 ...

  7. 基于web的模型管理系统的设计

    1 设计背景 随着科技的发展和满足人民日益增长的美好物质生活的需要,本设计确定了模型管理系统的体系结构和开发平台,对系统各模块进行了具体的功能设计和数据库设计,最后采用选定的信息网络技术实现了系统功能 ...

  8. 基于web的教务管理系统-课程设计

    引言 教务系统已成为高校不可缺的系统,它可以帮人相关人员从繁琐的事务脱离出来,提高高中效率,但是真正的想实现一个教务管理系统,是很难的,它涉及的领域很广,所以本文的教务管理系统只实现了教务中的排课(手 ...

  9. ssm基于web图书租售管理系统的设计与实现毕业设计源码161609

    图书租售管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课 ...

最新文章

  1. 安装与配置windbg的symbol(符号)
  2. nohup-真正的Shell后台运行
  3. KMP算法求解next数组值(模式串从下标0开始或从下标1开始)以及求值后与主串的匹配过程
  4. OpenGL 几何着色器剔除的实例
  5. [原创]Logo与Banner
  6. 无缝滚动图片——源码
  7. 完美解决Mac电脑睡眠之后苹果电脑没有声音的方法
  8. 闲鱼的真正用法,其实是找对象
  9. 我的 linux历程
  10. Codeforces Round #513 总结
  11. 实战Python:详解利用Python和Pygame实现飞机大战
  12. 软考信息系统监理师 2016年3月18日作业
  13. 047ssm在线视频教育网站源码
  14. 测试苹果电脑性能软件xbench在哪,mac性能测试网址
  15. Since Due to Because of Because 的用法和区别
  16. 西北大学计算机转专业,2021年西北大学大一新生转专业及入学考试相关规定
  17. mini2440----keil for AMR之IIC读写EEPROM(AT24C08)
  18. 【CSS】input输入框如何去掉点击后出现的边框
  19. 导数与微分总复习——“高等数学”
  20. 西电微机原理期末考试复习重点

热门文章

  1. 图解SQL的各种连接join
  2. 面试题:Java类初始化顺序
  3. Exception toString getMessage 区别
  4. 解决计算机主机与打印机共享,打印机如何共享 笔记本打印机共享设置【步骤详解】...
  5. python的__main__
  6. linux中oracle数据乱码,解决linux下oracle导入数据中文乱码方案
  7. 惠普电脑怎么用access_如何启动自己电脑中的Access软件
  8. 中世纪风格Mac字体
  9. Pandas:细说groupby和aggregate、transform、apply以及filter
  10. TechED 展台视频巡礼之Nvidia篇