版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MVC架构模式的实现,议程,模型-视图-控制器(MVC)的概述 用RequestDispatcher实现MVC 相对URL的处理 数据共享策略的对比,MVC模式概述,MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制Controller)。MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行
2、的操作。,MVC模式的好处,各施其职,互不干涉在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。 有利于开发中的分工在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。 有利于组件的重用分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。,不同JSP构造的应用,为什么要组合使用servlet dispatcher.forward(request, response);
3、,jsp:useBean在MVC中的使用与在独立JSP页面中有什么不同,JSP页面不应该创建对象 应该由servlet创建所有的数据对象。因此,为了保证JSP页面不会创建对象,我们应该使用而不是 JSP页面也不应该修改已有的对象 因此,我们应该只使用jsp:getProperty,不使用jsp:setProperty。,提示:jsp:useBean的scope选项,request session application page 或者仅仅使用 MVC (Model 2)构架不使用这个scope。,不同数据共享方式,向用户显示一个随机的数字。 由于每次请求应该产生新的数字,因而基于请求的共享是恰
4、当的。 显示用户的姓和名 数据要为每个客户存储,因而基于会话的共享比较适用。 显示一个指定长度的质数。 数据在多个客户间共享,因此,基于应用的共享比较恰当。,基于请求的数据共享,Servlet ValueObject value = new ValueObject(.); request.setAttribute(key, value); RequestDispatcher dispatcher = request.getRequestDispatcher(/WEB-INF/SomePage.jsp); dispatcher.forward(request, response); JSP ,基
5、于会话的数据共享,Servlet ValueObject value = new ValueObject(.); HttpSession session = request.getSession(); session.setAttribute(key, value); RequestDispatcher dispatcher = request.getRequestDispatcher(/WEB-INF/SomePage.jsp); dispatcher.forward(request, response); JSP ,基于ServletContext的数据共享,Servlet synchro
6、nized(this) ValueObject value = new ValueObject(.); getServletContext().setAttribute(key, value); RequestDispatcher dispatcher = request.getRequestDispatcher(/WEB-INF/SomePage.jsp); dispatcher.forward(request, response); JSP ,JSP页面中的相对URL,问题: 使用请求分配器进行的转发对客户来说是透明的。初始的URL是浏览器惟一知道的URL。 为什么这会比较重要? 浏览器会
7、如何处理类似下面的这些标签: 答案:浏览器将会把它们看作是相对于servlet的URL 最简单的解决方案: 使用以斜杠开始的URL,Summary,MVC (Model 2) 方式适用于: 单次提交会产生多个基本外观。 几个页面拥有大量公共的处理过程。 需要为同样的数据提供多个视图的应用程序,它很好地实现了数据层与表示层的分离,特别适用于开发与用户图形界面有关的应用程序 构架 由一个servlet应答初始的请求 Servlet完成实际的数据处理并将结果存储在bean中 Bean存储在HttpServletRequest, HttpSession, 或ServletContext中 Servlet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业风险管理与防范制度
- 交通肇事逃逸处理制度
- 2026甘肃电投常乐发电有限责任公司招聘30人参考题库附答案
- 2026福建省面向中国科学院大学选调生选拔工作考试备考题库附答案
- 2026贵州遵义市湄潭县消防救援大队政府专职消防队员招聘20人参考题库附答案
- 2026重庆医科大学附属第一医院工作人员招聘参考题库附答案
- 2026青海省海西州德令哈市司法局招聘1人备考题库附答案
- 中共玉环市委宣传部关于下属事业单位 市互联网宣传指导中心公开选聘1名工作人员的考试备考题库附答案
- 会昌县2025年县直事业单位公开选调一般工作人员考试备考题库附答案
- 德令哈市公安局2025年面向社会公开招聘警务辅助人员参考题库附答案
- 家庭医生签约服务工作实施方案
- 2025年全科医生转岗培训考试题库及答案
- 外贸进出口2025年代理报关合同协议
- 2024年安徽理工大学马克思主义基本原理概论期末考试模拟试卷
- 2025年中考跨学科案例分析模拟卷一(含解析)
- 2025年水利工程质量检测员考试(金属结构)经典试题及答案
- 透析充分性及评估
- 2025年12月广西区一模语文2025-2026年度首届广西职教高考第一次模拟考试2026年广西高等职业教育考试模拟测试语文含逐题答案解释99
- 安全文明施工二次策划方案
- DB34∕T 5244-2025 消防物联网系统技术规范
- 2026年合同管理与合同风险防控培训课件与法律合规指南
评论
0/150
提交评论