中国教程联盟—打造中国最全面的技术类教程网站
中国教程联盟首页 网站建设 | 图形图象 | 网络编程 | 数据库 | 网站运营 | 网络营销 | 网络安全 | 服务器类 | 组网玩网 | 系统优化 | 数码应用 |
电脑入门 | 办公软件 | 操作系统 | 多媒体 | 软件开发 | 电脑硬件 | 视频教学 | 就业培训 | 机械电子 | 业界动态 | 其他专题 |
网络营销策划
流行时尚网
网站推广 搜索引擎优化 网站评估分析 北京SEO培训 网站优化技术 SEO优化博客
网站教程搜索:    
 当前位置: 中国教程联盟jsp教程网络编程教程jsp实例教程→JSP/Servlet构建三层管理信息系统 流行时尚 网络营销 图书排行榜

JSP/Servlet构建三层管理信息系统

中国教程联盟 http://www.jclmcn.net 发布时间:2007-8-13 13:12:49 [ 字体: ]
JSP/Servlet构建三层管理信息系统,本文介绍了一种开发基于Web的管理信息系统的实现框架。利用JSP/Servlet技术,结合MVC设计模式,使得开发过程更加灵活,更加易于维护。
 摘要:本文介绍了一种开发基于Web的管理信息系统的实现框架。利用JSP/Servlet技术,结合MVC设计模式,使得开发过程更加灵活,更加易于维护。

  关键词:管理信息系统,JSP,Servlet,MVC设计模式,JDBC

  1、 引言

  管理信息系统(MIS)是一个由人、计算机等组成的能进行信息的收集、传递、存储、加工和使用的系统。随着科技的发展,信息的膨胀,企业信息化成了企业在竞争中处于不败地位的有效手段之一。而MIS不仅能够及时全面地提供信息和数据,简化统计工作,对不同的管理层次提出不同的报告之外,还能根据过去的数据预测未来的情况。因此,采用何种方法开发出一种兼顾开发效率和运行效率,同时满足分布式事件处理功能的管理信息系统就显得尤为重要。本文阐述了一种利用JSP/Servlet构建三层式管理信息系统的方法。

  2、 系统的三层体系结构

  系统的三层体系结构如图1。

图1基于Java技术的Web应用体系结构

  整个管理信息系统采用Browser/Web/DataBase的三层体系结构。Web服务器接受请求,通过应用程序服务器执行一个Java服务器端小程序Servlet并返回其输出,从而实现与客户机进行信息资源的交互。数据库服务器用来存储管理信息系统中所用到的各种数据,数据由数据库管理程序直接录入。系统的客户端只需要一个浏览器即可。相关人员通过浏览器来查询、增加、修改、删除数据,对信息进行管理。
  3、 系统的设计模式

  设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。目前,在大多数Browser/Server结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求。虽然很直观,但是大多数管理信息系统操作的数据量都是惊人的,随着代码的增多会使JSP页面臃肿不堪,Web服务器的负荷过重。因此,在中间层上采用基于模型视图控制器(MVC.Model-View-Controller)的设计模式。Model层用来实现业务逻辑,View层用来显示用户界面,Controller层主要负责View层和Model层之间的控制关系。具体实现时,把Servlet用作应用程序的控制器,把JSP文档作为视图,JavaBeans被用来表示模型。所有的请求都被发送给作为控制器的Servlet,它接受请求,并根据请求信息将它们分发给适当的JSP来响应。同时,Servlet还根据JSP的需求生成JavaBeans的实例并输出给JSP环境。JSP可以通过直接调用方法或使用UseBean的自定义标签得到JavaBeans中的数据。这种设计模式很好地实现了数据层与表示层的分离,使开发工作更加容易和迅速。在这种设计模式下,各层次之间的数据传递如图2。

图2 MVC设计模式的数据传递图

  4、 数据存取技术

  数据库是管理信息系统的核心内容。目前,Web与数据库接口技术有很多,其中JDBC是Java程序连接和存取数据库的应用程序接口,由一组用Java语言编写的类与接口组成,是执行SQL语句的Java API。本文介绍的管理信息系统中,在数据的存取方面,采用了 JSP/Servlet+JDBC的技术,即客户端不产生数据库查询命令,客户端上的浏览器通过URL和中间层的Web服务器建立连接。Web服务器主要负责接收本地或远程浏览器的HTTP数据请求,然后中间层的Servlet收到请求后,通过执行程序中的SQL语句,利用JDBC提供的标准API对数据库进行访问和相应的操作处理。Servlet再将查询的数据传给JSP,最后生成标准的JSP页面将结果返回给提出请求的浏览器。这样,不仅将客户端与数据库服务器端分开,同时提高了数据库的访问效率。

  5、 实例

  为了更好地说明用JSP/Servlet构建三层式管理信息系统的方法,作者将举例分析设计一个商品邮购管理信息系统。这个商品邮购管理信息系统利用Java语言进行服务器端应用程序的开发,使用IBM公司的Webshpere作为应用服务器,数据库管理系统选用SQL Server7.0,数据库接口程序使用JDBC2接口。整个系统使用基于Web的方式来实现邮购业务的客户管理、职员管理、订单管理、商品管理、出库管理、入库管理等业务处理、流程控制、权限控制、查询统计以及打印等功能。其中详细分析订单管理部分的查询功能。

  5.1数据库设计

  对于订单部分,需要定义订单信息表Db_order,表中的字段有订单编号(ddbh),客户编号(khbh),商品编号(spbh),商品单价(spdj),定购数量(dgsl),合计总价(hjzj),收到金额(sdje),收到日期(sdrq)。为了能够在应用中使用Db_order表,必须建立数据库连接。这个功能由sql_data.java来实现。其部分代码如下。

public class sql_data {

 String url = "jdbc:odbc:PostOrder"; // use your hostname and port number here
 String login = "sa"; // use your login here
 String password ="zh12345"; // use your password here
 public Connection connection = null;
 public Statement st = null;
 public ResultSet rs = null;
 try
 {
  Class.forName("com.microsoft.jdbc.sqlserver.SqlServerDriver");
  conn =DriverManager.getConnection(url, user, password);
 } catch (Exception e)
 {
  e.printStackTrace();
 }
}

  5.2中间层设计

  在商品邮购管理信息系统的开发过程中,基于MVC设计模式的思想,结合系统的实际情况,我们将Model层按照分工进行了进一步划分。Model层一般来说由许多JavaBeans组成,根据这些Beans在系统中起的不同的作用,将它们分为Command Beans、Data Beans、View Beans三种类型。其中Command Beans用来实现业务逻辑即对对象实例的处理;Data Beans是用来描述和定义从现实世界中抽象出来的对象模型;而 View Beans则是用来将处理完的对象实例进一步封装并返回到客户端。

  首先,Command Beans获得Servlet传递过来的信息,并将这些业务信息封装在Data Beans定义的对象实例中,根据业务逻辑对信息进行处理。当需要进行调用数据库的存取操作时,Command Beans将对象实例以及相应的控制信息通过数据库接口方法完成对数据库的操作。数据库操作完成后,再将返回的记录集封装成Data Beans的对象实例,进行一定的处理后,将这些需要返回到界面的信息再封装到事先定义的View Beans中去,通过View Beans将信息返回到界面上。

  以下是对订单进行查询处理的OrderGl.java的部分代码。

public class OrderGl {
……
//定义如下的方法完成对订单的查询操作
public final String currentMultiQuery(
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws com.goods.exception.GoodsException
{
//从JSP页面获得相应查询信息
com.goods.view.OrderView view = getView(request, response);
String ddbh = view.getDdbh(); //订单编号

//生成SQL语句
String sqlQuery = "select ddbh,khbh,spbh,spdj,dgsl,hjzj,sdje,sdrq from db_order ";
//执行查询操作
java.util.Vector vector = new java.util.Vector();
com.goods.sjk.sql_data per = new com.goods.sjk.sql_data();
try
{
 java.sql.ResultSet rs = per.executeQuery(sqlQuery);
 while (rs.next())
 {
  com.goods.dx.Db_order temp = new com.goods.dx.Db_order();
  temp.setDdbh(rs.getString("ddbh"));
  temp.setKhbh(rs.getString("khbh"));
  temp.setSpbh(rs.getString("spbh"));
  temp.setSpdj(rs.getString("spdj"));
  temp.setDgsl(rs.getString("dgsl"));
  temp.setHjzj(rs.getString("hjzj"));
  temp.setSdje(rs.getString("sdje"));
  temp.setSdrq(rs.getString("sdrq"));
  vector.addElement(temp);
 }
 rs.close();
 per.close();
 } catch (Throwable e)
 {
  e.printStackTrace();
  per.close();
  cxyw.printErrorToWeb(request, response, e.toString());
  return e.toString();
 }
 //将相关信息回显给界面
 view.setVct(vector);
 request.setAttribute("view", view);
 return "1";
}
}

  5.3客户端设计

  视图是向用户显示信息的应用程序的一部分,也就是用户发出请求之后返回给用户的Web页面。当单击"查询"按钮时,将显示根据订单编号得到的订单信息结果页面ordercx.jsp。这是用JSP页面中如下语法完成的:

<jsp:useBean id="view" class="com.goods.view.OrderView" scope="request" />
<jsp:useBean id="temp" class="com.goods.dx.Db_order" scope="page" />
< jsp:useBean >动作用id和scope发现存在的各个对象,再通过<%=view.getDdbh()
和<%=temp.getDdbh()%>来获取相关数据。

  6、 小结

  本文提出了一个开发基于Web的利用JSP/Servlet技术的三层管理信息系统的解决方案。该方案实现了表示层和逻辑层的分离,使得系统具有很好的扩展性,同时,给管理信息系统的开发提供了一个完整的思路和方法。

作者:不详  来源于:中国教程联盟 [ ] [打 印]
上篇文章:JSP高访问量下的计数程序 
下篇文章:jsp2.0新特性
相关技术教程
· JSP/Servlet构建三层管理信息系统
· JSP/JAVABEAN+TOMCAT4.0.5+MYSQL组合建站总结
- 全站教程排行 -
- 本类教程排行 -
   
- 精彩广告推荐 -
- IT图书教程 -
Office五合一教程(附盘) C++与数据结构实验教程 Maya 7从入门到精通
电子商务系统的开发与应用 3ds max6&After Effects6 精通CSS:高级Web标准
网页设计三剑客(附光盘) Dreamweaver 8 大师课堂 .NET约定、惯用法与模式
SQL 数据库开发详解含光盘 Delphi数据库设计与实例 ASP+XML+CSS网络开发编程
ASP.NET数据库设计教程 Flash 8完全自学手册 JAVA技术手册
Ps CS2 中文版入门与实战 ASP动态网页编程 电脑杂志——合订本 CAD CAM CAE
3DS MAX 8基础培训教程 企业软件开发与实施 认证 等级考试 数据库图书
网管员必读 Ajax高级程序设计
特别声明
本站除部分特别声明禁止转载的专稿外的其他技术教程可以自由转载,但请务必注明出处和原始作者。网站技术教程版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的技术文章有版权问题请联系本站,我们尽快予以更正。

- 教程分类导航 -
电脑入门教程
输入法 - 上网冲浪
网络概念 - 电子邮件
浏览技巧 - 其他相关
网站建设教程
HTML/CSS - 网页配色
DREAMWEAVER - FRONTPAGE
Adobe GoLive - 网页特效
图形图象教程
PHOTOSHOP - FIREWORKS
CORELDRAW - pageMaker
ILLUSTRATOR - Freehand
PhotoImpact - Painter
图像辅助 - 作品欣赏
网络编程教程
ASP - PHP - JSP
ASP.NET - XML - VBScript
JavaScript - 其他相关
数据库教程
MSAccess - SQLserver
MySQL - DB2 - ORACLE
SYBASE - FoxPro - 其它
网站运营教程
企业运营 - 策划盈利
搜索引擎 - 网站推广
Google - Baidu - Alexa
建站心得 - 站长故事
办公软件教程
Word - Excel - PowerPoint
WPS Office - 微软Office
多媒体教程
FLASH - 3dsmax - maya
Authorware - 媒体播放
媒体制作 - 制作课件
软件开发教程
JAVA - C语言 - C#语言
C++ - VC - VB - Delphi
汇编语言 - Powerbuilder
其他专题教程
毕业论文 - 软件应用
推荐下载 - 原创文章
网络营销工作室  网站建设 网站推广方案 搜索引擎优化 网站评估分析 北京SEO培训 网站优化技术 网络营销工具 SEO优化技术博客 流行时尚 时尚家居 两性生活 发型设计 
关于中国教程联盟 - 教程目录分类 - 网站建设 - 最新教程 - 热门教程 - 广告联系 - 商业合作 - 郑重声明 - 交换友情链接
服务项目:网页设计,网站程序开发,网站优化,搜索引擎推广。多年从事网站建设和网络营销服务,经验丰富。联系方式 QQ:6255939
Copyright © 2006-2007 jclmcn.com™,All Rights Reserved.页面装载时间: 秒. 津ICP备07000664号