jsp实训报告.docx

上传人:b****7 文档编号:10573929 上传时间:2023-02-21 格式:DOCX 页数:37 大小:228.26KB
下载 相关 举报
jsp实训报告.docx_第1页
第1页 / 共37页
jsp实训报告.docx_第2页
第2页 / 共37页
jsp实训报告.docx_第3页
第3页 / 共37页
jsp实训报告.docx_第4页
第4页 / 共37页
jsp实训报告.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

jsp实训报告.docx

《jsp实训报告.docx》由会员分享,可在线阅读,更多相关《jsp实训报告.docx(37页珍藏版)》请在冰豆网上搜索。

jsp实训报告.docx

jsp实训报告

西安电力高等专科学校

实训任务书

系部

计算机工程系

专业

计算机应用

姓名

明永正

学号

43

班级

41091

任务下达时间2011-12-26

完成时间

2011-12-30

题目

企业办公管理系统

主要内容及要求

内容主要包括有:

(1)权限分配模块:

在OA系统中限制员工浏览站点信息的权限;

(2)工作管理模块:

合理安排员工的工作时间和工作任务;

(3)物资管理模块:

对物资的进存信息等进行查询、统计以便合理分配物资;

(4)客户管理模块:

对客户资料进行详细统计并进行记录。

要求:

(1)选用JSP与JavaBean、Servlet、Struts、Spring+Struts+Hibernate整合技术中的一种进行开发;

(2)认真进行需求分析、数据库设计;进行系统实现和系统搭建;

(3)按要求整理资料,撰写实训报告。

 

指导教师

评价意见

成绩

指导教师(签名):

 

目录

第一章前言1

1.1管理系统的背景与意义1

1.2化管理系统的功能特性1

1.3本文的关键问题及难点2

第二章背景的介绍4

2.1J2EE简介4

2.1.1架构模式选择4

2.1.2视图层的选择5

2.1.3控制层的选择6

2.1.4模型层的选择7

第三章管理系统员工模块的需求分析8

3.1需求分析8

3.1.1功能需求规定8

3.1.2对输入参数的要求8

3.1.3故障处理要求8

第四章化管理系统员工模块的详细设计9

4.1功能模块需求9

4.2类图11

4.3模块结构图12

4.3数据流程图13

4.4模块数据结构设计13

4.5系统出错处理设计15

4.5.1出错信息15

4.5.2补救措施15

第五章管理系统员工模块的实现和测试16

5.1办公自动化管理系统的实现16

5.1.1JavaBean的设计16

5.1.2视图层的设计与实现16

5.1.3员工管理模块18

5.1.4管理员登录27

第六章总结与展望34

6.1全文总结34

6.2展望34

结束语35

 

第一章前言

在科技迅猛发展的今天Internet/Intranet被广泛的使用在各个行业中,企业的管理也随之发展,信息化的程度也随之增长,同时以往的办公管理模式已经无法适应企业的需求,企业对办公的效率要求越来越高,因此就需要一个现代化的办公管理方案来解决企业的这个问题。

企业办公正在逐步迈向管理信息现代化。

企业办公信息化基础设施建设的逐渐完备,改革传统办公模式开展电子政务,使业务办公、公文流转和管理过程电子化、信息化,让文职人员从长期繁杂的办公事务中解放出来,通过统一办公规范,提高工作效率,降低管理成本,实现办公自动化已势在必行。

1.1管理系统的背景与意义

办公自动化管理系统是将现代办公和计算机网络功能结合起来的一种新型的办公方式,是信息化社会的产物。

办公自动化系统可以将一个机构的办公用的计算机和其他办公设备连接成网络,这样可以为办公室工作人员和企事业负责干部提供各种现代化手段,从而改进办公条件,提高办公业务的效率和质量,及时向有关部门和领导提供有用的信息。

OA起源于政府办公系统,当初的作用主要是公文收发,如今核心内容是提高办公效率、提高团队的整体作战能力以及有效的提供应用信息与素材,从而提高管理水平。

广义而言,OA应该是一个企业除了生产控制之外的一切信息处理与管理的集合。

它面向不同层次的使用者,有不同的功能表现。

通过网络,组织机构内部的人员可跨越时间、地点协同办公。

建立一个安全、可靠、开放、高效的办公自动化、信息管理电子化系统。

为管理部门提供现代的日常办公条件及丰富的综合信息服务,实现档案管理自动化和办公事物处理自动化,实现企业各内部日常业务工作的规范化、电子化、标准化,增强档案部门文书档案、人事档案、财务档案等档案的可管理性,实现信息的在线查询、借阅。

最终实现“无纸”办公,使信息的传递更加快捷和方便,从而极大的扩展了办公手段,实现了办公的高效率。

1.2管理系统的功能特性

办公自动化管理系统对企业日常办公进行管理,实现企业员工之间的消息的发送与接受功能,大大地方便了企业内部人员沟通。

同时网站提供的前后台的公告与公文信息的管理,方便员工及时了解公司的动态,与其他功能模块联机操作将使企业的日常管理步入科学系统的管理轨道。

此办公自动化管理系统由前台管理和后台管理两大部分组成。

此办公自动化管理系统有三个功能模块:

公告管理、员工管理、部门管理3个模块。

3大功能模块分别是:

1)公告管理模块:

主要完成公告的发布、查看。

2)员工管理模块:

主要完成添加员工、查找员工、浏览员工信息。

3)部门信息管理模块:

主要完成查看职位、部门信息。

本次毕业设计我负责的是员工管理模块,员工管理模块是系统的重要模块,主要是和员工相关的业务功能,具体功能描述如下:

添加员工信息:

管理员可以注册添加员工的信息。

查找员工信息:

通过输入员工ID号可以查找员工的信息。

浏览员工信息:

可以浏览员工的信息。

1.3本文的关键问题及难点

我们的毕业设计项目是基于J2EE的web项目,同时也是采用JSP+JavaBean+Servlet模式。

因此针对此项目涉及到一些关键问题:

1、JSP+JavaBean+Servlet环境配置问题,环境变量的设置:

变量名java_path、path、classpath的追加,Tomcat的配置:

变量名tomcat_homeclasspath的追加。

环境变量的设置和Tomcat的配置对初学者来说又是比较头疼,但配置好了很重要。

2、集成开发环境选择的问题,好的开发环境对编码效率提高很多。

MyEclipse本身集成了非常实用的插件并且支持主流框架,是一个非常好用的集成开发环境,所以我们组选MyEclipse作为毕业设计的集成开发环境。

服务器的选择我们选Tomcat作为系统的服务器,轻量级的服务器Tomcat对于小型应用是个不错的选择。

3、逻辑结构设计本系统数据库采用SQLServer2005数据库,系统数据库名称为OA_Data。

数据库OA_Data中包含5张表。

数据表有bumf(公文信息表)、department(部门信息表)、eminfo(员工信息表)、job(职位表)、password(用户信息表)。

当主键表中的数据发生改变时,引用这个主键值的字段也随之改变,进而确保数据的一致性和完整性。

第二章背景技术的介绍

2.1J2EE简介

J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletAPI、JSP(JavaServerPages)以及XML技术的全面支持。

1)多平台部署:

可跨平台部署,在安全稳定的大型操作系统Unix上使用。

2)平台应用成熟度高:

J2EE技术发展时间较长,成熟度高,有大量的案例和开发应用。

3)开发思想体系成熟:

RUP,UML,ROSE等于J2EE的结合更紧密,.NET与这类开发哲学不够融合。

4)安全可靠:

J2EE平台的成熟度以及跨平台特性赋予了它安全可靠的天性。

5)开放性:

开源社区丰富,可用的开源框架很多。

现如今的电子商务领域的技术对比:

J2EE平台:

阿里巴巴,淘宝,EBay

.NET平台:

当当网

由于J2EE可跨平台,可以在不同的操作系统下运行,因此系统更具有安全性,此外通过对开源技术的运用还有助于提升自己的技术,并且J2EE平台能和RUP理论很好的结合起来,所以选择J2EE平台是比较理想的选择。

2.1.1架构模式选择

为了实现让系统更加灵活,更具有可扩展性,就必须使系统做到高内聚低耦合,那么降低模块与模块间的耦合呢?

要降低耦合,模块的功能划分尽可能的单一,道理也很简单,功能单一的模块供其他模块调用的机会就少。

那么如何才能做到模块功能化单一呢?

MVC设计模式很好的解决了这个问题。

通过MVC的分层很好的将每一层的职责划分明确。

那么MVC究竟是什么设计模式呢?

MVC包括三类对象:

1.模型(Model)对象:

是应用户层序的主体部分。

2.视图(View)对象:

是应用程序中扶着生成用户界面的部分。

3.控制器(Control)对象:

是根据用户的输入,控制也能过户界面数据显示以及更新Model对象状态的部分。

它们之间的关系和各自的主要功能,如图2.1:

 

 

图2.1MVC结构图

模型对象是软件处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体界面表达和I/O操作。

视图对象把表示模型数据以及逻辑关系和状态的信息及特定形式展示给用户。

它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。

控制对象是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现模型的计算控制,是使模型和视图协调工作的部件。

通常一个视图有一个控制器。

MVC有以下优点:

1.可以为一个模型在运行时同时建立和使用多个视图。

变化-传播机制可以确保所有相关的视图即使得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。

2.视图与控制器的可接插性,允许更滑视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。

3.模型的可移植性。

因为模型是独立于视图的,所以把一个模型独立地移植到新的平台工作。

需要做的只是在心平台上对视图和控制器进行新的修改。

4.潜在的框架结构。

可以基于此模型建立应用程序框架,不仅仅使用在界面的设计中。

总而言之,MVC模式不仅仅实现了功能模块和现实模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。

由此可见,MVC正符合我们设计的需要,它很好的解决了模块间的耦合,提高了系统的可维护性和系统的可移植性。

2.1.2视图层的选择

视图层又叫表示层,表示成的责任是显示,在开源框架里Struts,Struts2,还有JSF都是view,无疑都是很好的选择。

这里我们选择Struts2结合JSTL来实现表示层,简单的介绍一下Struts和JSTL。

Struts2为Apache组织下的一个开源框架,Struts2框架作为Struts1.x框架的替代技术,相对Struts1.x来说,有着本质上的改变,Struts2框架是从WebWork框架发展而来的。

struts2框架技术整合了Struts1.x和WebWork的优点,Struts2框架最大的特点就是简单性,引入了OGNL表达式和值栈的概念,可以是开发者使用简单的代码实现负载的数据访问,Action实现类就是一个标准的java类(POJO),这使得测试工作变得简单。

JSTL是JSPStandardTagLibrary的简写,翻译成中文叫做JSP标准标签库,它也是Apache开源组织开发的JSP标签库。

它是用来显示页面上的变量,它和EL配合使页面上显示参数更为方便,使得页面更符合View层的责任,JSTL可以完全替代页面上的"<%...%>"这些动态脚本,使页面符合HTML的标准。

Struts2以其对JSTL和OGNL(Object-GraphNavigationLanguage)的支持,让我选择了Struts2,因为OGNL能够方便的操作对象,所以很适合用于复杂对象在页面上显示。

2.1.3控制层的选择

控制层的职责是用于处理表示层的请求,表示层向控制层发来请求,控制层再将请求进行转发,转发给逻辑业务层处理,而逻辑业务层处理完反馈给控制层处理的结果,控制层再将结果转发给表示层。

无疑在控制层上Struts2是最合适的,Struts2中的Action提供了非常好的控制机制,通过Struts.xml的配置,就能简单的将页面与Action对应起来,从而Action可以非常方便的接受表示层的数据,然后Action调用逻辑业务层的方法,再根据逻辑业务层的返回结果,Action再返回对应Result,Action再根据Struts.xml里配置的Result将数据转发给对应的表示层。

Struts2的执行原理如图2.2:

图2.2Struts2原理图

在控制层上还可以使用Spring,Spring的AOP(Aspect-OrientedProgrammingAspect-OrientedProgramming)即面向切面编程,为系统的权限控制和系统的日志管理提供了很好的支持,有效的将业务逻辑和功能分开了,从而它很好的与struts2的action形成互补。

2.1.4模型层的选择

模型层封装了问题的核心数据、逻辑和功能的计算关系,它大体上可以划分为两块,一块为上层的逻辑业务,也就是所谓的service层,还有底层的数据访问层,又叫持久层,就是长说道的DAO层。

业务层用来处理系统的那个逻辑业务,也就是业务流程,从程序的角度上来说就是算法,这部分是系统的核心。

这部分能用上Spring的IoC,通过IoC将业务层的对象生命周期进行有效的管理,方便控制层对业务层的调用,那么什么是IOC呢?

IoC(InversionofControl),翻译成中文就是控制翻转,好莱坞有条规则叫做“Don'tcallme,Iwillcallyou."这条规则就是IOC的真实写照,通俗点说就是IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。

这成为控制翻转。

正是因为有了控制翻转,系统才可以不管将来具体的实现,完全在一个抽象层次进行描述和技术架构,这样就是模块与模块之间的耦合度进一步降低,使系统具有良好的可维护性和扩展性。

在spring里IoC又叫做DependencyInject-依赖注入。

Spring通过DI的方式将业务对象交给IoC容器,使控制层只能通过访问IoC来获得业务层对象,无疑这是将系统的耦合性降低,使系统具备了良好的扩展性。

在持久层,Hibernate无疑是实现它的最好选择,在分析之前先简单的介绍一下Hibernate。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate是一个ORM框架,ORM即对象关系映射,在没有ORM这个概念提出以前,我们的编程到最底层时,采用的是其实都是过程化编程,也就是先获取连接,再操作传入SQL,容纳后在执行数据库操作,最后关闭连接,这就是我们原始的模式。

然而我们采用面向对象的编程方式,很显然,采用原始的数据库操作方式是违背了面向对象的思想,那么为什么在ORM没有提出之前,我们没法改变它呢?

原因在于我们的数据库是关系型数据库,实体与实体之前只有关系,没有对象关联,这就是任命常说的主抗不匹配,ORM出来之后,它很好的将对象与关系对应起来,在某种意义上讲JDBC的操作封装起来,而程序员只需要操作对象就可以完成对数据库的增删改查,而这一切只需要调用对应的方法即可。

所有有了ORM,程序员就可以随心所欲的使用对象编程来操纵数据库。

这也是我们选择Hibernate的最主要原因。

第三章管理系统员工管理模块的分析

3.1需求分析

3.1.1功能需求规定

通过相关调查,要求网站具有以下功能;

❑员工通过前台发布和查看公告、公文信息。

❑设置员工信息的添加、浏览、查找功能。

❑通过前台可以查看部门和职位信息。

❑通过后台对部门信息、职位信息进行管理。

❑管理公告信息,查看公文内容。

❑设置后台员工信息的管理模块。

❑通过后台管理员工前台登录账号

❑通过后台实现查看、删除在线员工信息功能。

3.1.2可行性分析

通过办公自动化管理系统对企业日常办公进行管理,满足了企业日常办公管理各方面的的需求,实现了企业员工之间消息的发送与接收功能,大大的方便了企业内部人员沟通。

网站提供的前后台的公告与公文信息的管理方便员工及时的了解公司的动态。

其他功能模块的设置使企业的日常管理步入了科学系统管理的轨道上。

3.1.3故障处理要求

当程序由于潜在的bug或其他原因而导致程序报错的时候,处理的方式是:

(1)、页面自动重定向到error.jsp,并提示“系统内部出现异常,请与管理员联系……”

(2)、后台打印日志,错误日志会一同打印出来,方便及时找到程序错误。

(3)、程序操作数据采用事物管理机制,当操作数据库发生错误时候事物回滚,不会印象之前的数据丢失或篡改。

第四章管理系统员工模块的详细设计

4.1功能模块需求

表4.1添加员工信息处理IPO图

功能编号:

IPO-001

功能名称:

添加员工信息

输入参数:

处理说明:

输出参数:

员工注册基本信息:

employeeid,name,

sex,birthday,learn,

post,department,jobid

tel,addr

系统获取输入的注册信息后验证各个字段,验证通过后保存员工信息进入数据库

无参数输出

表4.2查看员工信息处理IPO图

功能编号:

IPO-002

功能名称:

查看用户信息

输入参数:

处理说明:

输出参数:

无参数输入(系统获取session中employeeid

根据会话session中的employeeid查出当前员工信息

输出用户的基本信息:

employeeid,name,

sex,birthday,learn,

post,department,jobid

tel,addr

表4.3修改用户信息处理IPO图

功能编号:

IPO-003

功能名称:

修改用户信息

输入参数:

处理说明:

输出参数:

name,sex,birthday

tel,post等中的一个或多个

管理员在查出的员工信息基础上更改员工信息,保存后更新数据库对应记录

如果修改正确则跳转到显示员工信息的页面,否则本页面提示验证不通过的信息提示

4.2UML类图

图4.1UML类图

4.3模块结构图

办公自动化管理系统员工管理模块是一个整体模块,在此模块下的功能又可以大致分为三个部分,分别为:

添加员工信息:

系统获取输入的注册信息后验证各个字段,验证通过后保存员工信息进入数据库;

查找员工信息:

根据employeeid查出当前员工信息;

浏览员工信息:

管理员在查出的员工信息基础上更改员工信息,保存后更新数据库对应记录;

结构图如图4.2:

 

图4.2模块结构图

4.3数据流程图

 

 

图4.3数据流程图

4.4模块数据结构设计

在我的员工管理模块中,涉及到四张数据库表,分别为:

员工信息表、员工登录表、员工上下班描述表signstate、员工上下班描述表sign。

eminfo(员工信息表)

员工信息表主要用于保存员工信息。

表eminfo的结构如表B.3所示。

表B.3表eminfo的结构

字段名

数据类型

长度

主键否

描述

employeeid

int

4

员工编号

Name

varchar

20

姓名

Sex

bit

1

性别

birthday

datetime

8

出生日期

learn

varchar

10

学历

post

varchar

10

职称

departmentid

int

4

部门编号

jobid

int

4

职位编号

tel

varchar

电话

addr

varchar

地址

stateid

int

4

状态编号

password(员工登录表)

员工登录表主要用于员工登录信息。

表password的结构如表B.8所示。

表B.8表job的结构

字段名

数据类型

长度

主键否

描述

empoyeeid

int

4

员工编号

password

varchar

20

员工密码

[time]

datetime

8

系统时间

signstate(员工上下班描述表)

员工上下班描述表主要用于员工上下班描述信息。

表signstate的结构如表B.9所示。

表B.9表job的结构

字段名

数据类型

长度

主键否

描述

signstateid

int

4

上下班编号

describestate

varchar

20

上下班名称

[time]

datetime

8

系统时间

sign(员工上下班描述表)

员工上下班描述表主要用于员工上下班描述信息。

表sign的结构如表B.10所示。

表B.10表sign的结构

字段名

数据类型

长度

主键否

描述

signid

int

4

员工上下班编号

[time]

datetime

8

系统时间

employeeid

int

4

员工编号

Late

bit

1

是否迟到

Quit

bit

1

是否下班

leave

bit

1

是否早退

[work]

bit

1

工作状态

signstateid

int

4

外键

4.5系统出错处理设计

4.5.1出错信息

1)系统不稳定

网站时常不能访问,用户无法登陆,这显然是网站服务器系统的不稳定造成的。

作为系统的设计者,应在发布网站前进行充分的效能测试,从而最大程度上避免这种情况的出现。

2)系统性能不好

由于采取的技术和数据库速度及性能较慢的原因,从而导致在购高峰期,同时有大量的用户购票的时候出现登陆和查询航班速度很慢或是根本就无法成功登及结构体系。

在这种结构下,用户仅需通过浏览器就可实现客户端的功能,而大部分的事物逻辑是在服务器端实现。

这样就大大降低了客户端的负载,减轻了系统维护与升级的成本。

4.5.2补救措施

说明故障出现后可能采取的变通措施。

包括:

(1)后备技术。

说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术。

(2)降效技术。

说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录。

(3)恢复及再启动技术。

说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。

第五章管理系统员工管理模块的实现和测试

5.1办公自动化管理系统的实现

在JSP+JavaBean+Servlet模式中,一般使用Servlet接收Http请求,然后执行连接数据库的操作,操作完成后,如果需要,将操作的结果保存在Http请求中,然后把视图派发到用于显示的JSP页。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1