Struts和Hibernate在信息共享平台中的应用与研究

合集下载

梁博 川大工程硕士论文

梁博 川大工程硕士论文

学校办公自动化系统的设计与实现软件工程领域研究生梁博指导老师张蕾随着学校信息化进程的深入,以现代化技术为基础的变革的,学校办公进一步标准化、复杂化,学校办公工作也逐渐更加繁重和繁杂。

怎样运用网络进行学校办公已经变成了必然的选择。

本课题结合学校办公业务处理的流程,在现有学校的计算机系统网络环境的实际状况基础上,就此自动办公系统的功效和其网络运行的结构开展设计研究。

本文讲述了传统学校办公的基础上引入具有个人办公管理、公告管理、公文管理,能充分实现内部信息共享、人员协作与业务监控的学校办公自动化系统的系统架构和设计模式。

学校办公涉及部门多、业务繁杂,本系统采用J2EE作为开发平台的Struts构架和Hibernate的技术B/S模式来完成WEB 的学校办公自动化系统。

本文主要是对系统的架构选择以及设计模式来开展了研讨。

便利的用户图形接口以及java平台无关性,保证了系统的可扩展性和安全性,提升了整个系统的开发效率。

文章的末尾对课题的主要研究内容做出了总结,提出了本系统以后要继续提升和完善之处,对web版学校自动化办公系统的发展再一次进行展望。

本系统已经在学院试用运用,在试运用期间其系统的运行状况较好。

其系统方便高效操作性和跨地域性充分体现Web版的学校办公自动化系统拥有传统的办公管理无法比拟的优点;彻底改变了传统的信息管理单一性、信息封闭性完成了办公管理远程查询及远程处理功效促使学校管理水平、管理质量水平。

关键词:办公自动化MVC技术JA V A B/S 模式The Design and Implementation ofOffice Automation System for SchoolSoftware EngineeringGraduate Student:Liang Bo Adviser: Zhang LeiWith the deepening of the process of schools information technology and the modern technology-based reform, the school office system is more standardized and complex, and the school office work is gradually more arduous and complicated. It has become an inevitable choice that how to use the school office network. This topic combines with school office business process flow, and it bases on the actual situation of the school's computer system in an existing network environment to carry out studies for the effectiveness of this automated office systems and the structure of its network operations.This article describes the traditional school office system based on the introduction of system architecture and design patterns for a personal office management, bulletin management and document management, which can fully realize internal information sharing, collaboration and business personnel to monitor the school office automation system. The system uses J2EE as a development platform and Struts and Hibernate framework technology with B / S mode to complete the WEB school office automation systems because school office involving many departments and complex affairs. This article is a system architecture selection and design patterns to carry out the discussion. Convenient graphical user interface and java platform independence ensure system scalability/security, and also enhance the efficiency of the entire system development. At the end of the article, main contents of the subject make a summary that the proposed system continues to enhance and improve the future of the department, and the development of web version office automation systems is discussed further once again.The system has been applied in college as a trial. During the trial the system runs in good condition. Operability and efficiency of their systems to facilitate cross-regional schools fully reflect the Web version of office automation system has many incomparable advantages compared against traditional office management. It completely changed the traditional unity of information management, information complete closure. It supports remote queries, and remote office management treatment efficacy to promote school management level and management level of quality.Key Words: Office Automatic System MVC Java B/S mode目录1 绪论 (1)1.1系统研究背景 (1)1.2系统研究现状 (4)1.3论文主要研究内容 (6)1.4论文章节安排 (7)1.5 小结 (8)2 系统开发工具介绍 (9)2.1基于B/S的多层体系结构 (9)2.1.1C/S模式的概述和特点 (9)2.1.2 B/S模式的概述和特点 (10)2.2 J2EE架构 (11)2.3 Spring介绍 (14)2.4 Hibernate介绍 (17)2.5 J2EE的MVC系结构 (18)2.6 MySQL数据库 (19)2.7 SSH框架简介 (21)2.8小结 (21)3 系统需求分析 (22)3.1系统总体需求 (22)3.1.1 系统实现目标 (22)3.1.2 系统的业务流程 (22)3.1.3 系统总体结构 (23)3.2系统总体需求 (23)3.2.1 个人办公管理功能 (24)3.2.2 公告管理功能 (25)3.2.3 公文管理功能 (26)3.2.4 常用工具管理功能 (27)3.2.5 系统维护管理功能 (28)3.3小结 (29)4 系统设计 (30)4.1系统总体设计 (30)4.1.1 系统总体流程设计 (30)4.1.2 系统的设计原则 (31)4.2 系统功能模块设计 (31)4.2.1 登录模块的设计 (31)4.2.2 个人办公管理模块的设计 (32)4.2.3 公告管理模块的设计 (33)4.2.4 公文管理模块的设计 (34)4.2.5 常用工具管理模块的设计 (35)4.2.6 系统维护管理模块的设计 (36)4.3 数据库设计 (36)4.4小结 (39)5 系统实现 (40)5.1 数据库连接的实现 (40)5.2 登录模块的实现 (42)5.3 个人办公管理模块的实现 (43)5.4 公告管理模块的实现 (44)5.5 公文管理模块的实现 (46)5.6 常用工具管理模块的实现 (50)5.7 系统维护管理模块的实现 (52)5.8小结 (55)6 系统测试 (56)6.1 系统测试计划 (56)6.2 测试用例 (57)6.3 测试结果 (62)6.4小结 (63)7 结论 (64)参考文献 (65)作者在读期间科研成果简介 (67)声明 (68)致谢 (69)1 绪论面对当今高效率高节奏的社会活动,社会的各个角落都要求提高运行效率,从生产到生活,从地方到国家,都要求自动化管理和自动化运营。

hibernate的基本用法

hibernate的基本用法

hibernate的基本用法Hibernate是一个开源的Java框架,用于简化数据库操作。

它为开发人员提供了一个更加简单、直观的方式来管理数据库,同时也提高了应用程序的性能和可维护性。

本文将逐步介绍Hibernate的基本用法,包括配置、实体映射、数据操作等。

一、配置Hibernate1. 下载和安装Hibernate:首先,我们需要下载Hibernate的压缩包并解压。

然后将解压后的文件夹添加到Java项目的构建路径中。

2. 创建Hibernate配置文件:在解压后的文件夹中,可以找到一个名为"hibernate.cfg.xml"的文件。

这是Hibernate的主要配置文件,我们需要在其中指定数据库连接信息和其他相关配置。

3. 配置数据库连接:在"hibernate.cfg.xml"文件中,我们可以添加一个名为"hibernate.connection.url"的属性,用于指定数据库的连接URL。

除此之外,还需要指定数据库的用户名和密码等信息。

4. 配置实体映射:Hibernate使用对象关系映射(ORM)来将Java类映射到数据库表。

我们需要在配置文件中使用"mapping"元素来指定实体类的映射文件。

这个映射文件描述了实体类与数据库表之间的对应关系。

二、实体映射1. 创建实体类:我们需要创建一个Java类,用于表示数据库中的一行数据。

这个类的字段通常与数据库表的列对应。

同时,我们可以使用Hibernate提供的注解或XML文件来配置实体的映射关系。

2. 创建映射文件:可以根据个人喜好选择使用注解还是XML文件来配置实体类的映射关系。

如果使用XML文件,需要创建一个与实体类同名的XML文件,并在其中定义实体类与数据库表之间的映射关系。

3. 配置实体映射:在配置文件中,我们需要使用"mapping"元素来指定实体类的映射文件。

Struts和Hibernate整合框架研究与应用

Struts和Hibernate整合框架研究与应用

第3 期
李雷孝等
Srt和 Hi rae t s u b nt 整合框架研究 与应用 e
17 8
示 , 质上 是负 责处 理系统 的业 务 逻辑 和 访 问底 层 数 据 库 。视 图 负责 接 收 客户 端 用 户 数 据 和返 回后 台 本
处理 的响应 结果 数据 给用 户 。配置 文 件 s u t t of . m 用 于定 义框 架 中各 个 对 象之 间 的关 系 , 框 r s—cn g x l i 将
架进行 应用开发实践 , 有效地解决了传统 Jv b aaWe 应用开发 中存在 的系统扩展性 差、 可维护性差等 问题 , 应用 系统正在实 际中推广使用 。
关 键 词 : rsHbra , S u , i n t 整合框架 , tt e e 教材管理
中 图分类 号 : P 1 文献 标识 码 : T 1 3 A
内蒙 古工 业 大学 学 报
J OuR NAL OF I NER MO N NGOL A I

UNI VERS Y Ⅱ OF ECHN0I CY r D
Vo . 9 1 2 No 3 Ol . 2 O
文章 编号 :0 1— 17 2 1 )3— 0 5— 5 10 5 6 (0 0 0 0 0 0
1 Srt 框 架 t s u
Srt 架 构是 MV t s u C设 计模 式 的一种 实现 , 它将 S r e 和 JP标记 ( e lt S v 属于 JE 2 E规范 ) 用作 实现 的一部 分 。S us 承 了 MV t t继 r C设计 模式 的各项 特性 , 并根 据 J E 2 E的特点 , 了相应 的变化 与扩 展 。 做 Srt 框架 体 系结构 如 图 1 示 。其 中 A t n rl 作 为主控 制器 由 Srt框 架本 身提供 , t s u 所 c oS v e ie t ts u 系统 所有

Struts、Spring、Hibernate三大框架的原理和优点

Struts、Spring、Hibernate三大框架的原理和优点

Struts的原理和优点.Struts工作原理MVC即Model—View—Controller的缩写,是一种常用的设计模式。

MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。

MVC的工作原理,如下图1所示:Struts 是MVC的一种实现,它将Servlet和JSP 标记(属于J2EE 规范)用作实现的一部分。

Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展.Struts的工作原理,视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP 标签库: Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。

控制:在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。

ActionServlet是一个通用的控制组件。

这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。

它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。

另外控制组件也负责用相应的请求参数填充Action From(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。

动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。

最后动作类把控制权传给后续的JSP 文件,后者生成视图。

所有这些控制逻辑利用Struts-config.xml文件来配置。

模型:模型以一个或多个java bean的形式存在。

这些bean分为三类:Action Form、Action、JavaBean or EJB.Action Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。

Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等。

基于Struts Hibernate Spring架构的软件开发

基于Struts Hibernate Spring架构的软件开发

基于Struts Hibernate Spring架构的软件开发摘要:近年来,随着信息技术应用于各行各业,尤其是企业信息化建设的不断发展,构建了基于Web的技术系统之上。

对于当今复杂多变的市场环境,发展壮大信息技术需要考虑他的伸缩性强、扩展性好、重用性高和易维护、易管理的特点,使得Web技术发展成为现当代的热点。

Struts Hibernate Spring三大框架(SSH)主要应用于大型项目。

只有大项目才能体现出SSH的优势。

关键词:Struts Hibernate Spring 构架软件开发随着信息技术的发展需要,构建基于Web的应用系统的需求,从而使Struts Hibernate Spring结构结合,形成对Web的新应用。

1 Struts Hibernate Spring原理概述Struts就是一个MVC模式的框架,它就是将业务代码与视图代码分离,有效地优化系统结构,提高系统的扩展性,降低系统复杂度与维护难度。

Hibernate是一个对象关系数据库映射工具,通过Hibernate的使用,能够很好地解决面向对象编程语言与关系数据库一起使用可能带来的种种麻烦,使得程序设计人员可以减少对关系数据模型的依赖,致力于业务逻辑的开发。

Spring框架的使用将J2EE层次结构中的业务层分离为业务逻辑层和数据持久层,这样业务逻辑便交给Spring处理,而数据访问则交给Hibernate处理,使得层次结构更加清晰。

1.1 StrutsStruts在MVC模块中本原来就是负责将用户数据传入业务层,以及将业务层处理的结果返回给用户,此系统属于较简单Web应用,主要作用在于在用户视图中使用get,set方法来方便地获取关联对象。

1.2 SpringSpring Framework最主要的作用在于与Hibernate的无缝链接,虽然Spring 对Hibernate提供了90%以上的封装,使我们不必去关心Session 的建立,关闭,以及事务使我们能够专心的关注业务逻辑。

Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例

Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例

前言:这个例子的view层用到了struts,DAO层用到了hibernate,由于逻辑及其简单(只是往数据库添加一条记录),所以暂时没有用到spring。

一、使用eclipse+struts+spring+hibernate+myeclipse+mysql开发配置过程。

1.jdk的安装:安装文件:jdk-1_5_0_15-windows-i586-p.exe说明:最好用jdk1.5,可以去sun主页下载,我这里已经下了,可以提供。

注意:最好在新装系统下安装,并且此前没有装过java相关的软件,以免出现版本或者path问题。

过程:可以直接安装到c盘根目录下即可,注意要记住安装路径,以后可能会用到。

2.web应用服务器tomcat的安装:安装文件:apache-tomcat-5.5.26.exe说明:要想构建jsp应用,web应用服务器是必须要有的,asp服务器为IIS,php服务器为Apache,jsp服务器比较多有weblogic和websphere(两者是商业级的,比较强大,但要收费),tomcat和resin(免费的,比较适用中小级应用,如果是大型应用则须考虑集群)。

在这里,我选用tomcat,因为它使用较广泛,网上相关的资料也比较多。

我并没有选择最新版本,原因是次新版本往往比最新版本更加稳定。

注意:必须先装jdk,否则不能安装tomcat(原因之一是tomcat在对jsp进行编译时用到了jdk,并且jdk是tomcat正常工作的前提)。

过程:可以直接安装到c盘默认路径,选择前面安装的jdk路径,并且修改端口8080为80(tomcat默认端口为8080,而一般我们通过IE访问时端口为80,需要注意的是要保证没有其他程序已经占用80端口(比如你已经装了iis或者apache),否则tomcat不能正常启动),控制台页面的管理员admin帐号暂时不设置密码。

测试页面http://127.0.0.1,检测是否安装成功,如果进入欢迎页面就表示tomcat安装成功。

基于Spring+Struts2+Hibernate的软件行业管理系统的实现

基于Spring+Struts2+Hibernate的软件行业管理系统的实现
架构 。 Sr g pi 是一个非常活跃 的开源框架 , n 它是一个 基于 I C和 O AO P来构架多层 JE 2 E系统的框架 。S r g不强迫开发人员在 pi n 每一层必须使用 S r g 因为它在模块 化方 面做得非常好 , pi , DA0 层
用性 。
数据 源燧 接 池
‘ Srt2 为经典的 MVC设计模式 的一种具 体实现 , tus 作 是建 立在 当前动态 网站 设计领 域 中 J P S rl 、 ML等相关 开发 S 、 eve X t
技 术 基 础 之 上 的 一 种 主 流 开 发 架 构 。Srt tus为 W e 用 提 供 b应
射到数据库 中的数据表 , 然后通 过操作 P )0对数 据表 中的数 ( J
图 1 系 统 的整 体 架 构 方 案
了通用的框 架, 让开发人 员可 以把 主要精力集 中在业务 处理方 面 。Srt 有 自己的控 制器 , t s u 同时整 合 了模 型层 和视 图层 的技 术, 实现 了真 正的 MVC设计 模式 , 大地 节约 了开发 人员 的 极 时间。 Hient 框架 自 20 年发布 以来 , brae 01 经过 几年 的发展 已经

合 / 13 9
基于Srg Su2 ira 的软件行业管理系统的实现 pn+ l I+Hb nt i rs e e
谭芳芳
摘 要 :pi 、tusHient 是 近 来 在 JE 开发 中的 主 流 S r g Sr t、 brae n 2E 框 架 , 文 介 绍 了三 种框 架 的 工 作 原 理 , 将 S r g Srt2和 本 并 pi 、 tus n Hien t 三 种 框 架进 行整 合 , 计 了软 件 行 业 管 理 系 统 , 括 brae 设 包 人 员管理 、 计划管理 、 务管理 、 任 权限管理 等服务 。 关键 词 :pig Srt2 Hient; 件 行 业 管理 系统 S r ;tus ; brae软 n 中 图分 类 号 : 13 1 文 献 标 识 码 : F 2.6 A 文章 编 号 : N 3 l2 / (O O 0 —1 3 1 C 4 一 O 7F 2 l ) 3 9 —0 作 者: 湖南科技职业学院软件 学院; 湖南 , 沙,10 0 长 4 0 0

Struts和Hibernate框架在OA中的应用

Struts和Hibernate框架在OA中的应用

科技资讯科技资讯S I N &T NOLOGY I NFORM TI ON 2008NO .07SC I ENCE &TECH NO LOG Y I NFOR M A TI O N I T 技术随着应用系统规模和复杂性的增长,人们深刻地认识到优良的开发框架不仅可以提高系统开发的效率、系统的可扩展性和易维护性。

St r ut s 框架是M VC 设计模式在J2EE 平台的上的一种具体实现,实现了多层系统间的松散耦合,提高了系统的灵活性和复用性[1]。

但St r ut s 对于模型部分的实现不太理想。

H i -ber nat e 是一个开源的O /R M appi ng 框架,对Ja va 对象持久层的轻量级封装,简化了数据持久化编程任务。

1S t r ut s 框架工作原理St r ut s 由一组相互协作的类、Ser vl et 、标记库等构成,通过自己的控制器和一些技术实现M V C 模式中的M ode l 层和Vi e w 层[2],它的原理图如图1所示[1]。

St r ut s 构架主要由三个部分组成:(1)模型:由Ja vaBea n 实现。

在A c t i on 中执行商务逻辑,返回A c t i onFor war d,由控制器转发。

Ac t i onFor m 类则把J SP 页面的f or m 域自动封装成为一个A c t i onFor m 对象。

(2)视图:用JSP 来创建。

在JSP 文件中,包含扩展自定义标签,通过这些自定义标签可以很好地和系统的模型交互,简化J SP 页面的代码,灵活运用它们可大大提高开发效率。

(3)控制器:主要组件是A ct i onSer vl et ,它主要负责接受来自客户端的请求,决定执行什么业务逻辑功能,然后将产生下一步用户界面的责任委派给一个适当的Vi ew 组件。

通过配置文件st r ut s-conf i g.xm l 中定义来进行控制转发的,主要包括一组映射,每个映射定义一个与所请求的URI 相匹配的路径和一个Ac -t i on 类的完整类名,由A ct i on 类来负责执行预期的业务逻辑,然后将控制分派给适当的V i ew 组件来创建响应。

程序员实习日记

程序员实习日记

程序员实习日记程序员实习日记范文大全程序员实习日记一今天就简单聊聊上面的Struts+Spring+Hibernate吧。

Struts 代表:表示层;Spring代表:业务逻辑层;Hibernate则代表持久层。

他们是目前在Java Web编程开发中用得最多的框架,其实这样区分是为了适应软件开发过程中各个分工部门之间保持一致性的需要。

说得简单点就是大家都在一个模式下写代码,这样就能保证写出来的程序能被每一个人都能够读懂,而且有些基本的东西它可以自动帮你生成,不用你自己一个一个的敲了,达到了代码复用。

这样保证可读性的同时也提高了开发效率,从而降低了成本。

Struts这个框架其实就是Java MVC设计模式中(简称Model1与Model2)Model2的一个具体实现,Spring 则通过提供ICO(控制反转,也称依赖注入)实现了对对象甚至事务(如声明式事务)的集中管理,此外还引入了AOP(对向切面编程),当然也完全兼容其它框架。

Hibernate吗,就是一个实现对象与关系映射的中间件,大家知道,现在的主流数据库还是关系型的,但编程却已经采用了面向对象的思想,如何让编程人员能像操作对象一样,操纵数据库里的数据呢?Hibernate就是这样一种框架。

以前Java程序员与数据库打交道都是通过JDBC,还要写 SQL语句,不过Hibernate 彻底改变了这一切,它在JDBC之上又作了一次封装,从而实现了不用写SQL语句就可以实现操作数据库。

值得提醒的是,这三个框架都是轻量级的,没有侵入性或者侵入性很低,不像EJB这样的重量级框架,它们都能最大限度的.实现代码的可复用。

程序员实习日记二又是一个雨天,早上上班时间还下得很大,就没起床了。

直接电话向经理请了假,说是头痛下午再过去了,还好经理爽快的答应了,要不一去就会露馅现出原形的!上午上网,下载了三个网站源码,本想找个部署运行看下效果,结果一看,后台数据库全不一样:分别使用了三个不同的数据库(SQL Server2000、Oracle、Mysql),很是无奈。

Struts+Spring+Hibernate整合入门详解

Struts+Spring+Hibernate整合入门详解

3、运行eclipse,选择一个空目录作为工作区(工程结构如下:其中我们要写的Java代码在Java Resource: src(以后直接称src)下,网站根目录内容在WebContent下,类所在根目录是WEB-INF/classes,Eclipse 会自动将build/classes里面已经编译的类同步过去。

向WEB-INF下的lib目录添加如下所列的jar包。

(1)这些包在下载解压后Spring,Struts,Hibernate的lib目录或者dist/module目录下面(如果不在,可以到网上google一把。

列表中mysql-*.jar包是MySQL数据库的JDBC Driver)。

也可以把所有lib和dist 下的jar包拷贝过来(可以在系统复制这些jar包,然后到Eclipse里面选中WEB-INF里面的lib包,然后粘帖就可以了)。

但要注意全拷贝可能会存在冲突,如struts*plugin.jar等包不能引入,否则不能运行。

(2)这些Jar包是:antlr-2.7.2.jarcglib-nodep-2.1_3.jarcommons-beanutils-1.6.jarcommons-chain-1.1.jarcommons-collections-2.1.1.jarcommons-dbcp.jarcommons-digester.jarcommons-logging-1.0.4.jarcommons-logging-api-1.1.jarcommons-pool.jarcommons-validator-1.3.0.jardom4j-1.6.1.jarel-api.jarel-ri.jarfreemarker-2.3.8.jarhibernate3.jarjsf-api.jarjta.jarmysql-connector-java-3.0.14-production-bin.jarognl-2.6.11.jaroro-2.0.8.jarspring-hibernate3.jarspring.jarstruts-config.xmlstruts-core-1.3.5.jarstruts2-codebehind-plugin-2.0.9.jarstruts2-config-browser-plugin-2.0.9.jarstruts2-core-2.0.9.jarstruts2-jasperreports-plugin-2.0.9.jarstruts2-jfreechart-plugin-2.0.9.jarstruts2-jsf-plugin-2.0.9.jarstruts2-pell-multipart-plugin-2.0.9.jarstruts2-plexus-plugin-2.0.9.jarstruts2-sitegraph-plugin-2.0.9.jarstruts2-sitemesh-plugin-2.0.9.jarstruts2-spring-plugin-2.0.9.jarstruts2-struts1-plugin-2.0.9.jarstruts2-tiles-plugin-2.0.9.jartiles-api-2.0.4.jartiles-core-2.0.4.jartiles-jsp-2.0.4.jarindex.jsp的内容如表,我们暂时不分析。

基于Struts,Hibernate和Spring的J2EE架构研究

基于Struts,Hibernate和Spring的J2EE架构研究

基于Struts,Hibernate和Spring的J2EE架构研究作者:赵洋张丽王恩东张素宁来源:《现代电子技术》2009年第02期摘要:介绍Struts,Hibernate和Spring三个开源框架及它们对MVC设计模式的实现,阐述如何更好地将三者结合起来构建一个健壮、高效、易于扩展的J2EE分层架构,并给出该架构的结构图,分析它的优缺点,并且通过网上购物系统给出了这一框架的实现。

关键词:Struts;MVC;Hibernate;Spring;J2EE;购物系统中图分类号:TP311.52文献标识码:A文章编号:1004 373X(2009)02 107 04Research of J2EE Based on Struts,Hibernate and SpringZHAO Yang,ZHANG Li,WANG Endong,ZHANG Suning(Shenyang Institute of Chemical Technology,Shenyang,110042,China)Abstract:Three frameworks of Struts,Hibernate and Spring are introduced.The implement for MVC model based on the three frameworks is introduced.How to use the three frameworks more efficiency in building a strong,high efficiency and easy expanded J2EE,and the picture of this framework is given.The advantages and disadvantages are analyzed.Finally,the online shopping system,which is based on this framework is realized.Keywords:Struts;MVC;Hibernate;Spring;J2EE;shopping system0 引言目前,为了降低成本及开发系统的复杂性,加快应用程序的开发和设计,面向企业应用的体系结构J2EE 平台,提供了一种基于组件的方法,对于一个多层的应用模型根据功能将其应用逻辑划分成组件。

日记作文之计算机教师实习日记

日记作文之计算机教师实习日记

计算机教师实习日记【篇一:计算机毕业实习日记34篇】实习日记一20010-4-1星期四实习的第一天,感觉心里空空的,毕竟昔日在学校的作息时间,一下子被工作所取代,还真有点不适应。

其实在此之前我也作好了进入社会的准备,以前经历过一次毕业,现在总比第一次毕业时“无所适从”的感觉要好很多,心态也放得更为平和。

如果真要说点与众不同的话,那就是明显感觉到:多了一些信心与实在。

二2010-4-2星期五今天下班后回宿舍上机调试程序,一个java网站,用tomcat作服务器,在被浏览器加载的时候总是无法显示出来,页面提示出错信息:500错误。

到服务器日志查找原因,有一个“数据加载失败”的提示。

数据库用的是sql server2000,原以为是tomcat配置文件的问题,到网上查了很多相关资料,改了又改一直没搞定,头都大了,一直到12点才郁闷的关机睡觉!三2010-4-5星期一工作也两三天了,员工也已熟悉,可惜他们都不是编程高手,要不我就可以直接向他们问一些我在做网站时遇到的难题了。

唉,谁叫我找一个与专业不怎么相干的单位来实习呢!可说归说,事还得做:与客户交谈,打电话询问相关事宜,遇到好心的客户还好,不会刁难你,要是来了一个挑三检四的就不好应付了,至少你得耍点小聪明,当然不能惹客户不高兴,要不过后会接到老板的“呼叫”的。

其实最简单的对付办法也很简单:你只管顺着客户的意思,点头即可!四2010-4-6星期二最近到网上找了些视频资料,看后很过瘾,可看归看,一动手写代码就伤神了。

忘说内容了,其实看的就几个与java编程相关的开源框架(struts+spring+hibernate)而已,不过涉及到的东西就多了,开发平台用的是eclipse+myeclipse,这个还好应付,装上设一下环境变量就搞定,跟jdk差不多。

难的是在这之上的插件的应用,要知道开源的东西特多,很多其实多差不多,但你却不得不花时间去了解,而且版本的兼容性问题有时会让你不知从哪处理是好。

Struts2.5+Hibernate3.1+Spring应用开发实例(图)

Struts2.5+Hibernate3.1+Spring应用开发实例(图)

Struts2.5+Hibernate3.1+Spring应用开发实例.(Hibernate和Spring是新的知识点,先单独强化,然后再整合训练)任务一:Hibernate(10课时)该任务包括两个部分内容一是Hibernate的基础知识,二是实际完成一个Hibernate应用。

要求:掌握Hibernate的基础知识,掌握开发Hibernate应用的方法。

任务二:Sping(10课时)该任务包括两个部分内容一是介绍Spring的基础知识,二是完成一个Spirng 应用。

要求:掌握Spring的基础知识,掌握开发Spirng应用的方法。

任务三:Hibernate和Spring的联合开发(8课时)使用Hibernate和Spring框架完成Java应用开发要求:掌握使用Hibernate和Spring框架开发Java应用程序的过程。

任务四:基于Struts+Hibernate+Spring的网上购物系统开发(28课时)结合Hibernate和Spring改写《Java Web 应用开发项目教程》的前台要求:掌握使用Struts+Hibernate+Spring框架开发网上购物系统的方法实训要求:1.每位同学独立完成2.每部分内容按时提交代码和学习报告(总成绩由每次的节点成绩统计获得)软件环境需求:1.操作系统:WindowsXP2.数据库及驱动程序:Microsoft SQLServer 2005 JDBC3.JDK: JDK64.IDE:MyEclipse7.05.服务器:Tomcat6.0任务一Hibernate1.1Hibernate基础知识1.Hibernate简介Hibernate是一种Java语言下的对象-关系映射解决方案,它是一种自由、开源的轻量级框架,用于将面向对象的对象模型映射到传统的关系数据库中。

Hibernate对JDBC进行了轻量级的对象封装,不仅提供从Java数据类型到SQL数据类型的ORM映射,还提供数据查询和数据缓存功能,大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间,使得Java程序员可以完全使用面向对象的编程思维通过Hibernata API操作关系数据库。

《软件工程》课程设计范例

《软件工程》课程设计范例

《软件工程》课程设计题目 C语言在线考试系统的设计与实现学生姓名学号院系计算机与软件学院专业指导教师文学志二O年月日目录1.绪论 (1)1.1.C语言在线考试系统概述 (1)1.2.C语言在线考试系统的可行性分析 (1)1.2.1.经济可行性 (2)1.2.2.技术可行性 (2)1.2.3.社会可行性 (3)2.相关技术介绍 (3)2.1.B/S/S体系结构 (4)2.2.Java Server Pages (4)2.3.Struts (5)2.4.Hibernate (6)2.5.MySQL (6)2.6.Tomcat Web服务器 (7)3. 系统的需求分析 (7)3.1.系统的功能需求 (7)3.2.系统的模块划分 (9)4. 系统的设计 (10)4.1.系统的概要设计 (10)4.1.1.系统的总体结构 (10)4.1.2.系统数据库设计 (11)4.2.系统主要模块的详细设计 (20)4.2.1.试题管理模块设计 (20)4.2.2.考试管理模块设计 (21)4.2.3.在线考试模块设计 (22)4.2.4.答卷自动评分模块设计 (23)5.系统主要模块的实现 (25)5.1.创建项目 (25)5.1.1.开发环境的搭建 (26)5.1.2.系统的整体框架 (27)5.2.试题管理模块的实现 (28)5.2.1.创建持久化类和数据库访问相关类 (28)5.2.2.创建Struts相关类 (30)5.2.3.创建表示层JSP文件 (31)5.3.考试管理模块的实现 (33)5.3.1.初始种群的生成 (34)5.3.2.适应度值的计算 (34)5.3.3.选择(Select) (35)5.3.4.交叉(Crossover) (36)5.3.5.变异(Mutation) (37)5.4.在线考试模块的实现 (38)5.4.1.倒计时子模块的实现 (38)5.4.2.故障延时子模块的实现 (39)5.5.答卷自动评分模块的实现 (42)6. 系统的测试 (44)6.1.系统的测试环境 (44)6.2.系统的测试用例设计 (45)6.3.系统的测试结果 (47)6.4.系统的测试分析 (48)结束语 (48)参考文献 (48)致谢.................................. 错误!未定义书签。

软件架构与设计实验报告

软件架构与设计实验报告

员工打卡系统分析一、实验目的:通过运行并分析实验材料员工打卡系统,了解并初步学习javaweb中的三个开源框架strust,hibernate,spring以及这三个框架的整合。

实验环境:1,windows XP或win7操作系统2,Myeclipse或eclipse开发工具3,mysql数据库4,Tomcat服务器5,IE 6.0或其他浏览器二、实验内容:1,运行mysql数据库,导入资料中的mysql.sql文件并建立数据库hrsystem。

2,部署员工打卡系统HRSystem_Eclipse,运行服务器Tomcat,在IE中访问员工打卡系统,分析这个系统的功能。

3,分析该系统源代码的结构。

4,分析该系统的工作流程。

三、实验步骤:1 建立数据库:运行mysql,输入source E:/mysql.sql; 命令行建立数据库hrsystem数据库建立成功。

2部署并运行员工打卡系统系统:第一步,部署该系统第二步,运行Tomcat第三步,在浏览器中输入http://localhost:8080/HRSystem/login登录系统用员工用户登录的效果如下图:用经理用户登录的效果如下图:该系统的功能主要有:员工:打卡,查看自己打卡情况,查看自己历史工资经理:打卡,查看自己历史工资,查看本部门员工资料与工资情况,添加本部门新员工,查看上月部门中每个员工的工资情况3 系统代码结构分析源代码整体结构如下:A,src文件的结构如下:ehcache.xml是内存管理配置文件。

properties后缀的文件是资源文件,里面定义了页面上会出现的各种提示信息或报错信息,其中包括中英文两个版本,是为了实现strust的国际化而生成。

struts.xml是struts的基本配置文件。

各个包将相关的java文件包括在一起,其中:action中包含的文件作用是处理系统中各种动作,控制每种动作的处理和跳转,它是为配合struct使用而使用的;action.authority中包含的文件作用是得到两种过滤器,过滤是员工还是经理发出的动作;action.base中包含的文件作用是设置动作产生者对象;dao中包含的文件作用是生成动作与数据库交互的类的接口;dao.base中包含的文件作用是实现HibernateDao对数据分页处理的支持;dao.impl中文件的作用是是实现dao中的接口并生成具体的数据交互处理;exception中文件的作用是生成自定义异常;model中文件作用是生成hibernate与数据库交互的数据对象,其中hbm.xml 后缀文件是hibernate与数据库对应的映射配置文件,是为了实现hibernate框架支持;schedule中文件的作用是调度系统自动打卡;service中文件的作用是实现业务处理接口;service.impl中文件的作用是实现具体业务处理;vo中文件的作用是生成页面与hibernate交互的对象;web中文件的作用是生成验证码;(2),WebRoot中主要是页面文件资源,它的文件结构如下:images文件中存放的是网页需要用到的图片资源;jsp文件中存放的是系统中各个页面的源文件;lib中存放的是各个框架以及连接数据库的jar包;applicationContext.xml是Hibernate的基本配置文件;daoContext.xml是Spring的基本配置文件;(3),其他各个Library是建工程时Eclipse自动生成或手动导入的,是最基本的java的jdk和j2ee库,就不做说明。

基于j2ee技术的Web应用

基于j2ee技术的Web应用

基于j2ee技术的Web应用倪礼豪(*****************************,浙江**)摘要J2EE和DotNet框架是实现Web应用的两个极具竞争力的开发平台,J2EE 技术在大型应用系统的研发过程中有重要的意义、合理的分层、采用恰当的设计模式可起到解耦合降低系统复杂度的目的。

struts、hibernate、spring三个框架及中间件的结合使用既实现了业务逻辑与控制逻辑的有效分离,提高了层次结构的清晰度,提高了复用的粒度降低了开发代价和维护代价,同时保证了软件的质量使其更具有鲁棒性和可维护性。

关键词 web应用;j2ee;开发平台;软件构架;中间件中图法分类号 TP311J2ee technology in Web-based applicationnilihao(************.,Zhejiang **)Abstract Both J2EE and DotNet framework are web applicationdevelopment platforms with very competitive technology. J2EE is better in the developing of mission-critical systems. It has important meaning, reasonable grades. Using appropriate design patterns can be good for reducing system complexity. Struts, hibernate, Middleware Framework and the combined using of three spring can implement the effective separation of the business logic and control logic, improve the clarity of the hierarchical structure. Improved rehabilitation can be used to reduce the size of the development costs and maintenance costs, ensure the quality of software and make software more robust and maintainable.Keywords: Web Application; J2EE; Development Platform; Software Truss; middleware0 引言商业需求刺激了分布式计算和电子商务的发展,编程技术的日益成熟和网络的不断普及与完善,直接导致了基于web的应用以一日千里的速度发展。

Struts与Hibernate框架的集成在考试系统中的应用①

Struts与Hibernate框架的集成在考试系统中的应用①

Struts与Hibernate框架的集成在考试系统中的应用①摘要:基于Web的网上考试系统,实现了学生网上考试和教师网上判卷的交互平台,提高了考试的效率,降低了举办考试的时间和成本。

本文介绍了MVC体系结构下的Struts和Hibernate框架的集成系统在考试系统中的应用。

关键词:软件体系风格Struts体系结构Hibernate框架网上考试系统1引言在线考试系统首先体现出它是由计算机来代替人工完成考试中需要完成的一系列任务,达到考试智能化。

计算机可以迅速地批改试卷,大大地提高了教师分析试卷的效率。

Struts架构将具体实现模型Model,用户应用界面View和控制方式Controller分离。

Hibernate提供了一个符合面向对象编程思想,易于使用的数据库持久化方案。

2软件体系风格软件体系结构设计的一个特点是使用成熟的体系结构风格。

所谓软件体系结构风格是一个软件系统组织结构框架,以此框架结构构件的软件系统具有相同的结构级组件、连接器类型和结构约束规约。

从组建与连接器类型、结构框架、风格基本特征、典型实例等方面剖析典型的成熟的软件体系结构风格有:(1)管道-过滤器;(2)数据抽象与面向对象;(3)事件驱动与事件激发;(4)客户机/服务器结构;(5)知识库结构;(6)虚拟机结构等。

基于Web应用的系统模型主要从事件驱动与事件激发和客户机/服务器结构软件体系结构中改进过来形成了浏览器/服务器结构。

事件驱动与事件激发体系结构的优点主要是对软件重用的有效支持和对软件系统可进化的支持。

3MVC软件体系结构MVC体系结构的关键是实现了表示与数据的分离,将软件对象分为以下三类。

Model类。

它是应用软件的数据和商业逻辑的抽象,商业逻辑用来控制数据的访问和修改。

在多层应用中,Model由EJB实现。

View类。

它用来呈现Model的内容,决定如何把数据表示出来,当Model改变时,View要跟着改变,以维持数据的一致性。

基于struts2和hibernate的毕业设计管理系统的设计

基于struts2和hibernate的毕业设计管理系统的设计

基于St r ut s2和H i ber nat e的毕业设计管理系统的设计张7婵肖云波严思静(湘潭职业技术学院,湖南湘潭411102)哺要】根据高职院校毕业设计的工作演.程要求和特点,设计并实现了基于st rut s2和H i bem at e的毕业设计管理系统。

本系统采用多层体系结构,有效的整合s cm t S2和H i ber na t e框架,实现了毕业设计的网E选题、网上指导、信息发布、资料E传下载等功能,为教师、学生和教学管理部门提供一个毕业设计管理信息的交流平台。

:巨锺阑】St r ut s2;H i ber nat e;毕业没计管理系统;用例图,.,.,,,、≤t’‘.j,/一。

+-?,1引言毕业设计是人才培养的一个综合性教学环节,这项工作时间要求紧,涉及面广,再加上毕业设计期间学生外出实习,影响了毕业生与学院、指导教师之间的及时指导和沟通,给此项工作带来一些难度。

基于以上原因,本文提出设计的基于St rut s2和H i be rnat e的毕业设计管理系统,能够将从毕业生设计选题、论文指导、答辩到成绩汇总统计等环节在W eb上实施,毕业生可以在互联网上很方便地使用本系统,指导教师也可以在网上向毕业生下达毕业设计的各项任务,实现了对毕业设计诸多环节的在线信息化处理,为毕业设计管理工作提供了一种新方法。

2系统设计21系统总体功能设计整个系统共分为4类用户:超级管理员、各院系教务秘书、教师、学生。

每类用户设置不同的访问权限,用户登录后只能访问自己权限内的系统功能模块。

不同级别的用户从登录页面成功进入管理系统后,将进^不同的页面,实现不同的功能。

2”教师用户功能可以实现注册、修改个^信息、查看通知、在线留言、毕业设计题目添加、查询、删除与修改的管理,教师可以对学生选题结果查询及管理。

指导教师可查看选题结果,包括选题学生的详细信息,以及对学生的确定与修改操作,给出学生答辩成绩。

2_12学生用户功能学生可以实现个人信息的注册和修改、查看通知、在线留言;能够查询教师的详细信息:查询所有的毕业设计题目和选择毕业设计题目:学生也可以对所选题目进行退选操作等。

struts2 实验报告

struts2 实验报告

1.系统分析与设计1.1系统功能描述本系统是个非常简单的注册、登录系统。

本系统的实现是基于Struts2、Spring、Hibernate三个框架,系统功能单一,业务逻辑简单。

当用户注册信用户时,就是向系统中增加一个新用户,对应的数据库增加一条记录。

当用户输入注册信息时,系统提供了基本的输入验证判断用户输入是否合法,只有当用户输入满足基本输入要求时,才会被提交到实际的登录系统,进行实际的登录处理。

系统还使用了随机产生的图形验证码来防止刷新,防止用户通过单击浏览器的书安心按钮来重复注册多个用户。

系统还提供了一种Ajax方式来验证用户输入的注册名是否有效,系统要求所有的用户名不能重复。

故当用户输完用户名后,系统立即在页面上方提示用户该用户名是否可用,如果系统中没有该用户名,则系统提示该用户名可用;否则提示用户该用户名重复,用户必须重新选择用户名注册。

当用户注册一个新用户名之后,就可以使用系统的登录功能来登录系统了,用户输入登录用的用户名、密码后,系统一样提供了基本的输入校验。

除此之外,系统还采用了随机产生图形验证码来防止恶意用户的暴力破解,系统随机生成一个图形验证码,而用户登录必须输入图形验证码中显示的字符串,只有用户输入的字符串和系统随机生成的验证码字符相同时,系统才允许用户登录。

1.2系统功能流程处理用户注册的流程图东北大学软件学院实践考核类课程(四)实验报告1.3数据库设计ColumnNarneDatatppe HOTH ULLAUTOI NC :FlagsDefaultValue Commentuser_id|S>INT(11)✓ ✓_|UNSIGNED _|ZEROFELLEBBQ username 心.VARCH.4.R(50]_|BINARYQ user_pass VARCHAR(50] ✓_|BIN4RYQ emailVARCHAR(100]1BIN4RY相关的映射文件:<hibernate-mapping package ="org.reg_login.model"><class name ="User"table ="usertable"〉<id name ="id"column ="user_id"><generator class ="identity"/> </id ><property name ="user"column ="user_name"not-null ="true"length ="50"unique ="true"/><property name ="pass"column ="userpass"n ot-null ="true"C=3length ="50"/><property name ="email"length ="100"/></class></hibernate-mapping >一旦提供了上面的映射文件,Hibernate 就可以理解User 和user_table 之间的对应关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收稿日期:2005-05-15;修回日期:2006-01-14.资助项目:科技部国家科学数据共享工程(项目编号:2004DKA20180);南京邮电大学科研项目(项目编号:NY206039)。

作者简介:邹志强,男,博士研究生,讲师,主要研究方向:J2EE技术,组件技术,WebGIS和分布式信息共享平台。

第8卷第3期2006年9月地球信息科学GEO-INFORMATIONSCIENCEVol.8,No.3Sept.,2006Struts和Hibernate在信息共享平台中的应用与研究邹志强1,2,3,江南1,胡斌1(1中国科学院南京地理与湖泊研究所地理信息科研室,南京210008;2南京邮电大学,南京210003;中国科学院研究生院,北京100049)摘要:科学数据共享是一个重要的研究领域,但是由于缺乏足够的技术支持,导致从海量数据中找出有用信息,实现信息的完全共享还存在不足。

本文结合Struts和Hibernate技术,提出了一种信息共享平台的框架。

利用Struts优化了数据表示层和数据处理层的设计,利用Hibernate优化了共享平台的数据持久层的设计。

文章先分析了这两种技术的应用,接着重点说明了如何利用它们构建一个4层结构的共享平台,该平台可以对多种数据进行管理和分析,能在多个服务器间提取出有用的信息供用户浏览、下载和查询,从而实现了信息的共享。

关键词:信息共享;Struts;Hibernate;WebGIS1引言科学数据作为信息的重要内容之一,不仅具有明显的潜在价值,而且具有可开发价值的资源属性,但是这些共享数据的类型多种多样,空间数据、属性数据、遥感数据等,要想从这些数据中提取有用的信息是困难的,这已在相当程度上制约了科技进步与创新,并造成重复采集、重复建设的资金浪费,其原因是缺乏强有力的共享服务技术支撑[1]。

所以,搭建结构合理的平台显得尤为重要。

目前,信息共享平台有的是单机版本,即信息的数据源和数据的查询和发布服务都在本机,用户访问只能在本机进行;有些信息共享平台,虽然设计上克服了单机版的缺点,可以在网络下运行,但是它不能够在不同的操作系统下移植,存在可移植性差等问题。

共享平台的框架设计是系统的基础,但是有些框架设计是以面向过程的方法为主来设计系统,其设计的模块存在可重用性差等问题。

一种解决方案是以元数据管理和元数据服务为基础的设计,它可以较好地实现一些Web共享服务[1],但在设计模式上,如果再进一步优化,那么设计就更加合理了。

2多层结构信息共享平台的设计针对上述框架设计存在的一些问题,我们引入了J2EE技术,结合地学数据共享的特点,把系统划分为4层:数据表示层,数据处理层(业务逻辑层),数据持久层,数据库层。

对层中模块的分析,采用OOA(面向对象的分析)方法,抽象出共性问题,引入Adapter,Singleton,抽象类工厂等经典的设计模式,这样在新的信息共享平台中,提高了系统的可移植性和设计模块可重用性。

下面是分层后细化的设计方案。

2.1数据表示层的设计在信息共享平台中,数据表示是以Web形式提供给用户的,为了把Web层的HTML和Java分离,使得显示逻辑和业务逻辑不再相互交叉,我们采用了Struts技术来完成Web层的设计。

Struts[3]是一个MVC(Model-View-Controller)开源框架,它提供了对开发MVC系统的底层支持,我们共享平台的Model采用Hibernate技术[2]来完成,View由JSP和TagLib来完成,Controller由Struts的Action-Servlet和ActionMapping来完成。

配置文件:struts_config.xml负责系统的各个模块之间的交互地球信息科学2006年(参考图1)。

图1数据查询时的UML顺序图Fig.1UMLSequencediagramofdataquery2.2数据处理层和数据持久层的设计现有的平台设计中,对于数据库的访问,有些是在自己的应用程序中直接提供JDBC连接和管理事务。

这对简单的系统设计是可行的,但是对于数据共享平台,其数据类型复杂,并发访问用户较多和访问流量大的系统,直接用JDBC编程效率较低,且容易出错。

考虑到EJB(EnterpriseJavaBean)的应用则显得有些臃肿,它需要额外EJB容器(应用服务器),所以没有选用实体Bean来处理持久层的数据。

现在我们引入Hibernate把所有的底层JDBC/JTAAPI都抽象出来,自己的应用程序就可以不再直接访问数据库了。

Hibernate[4]是一种实现对象和关系之间映射(ORM,ObjectRelationMapping)的开源框架。

它对JDBC进行了轻量级的对象封装,使得JAVA程序员可以使用面向对象编程思维来操作关系数据库。

为了更好地实现MVC的设计模式,我们把Struts和Hibernate这两个框架结合起来,如图1所示,在响应数据表示层的JSP请求时,会有相应的Action对象(如objMapQueryAction)去调用业务逻辑模块的接口(如queryGeocoreType(…)),实现这些业务逻辑接口的Java类(如DataBaseManager)就通过Hibernate穿过持久层,最后映射到数据库中具体的表,可见,DataBaseManager类是数据处理层的一个核心模块,它对不同类型的数据操作进行了封装,是表示层和数据库的桥梁。

2.3分布式共享平台的系统框架信息共享平台是一种典型的面向服务的软件平台,它由多个分布式的节点构成,每个节点由多台服务器组成,系统架构如图2,其中,左边是一个节点,它包含多个应用服务器,如Web服务器、JSP容器和地图处理服务器,右边是平台中的其他节点。

Web服务器负责处理HTTP请求,JSP容器负责解释JSP语句;地图处理服务器则专门动态处理对地图的图层调用,并按用户的地图操作,调用空间数据引擎,从而返回请求的结果;数据库服务器则负责管理和存储各种数据。

图2分布式共享平台的系统框架Fig.2Frameworkofdistributedsharingplatform从图2中可以清楚地看出,在Hibernate之上是用面向对象的方法开发业务逻辑,其之下是关系型的数据库,正是Hibernate起了对象/关系的映射作用(O/RMapping)。

对于这样一个由多台服务器组成的节点,其部署是很灵活的,可以采用水平扩展,即在多台联网的服务器上分别部署不同的服务,也可以采用垂直扩展,即在一台性能很好的多CPU服务器上部署多个服务,目前我们采用的部署方式是垂直扩展。

共享平台的客户端可以通过In-ternet与平台中的任何一个节点的WebServer相连,如http://www.geoinfo.ac.cn/metadata/,执行数据的查询、浏览、汇交、下载等工作。

而节点中内部微WebService代理58・・3期邹志强等:Struts和Hibernate在信息共享平台中的应用与研究机一般是通过局域网与本节点的Web服务器相连,如http://www.geoinfo.ac.cn/admin执行平台的各项管理工作。

各节点之间采用WebService交互[6],WebService提供者首先向WebService代理注册自己提供的服务,之后WebService请求者通过WebService代理来定位自己需要的服务,请求者使用得到的WSDL生成SOAP消息,并按SOAP/XML格式调用WebService,最后运行结果从提供者反馈给请求者。

这样数据只存放在平台的一个节点中,数据的存储位置和管理对用户是屏蔽的,用户可以查询到平台中的数据,但不知道它具体存储在分布式共享平台的哪个节点上。

3具体的原形实现根据上述的设计方法,我们实现了一个信息共享平台的原形,图3就是基于Struts和Hibernate来实现的空间数据查询界面。

信息共享平台展现给用户的首先是Web表示层,Web层是通过JSP技术结合Struts强大的TagLib来实现的,表示页面包含:Login,Register,Admin,BBS,Cart和Query等几部分,其中最主要的是数据查询和搜索,它还可以实现数据的浏览,下载和在线分析等功能。

目前我们把查询分为两类,一类是基于关键字和主题等字段的查询,另一类是基于地图的查询。

图1展现了对关键字查询的处理序列,由于Web层采用了MVC框架,所以对用户查询的处理首先要经过Servlet的转发,然后由Struts的ActionServlet实现对业务逻辑的控制。

为了使系统结构能更好地进行动态扩展,共享平台使用了抽象类工厂设计模式,接着从类工厂中调用方法getDataBaseManager(),得到数据管理对象obj-DataBaseManager,最后通过Hibernate完成对象和关系的映射,把JavaBean类里使用的HQL语句转换为SQL语句,进而利用JDBC驱动操作数据源,至此才真正得到数据库里的数据,并且把这数据返图3空间数据查询的界面Fig.3Interfaceofspatialdataquery59・・地球信息科学2006年回给页面用户。

由于采用了Hibernate框架,所以简化了数据管理,如增加、删除、修改等程序的设计。

假设数据库的元数据表中有150个字段,现在要对其中的经度和纬度等字段进行条件查询,不用Hi-bernate时,其SQL查询select*from,参数可能会超过100个,很容易出错,随着SQL的增多,系统调试的难度会剧增,而现在采用了Hibernate之后,可以使用面向对象的方法编程,部分设计如下:Stringsql=Constants.METADATAMET_SQL;//引入查询常量objIService.getService().getIteratedDataInfo//调用查询方法(sql,pageSize,(currentPage-1)*pageSize,xy,dates);//Sessionsess=factory.openSession();//得到当前的会话tx=sess.beginTransaction();//赋值事务对象Queryquery=null;//org.hibernate.Query//query=sess.createQuery(sql);//执行查询query.setMaxResults(max);//query.setFirstResult(first);//info=query.list();//得到查询结果tx.commit();//处理事务,完成查询……只要先定义常量METADATAMET_SQL,再通过对象objIService就可以调用方法getIterated-DataInfo(),最后通过HQL语句就可以完成查询,开发和调试变得简单了。

相关文档
最新文档