版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高级统计师资格考试(高级统计实务与案例分析)试题库及答案(宁夏回族自治区固原市2026年)
- 初中语文新课程标准理论测试题及答案
- 2026年全国英语等级考试(PETS)一级B考前冲刺试题及答案
- 燃气储配站管道泄漏应急预案演练脚本
- 2025年【P气瓶充装】模拟考试题库及答案
- 炼钢企业安全技术措施制度
- 商场电梯故障困人应急演练脚本
- 2026年驾考科目一车型题库及答案
- 2026年高级统计师资格考试(高级统计实务与案例分析)试题库及答案本溪
- 车间质量绩效考核实施细则
- 2026年官方兽医网牧运通考试题库含答案详解
- 2026年浙江省宁波市重点学校高一入学数学分班考试试题及答案
- 2025-2026学年上海宝山区八年级下学期期末数学试卷及答案
- 2026杭州市市级机关事业单位招聘编外人员综合基础知识和综合应用试题附答案
- 广西百色能源投资发展集团有限公司招聘考试真题2025
- 2026贵州省专业技术人员继续教育公需科目考试题库
- 2026“才聚齐鲁成就未来”山乡集团限公司权属单位招聘四名易考易错模拟试题(共500题)试卷后附参考答案
- 2026年小学一年级数学第二学期期末考试卷及答案(共四套)
- 2026年秋季新教材统编版九年级上册道德与法治全册知识点背诵提纲精简版
- 小学后进生转化记录表4篇-后进生转化
- 4.4太阳能电池片焊接.课件
评论
0/150
提交评论