- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
J2EE综合应用之解析MVC模式
/mvcwea/34292.html
MVC模式概述
MVC是三个单词的缩写,分别为:
模型 Model ,视图 View 和控制Controller 。
MVC模式的目的就是实现Web系统的职能分工。
Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
View层用于与用户的交互,通常用JSP来实现。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
MVC模式的好处
各施其职,互不干涉
在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。
有利于开发中的分工
在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。
有利于组件的重用
分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。
不同JSP构造的应用
为什么要组合使用servlet JSP?
典型的做法:使用JSP来简化HTML内容的开发与维护
对于简单的动态代码,使用由脚本元素调用JAVA代码来完成。
对于稍微复杂一些的应用,则可使用脚本元素调用定制的类来完成。 即所谓的help类
对于比较复杂的应用,则使用JAVA BEAN和定制标签
但,这些是不够的
对于复杂的处理过程,从JSP开始做起会难以处理。
JSP除了能够带来将实际的代码隔离成单独的类、bean、和定制标签的便利以外,它所隐含的假定是单个页面给出单个基本视图。
对MVC的误解
必须采用复杂的框架
框架有时很有用
Struts
JavaServer Faces JSF
但并非必需!
对于大多简单或者适度复杂的应用来说,使用内建的RequestDispatcher就能够很好地实现MVC
MVC影响整个系统的设计
我们可以用MVC来处理单个请求
可以将它认为是MVC方案,而非MVC框架。
也被称为是模型2方案
用RequestDispatcher实现MVC
1. 定义用以表示数据的java bean
2. 使用一个servlet处理请求
servlet读取请求参数,检查数据的缺失或异常等。
3. 填充bean
该servlet调用业务逻辑或数据访问代码得到最终的结果。得出的结果被放在第一步中定义的bean中。
4. 将bean存储在请求,会话或servlet的上下文中
该servlet调用请求、会话或servlet上下文对象的setAttribute存储表达请求结果的bean的引用。
5. 将请求转发到JSP页面
该servlet确定哪个JSP页面适合于处理当前的情形,并使用RequestDispatcher的forward方法将控制转移到那个页面。
6. 从bean中提取数据
JSP页面使用jsp:useBean和与第4步匹配的位置访问之前存储的bean,然后使用jsp:getProperty输出bean的属性。
JSP页面并不创建或修改bean;它只是提取并显示由servlet创建的数据。
jsp:useBean在MVC中的使用与在独立JSP页面中有什么不同
JSP页面不应该创建对象
应该由servlet创建所有的数据对象。因此,为了保证JSP页面不会创建对象,我们应该使用 jsp:useBean ... type “package.Class” /
而不是 jsp:useBean ... class package.Class /
JSP页面也不应该修改已有的对象
因此,我们应该只使用jsp:getProperty,不使用jsp:setProperty。 提示:jsp:useBean的scope选项
request
jsp:useBean id ... type ... scope request /
session
jsp:useBean id ... type ... scope session /
application
jsp:useBean id .. type .. scope application /
page
jsp:useBean id “...” type “...” scope “page” /
或者仅仅使用 jsp:useBean id ... type ... /
MVC Model 2 构架不使用这个scope。
不同数据共享方式
向用户显示一个随机的数字。
由于每次请求应该产生新的数字,因而基于请求的共享是恰当的。
显示用户的姓和名
数据要为每个客户存储,因而基于会话的共享比较
您可能关注的文档
最近下载
- 五恒系统方案书.pdf VIP
- 全套干扰峰分析图解析.docx
- 第十五讲新时代与中华民族共同体建设(2012— -中华民族共同体概论专家大讲堂课件.pdf VIP
- 种植施肥机械——栽植机械(水稻钵苗栽植机械)课件讲解.pptx VIP
- 企业工会助推企业高质量发展.docx VIP
- 施工技术管理措施.doc VIP
- 第六章维生素与辅酶.ppt VIP
- DB65T 4063-2017 沙化土地封禁保护区沙障技术技术工程.pdf VIP
- 2026江苏辖区农村商业银行泗阳农村商业银行校园招聘15人笔试备考试题及答案解析.docx VIP
- 种植施肥机械——栽植机械(水稻插秧机)课件讲解.pptx VIP
文档评论(0)