欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    第8章Struts和MVC设计模式.ppt

    • 资源ID:619197       资源大小:1.79MB        全文页数:79页
    • 资源格式: PPT        下载积分:9金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第8章Struts和MVC设计模式.ppt

    第8章 Struts和MVC设计模式第8章 Struts和MVC设计模式8.1 MVC框架简介8.2 用Struts2实现MVC设计模式8.3 Struts的Web应用开发实例 8.4 小结 8.5 习题 8.1 MVC框架简介l在Web应用开发中,MVC框架应用非常广泛,特别是在大型的、比较复杂的项目中。8.1.1 MVC框架是什么 8.1.2为什么要用MVC 8.1.3 MVC的实现8.1.1 MVC框架是什么l基于Java的动态Web开发有两种常用的开发模型:Model1和Model2。lModel1 在Model 1模式下,整个Web应用几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接做出响应。用少量的JavaBean来处理数据库连接、数据库访问等操作。Web服务器响应请求浏览器 JSPJavaBean企业数据库lModel 1模式的实现比较简单,适用于快速开发小规模项目。但从工程化的角度看,它的局限性非常明显:JSP页面身兼View和Controller两种角色,将控制逻辑和表现逻辑混杂在一起,从而导致代码的重用性非常低,增加了应用的扩展性和维护的难度。Model2lModel2实现了业务逻辑、显示逻辑和控制逻辑的分离,即是基于MVC的框架。lMVC框架即模型视图控制器(ModelViewController)设计模式。其中,M代表Model,V代表View,C代表ControllerlMVC的目的是增加代码的可重用性,减少数据描述和应用操作的可耦合度,并提高代码的可读性。l同时,也可以使软件的可维护性、可扩展性、可修复性、灵活性以及封装性大大提高。在Model 2模式下,模型(Model)由JavaBean 充当,视图(View)由JSP页面充当,而控制器(Controller)则由Servlet充当。实例化(模型)JavaBeanWeb服务器响应请求浏览器(控制器)Servlet企业数据库(视图)JSPMVC包括以下三部分:l视图:视图是应用程序的表示层,代表用户交互界面。在Web应用中,交互界面可能是HTML界面,也有可能是XML界面、Applet界面或其他界面。l模型:模型是应用程序的业务处理层,负责所有业务流程的处理和业务规则的制定。模型处理由控制器发来的视图的请求数据,并将最终的处理结果返回给视图。l控制器:控制器的作用实际上就是一个分发器,负责决定将请求数据转发给什么样的模型组件,以及决定选择什么样的视图来显示模型返回的数据。一个基于MVC的应用程序对用户请求的处理过程:(1)终端用户通过应用程序发出了一个请求,该请求被转发给控制器。(2)控制器收到该请求后,检查该请求然后决定用什么样的业务逻辑来处理该请求,这时控制器会将该请求转发给一个相应的业务组件去处理。(3)模型中包含处理该用户请求的所有业务组件,并且也执行用户所需要的全部数据存取。代表终端用户查询检索出的任何数据都被打包返回给控制器。(4)控制器接收从模型返回的数据,并选择显示这些数据的相应的视图,然后将视图返回给用户。lMVC模式适合大型项目的开发,是组件式的开发,但开发起来相对Model1复杂,步骤较多。8.1.2为什么要用MVClMVC框架的优点如下:有利于程序的维护和功能的扩展。有利于开发中的分工。有利于组件的重用。8.1.3 MVC的实现【例例8.18.1】MVCMVC的实现。的实现。l本节采用JSPServletJavaBean技术开发一个体重指数测量程序。l本例是一个根据身高和体重数据来衡量体重状况的程序。l程序包含4个文件,分别是:view_Table.jsp controller_Servlet.java model_Bean.java view_Result.jsp l对身高和体重数据的处理计算是在模型层实现的,其中运用的业务规则是世界卫生组织拟定的体重状况的判断标准。体重指数(BMI)的计算公式是:体重指数(BMI)=体重(kg)/身高(米)的平方 世界卫生组织拟定的BMI指数与体重状况的对应关系是:BMI在18.525 体重在正常范围 BMI大于25小于30 体重状况为超重 BMI大于30 体重状况为较肥胖 BMI小于18.5 体重状况为偏瘦(1)Model层的实现lModel(模型)层是软件中的核心模块,负责实现软件所有的业务逻辑,所有的数据处理都是在这里进行的。Model层用JavaBean来实现。l类model_Bean是Model层的具体实现。新建一个类model_Bean,文件名为model_Bean.java,目录名为WEB-INF/src,存放在mvc_Test包中。Model_Bean.java文件源代码如下:package mvc_Test;public class model_Bean/构造函数public model_Bean()/私有成员private String result;private String bmi;/体重指数/公有成员public void setBmi(String w,String h)/BMI体重指数double wt=Double.parseDouble(w);/将字符串类型的体重数据转换成double类型double ht=Double.parseDouble(h);/将字符串类型的身高数据转换成double类型double bmit=wt/(ht*ht);/按给定公式计算BMI体重指数bmit*=10;int bmitt=(int)bmit;bmit=(double)bmitt/10;bmi=String.valueOf(bmit);/通过在浮点型和整型之间,先后进行相互的强制转换,使BMI指数只保留一位小数。public String getBmi()return bmi;public void setResult(String bmi)/根据BMI指数大小判定体型double bmit=Double.parseDouble(bmi);if(bmit18.5&bmit25&bmit30)result=您太.重了,请注意饮食结构,加强锻炼!;elseresult=您的体形偏瘦,请注意营养!;public String getResult()return result;/将处理结果返回控制层组件controller_Servlet 模型层负责对其接收的身高和体重数据进行处理,这些数模型层负责对其接收的身高和体重数据进行处理,这些数据是视图层以表单的方式采集而来的,接下来将给出视图据是视图层以表单的方式采集而来的,接下来将给出视图层的代码。层的代码。(2)View层的实现 View(视图)层提供了一个表单以采集用户的身高和体重数据。view_Table.jsp文件源代码如下:世界卫生组织标准体重测定 看看您的体重状态如何 体重 公斤身高 米 &nbsp 视图层采集的数据提交给控制层,控制层转发给模型层处理,模型层接收控制层转发来的数据并对数据进行处理,处理结 果返回给控制层。(3)Control层的实现 控制层的具体功能是向模型层转发请求数据以及回收数据处理的结果,同时生成结果显示页面,返回给用户。Control层用Servlet实现。首先新建一个类controller_Servlet,对应文件名为controller_Servlet.java,目录名为WEB-INF/src,放在包mvcTest中。controller_Servlet.java源代码如下:package mvc_Test;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import mvc_Test.model_Bean;public class controller_Servlet extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException /抛出接受请求的过程中的异常信息 doPost(request,response);public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException /抛出发送信息的过程中异常信息 String weight=request.getParameter(weight);/获取表单中体重的字符串信息 String height=request.getParameter(height);/获取表单中身高的字符串信息 model_Bean Pro=new model_Bean();/建立一个model_Bean的实例Pro Pro.setBmi(weight,height);String BMI=Pro.getBmi();Pro.setResult(BMI);String result=Pro.getResult();/通过建立一个model_Bean的实例Pro,调用模型层组件model_Bean处理身高和体重信息 response.setContentType(text/html;charset=gb2312);/指定以中文字符集显示返回信息 request.setAttribute(result,result);request.setAttribute(BMI,BMI);/使用RequestDispatcher 转发至显示视图页面/view_Result.jsp RequestDispatcher requestDispatcher=request.getRequestDispatcher(/view_Result.jsp);/获得 RequestDispatcher对象 requestDispatcher.forward(request,response);/转发 显示测试结果的页面view_Result.jsp文件源代码如下:%/输出返回信息String BMI=(String)request.getAttribute(BMI);String result=(String)request.getAttribute(result);out.println();out.println();out.println();out.println(您的BMI体重指数为:+BMI+);out.println(result);out.println();%l注意:编译controller_Servlet.java文件时,需要将Tomcat安装目录下的commonlib目录下的servlet-api.jar,添加到JDK安装目录下的jdk1.6.0jrelibext目录下面,否则会编译失败。l因为文件所包含的软件包 javax.servlet在Web服务器中才有,JDK中并没有。也可以按照第三章例3.1所介绍的方法配置环境变量。l然后新建一个配置文件web.xml,放在目录WEB-INF下。视图组件view_Table.jsp需要配置文件提供路径才能找到控制组件controller_Servlet.java,这些需要在web.xml中配置。8.1.3 MVC的实现web.xml源代码如下:control mvc_Test.controller_Servlet control /controller_Servlet 8.1.3 MVC的实现(4)将本例所有文件及文件夹放在MVC文件夹中,并放在Tomcat安装目录下的webapps文件夹下,启动Tomcat,打开IE浏览器,在地址栏中输入地址:http:/localhost:8080/MVC/view_Table.

    注意事项

    本文(第8章Struts和MVC设计模式.ppt)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开