版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MVC模式在三层结构
信息管理系统中的应用实例商品邮购管理信息系统
整个系统使用基于Web的方式来实现邮购业务的客户管理、职员管理、订单管理、商品管理、出库管理、入库管理等业务处理、流程控制、权限控制、查询统计以及打印等功能。目的:详细分析MVC模式在订单管理部分的查询功能中的应用。
系统的体系结构整个系统采用Browser/Web/DataBase的三层体系结构。Web服务器接受请求,通过应用程序服务器执行一个Java服务器端小程序Servlet并返回其输出,实现与客户机进行信息资源的交互。数据库服务器用来存储管理信息系统中所用到的各种数据,数据由数据库管理程序直接录入。系统的客户端只需要一个浏览器即可。相关人员通过浏览器来查询、增加、修改、删除数据,对信息进行管理。系统的体系结构系统的设计模式
目前,在大多数Browser/Server结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求。特点:直观,但是大多数系统操作的数据量都是惊人的,随着代码的增多会使JSP页面臃肿不堪,Web服务器的负荷过重。 对策:在中间层(?)上采用基于模型视图控制器(MVC.Model-View-Controller)的设计模式。
系统的设计模式
MVC模式的数据流图
系统的设计模式角色:Model层实现业务逻辑 View层显示用户界面Controller层负责View层和Model层之间的控制关系实现:Servlet——控制器JSP文档——视图JavaBeans——模型系统的设计模式过程:所有请求都被发送给作为控制器的Servlet,它接受请求,并根据请求信息将它们分发给适当的JSP来响应。同时,Servlet还根据JSP的需求生成JavaBeans的实例并输出给JSP环境。JSP可以通过直接调用方法或使用UseBean的自定义标签得到JavaBeans中的数据。数据存取技术
本系统的数据存取采用JSP/Servlet+JDBC的技术客户端不产生数据库查询命令,客户端上的浏览器通过URL和中间层的Web服务器建立连接。Web服务器主要负责接收本地或远程浏览器的HTTP数据请求,中间层的Servlet收到请求后,通过执行程序中的SQL语句,利用JDBC提供的标准API对数据库进行访问和相应的操作处理。Servlet再将查询的数据传给JSP,最后生成标准的JSP页面将结果返回给提出请求的浏览器。 优点:将客户端与数据库服务器端分离,提高了数据库的访问效率。具体实现结合系统的实际情况,将Model层按照分工进行进一步划分。Model层一般来说由许多JavaBeans组成根据Beans在系统中起的不同的作用,将它们分为CommandBeans、DataBeans、ViewBeans三种类型:CommandBeans用来实现业务逻辑,即对对象实例的处理;DataBeans是用来描述和定义从现实世界中抽象出来的对象模型;ViewBeans则是用来将处理完的对象实例进一步封装,并返回到客户端。具体实现CommandBeans获得Servlet传递过来的信息,并将这些业务信息封装在DataBeans定义的对象实例中,根据业务逻辑对信息进行处理。当需要进行调用数据库的存取操作时,CommandBeans将对象实例以及相应的控制信息通过数据库接口方法完成对数据库的操作。数据库操作完成后,再将返回的记录集封装成DataBeans的对象实例,进行一定的处理后,将这些需要返回到界面的信息再封装到事先定义的ViewBeans中去,通过ViewBeans将信息返回到界面上。具体开发实现服务器端应用程序的开发——Java语言应用服务器——IBM公司的Webshpere数据库管理系统——SQLServer7.0数据库接口程序——JDBC2接口
数据库连接建立数据库连接-由sql_data.java来实现。
publicclasssql_data{Stringurl="jdbc:odbc:PostOrder";//useyourhostnameandportnumberhere
Stringlogin="sa";//useyourloginhere
Stringpassword="zh12345";//useyourpasswordhere
publicConnectionconnection=null;
publicStatementst=null;
publicResultSetrs=null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SqlServerDriver");
conn=DriverManager.getConnection(url,user,password);
}catch(Exceptione)
{
e.printStackTrace();
}
}中间层设计——MVC对订单进行查询处理的OrderGl.java的部分代码
publicclassOrderGl{
……
//定义如下的方法完成对订单的查询操作
publicfinalStringcurrentMultiQuery(
javax.servlet.http.HttpServletRequestrequest,
javax.servlet.http.HttpServletResponseresponse)
throwscom.goods.exception.GoodsException
{
//从JSP页面获得相应查询信息
com.goods.view.OrderViewview=getView(request,response);
Stringddbh=view.getDdbh();//订单编号
//生成SQL语句
StringsqlQuery="selectddbh,khbh,spbh,spdj,dgsl,hjzj,sdje,sdrqfromdb_order";
//执行查询操作
java.util.Vectorvector=newjava.util.Vector();
com.goods.sjk.sql_dataper=newcom.goods.sjk.sql_data();
try
{
java.sql.ResultSetrs=per.executeQuery(sqlQuery);
while(rs.next())
{
com.goods.dx.Db_ordertemp=newcom.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();
}中间层设计——MVCcatch(Throwablee)
{
e.printStackTrace();
per.close();
cxyw.printErrorToWeb(request,response,e.toString());
returne.toString();
}
//将相关信息回显给界面
view.setVct(vector);
request.setAttribute("view",view);
return"1";
}
}中间层设计——MVC客户端设计--View
视图是用户发出请求之后返回给用户的Web页面。当单击“查询”按钮时,将显示根据订单编号得到的订单信息结果页面ordercx.jsp。 这是用JSP页面中如下语法完成的: <jsp:useBeanid="view"class="com.goods.view.OrderView"scope="request"/>
<jsp:useBeanid="temp"class="com.goods.dx.Db_order"scope="page"/>
<jsp:useBean>卷标告诉JSP页面它将要用到一个JavaBean
<jsp:useBean>用id和scope发现存在的各个对象,再通过<%=view.getDdbh()
和<%=temp.getDdbh()%>来获取相关数据。语法提示id属性:在静态的JSP页面中提供一个名字来标识bean
class属性:Java类的名字
scope属性: [scope=“page”] 单一网页(预设) [scope=“request”] 一个被请求的网页 [scope=“session”] 生存期限
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 活动策划 -桂中社区慈善场景营建概念策划案
- 职业病卫生知识
- 闭孔疝修补术手术步骤
- 好笑的课件剧本
- 精神行为异常识别清单
- 实施方案执行计划讨论分享实践方案执行效果评估方案
- 宠物寄生虫病
- 中层干部成长规划
- 二次外文数据库的检索与利用课件
- 上海市青浦区华新中学2024-2025学年(五四学制)七年级上学期12月月考语文试题含答案
- 阿尔茨海默病量表
- (湘美版)五年级上册书法指导练习教案
- 2024磐安县青山湾生态葡萄基地葡萄种植收购合同书
- 设备运输包装方案
- 2024年广东省广州市白云区中考语文一模试卷
- 变电站社会经济效益分析
- 《我国上市公司财务舞弊探析案例-长园集团为例》14000字(论文)
- 第五单元 方向与位置 单元测试(含答案)2024-2025学年四年级上册数学北师大版
- 2024年低压电工作业(复审)模拟考试题库试卷
- 2024秋期国家开放大学本科《知识产权法》一平台在线形考(第一至四次形考任务)试题及答案
- 酒店行业反恐应急管理方案
评论
0/150
提交评论