java model1和model2_Java项目(4)——探究两种开发模型的异同-Model1与Model2
弱弱的说一句: jsp在web服务器上,这一点应该没有疑问吧?
首先很俗套地看下两个模型.
Model1就是实现,实现就行,系统简单,谈不上架构,正如简单工厂并不算在23个常用设计模式之列一样.Model1的前身是
所有的业务逻辑都写在Jsp里,和简单工厂没什么区别,从面向对象的角度来说就是职责不单一,不符合开闭原则.Model1将业务逻辑分离出来,一定程度上减轻了jsp的职责.但是,我们可以看到jsp负责取得页面参数,调用业务逻辑,渲染页面等,这又像我们很早之前用三层实现的机房收费系统,U层负责取得数据,调用业务逻辑,显示数据等,甚至会包含一些对数据的判断,如输入框是否为空之类的.严格上说,显示层就是负责显示页面的,不包含业务逻辑.于是,Model2就分离出控制部分,即Servlet.
看起来,它们就差了一个Servlet!但Model1并不是少Servlet,这时候我来猜测一下的话,就会觉得Servlet一定被集成到jsp中,下面看一个事实:在用Model1模型做的页面中(假设页面名称为login.jsp),表单提交到Servlet部分实现代码是:
name="myForm" method="post"action="login.jsp">也就是说,它提交到自身了.这是不是说明jsp真的集成了Servlet呢?
其实,Model1与Model2真正的区别在于,一个自动生成Servlet,一个手动编写.当工程很大的时候,写到jsp中的内容就会又多又杂又乱,于是我们将它分开来,便于修改和维护.
Servlet是怎么工作的呢?
先得注册Servlet.然后映射Servlet的对外访问路径,通过URL地址访问web服务器中的Servlet.可在web.xml中配置如下.
myServlet
myServlet
myServlet
/servlet/myServlet
我们在新建java类后让他继承httpservlet,重写里面的Service,即doGet和doPost方法,当Servlet被实例化和初始化之后,即可处理请求,将request和response作为参数传递,完成后续功能.
Model2是mvc的实现,也是三层的实现,之前看到很多人讨论它们之间的关系,众说纷纭.简单来说,三层是一种分层的思想,它代表着解耦.MVC是一种实现,它使用的正是三层的思想,而它和经典三层又不一样,不同之处主要表现在各层之间互相调用的关系上.
原文:http://blog.csdn.net/zhuanzhe117/article/details/40046817
java model1和model2_Java项目(4)——探究两种开发模型的异同-Model1与Model2相关推荐
- C/S和BS两种开发模型
C/S和BS两种开发模型 一.什么是C/S开发模式? 二.什么是B/S开发模式? 三.C/S和B/S的优缺点 一.什么是C/S开发模式? C/S⼜称Client/Server或客户/服务器模式.服务器 ...
- Java学习笔记:创建线程的两种方法
Java学习笔记:创建线程的两种方法 一.预备工作 1.创建Maven项目ThreadDemo 2.在pom.xml里添加依赖 二.继承Thread类创建子线程
- Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- 在java程序中定义的类有两种成员_java试题 急需答案 谢谢!!!
三.填空(每小题2分,共10分)1.在Applet中,创建一个具有10行45列的多行文本区对象ta的语句为:2.创建一个标识有"关闭"字样的标签对象gb的语句为.3.方法是一种仅有 ...
- Java 解析Excel(xls、xlsx两种格式)
Java 解析Excel(xls.xlsx两种格式) 一.环境 JDK 1.8 二.JAR 1.commons-collections4-4.1.jar 2.poi-3.9-20121203.jar ...
- [转]DES加密 java与.net可以相互加密解密两种方法
[转]原文地址:http://jumpman.javaeye.com/blog/605996 DES加密 java与.net可以相互加密解密两种方法 文章分类:Java编程 通过这个方法可以实现jav ...
- javaweb学习总结(二十一)——JavaWeb的两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...
- javaweb学习总结(二十一):JavaWeb的两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...
- javaweb(二十一)——JavaWeb的两种开发模式
一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示 图1-1 在jsp+javabean架构中,JSP负 ...
最新文章
- 点分十进制IP校验、转换,掩码校验
- 遗传:细菌、真菌和动植物的泛基因组研究进展
- 《敏捷制造——敏捷集成基础结构设计》——1.2相关问题的国内外研究现状
- 【转】不用软件,解压Win8/Win8.1的install.wim文件
- 编写程序将一行英文中指定的字符串替换为另一字符串后输出。注意:查找指定字符串_python 3 笔记(一)...
- 上海东海学院计算机,上海东海职业技术学院
- mysql抓取csv_如何将.csv数据上传、提取、存储到服务器并传输到mysql
- bzoj 5093 [Lydsy1711月赛]图的价值——第二类斯特林数
- 主要由javascript实现的网页打字小游戏
- Linux安装和卸载JDK8详解
- Clearcase, SVN, Git之我见
- Spring Boot 静态资源处理
- 如何解决Worm.Win32.AutoRun.bqn(文件夹改exe病毒)
- 对 ESX/ESXi 上的网络和 TCP/UDP 端口连接问题进行故障排除 (2020669)
- Gerry。沙漠苦旅。
- 券商Robinhood大量客户被最低价格强平-交易成本拉大500倍,游戏驿站GME只能平仓不能开仓-看看行政总裁Vlad Tenev是如何回复这些问题的?
- python pandas csv 写文件_Pandas读写CSV文件的方法介绍(附代码)
- 今日收获总结 (前端知识点3)
- anaconda使用arcpy库
- 自媒体全是带节奏的标题党,不是创作者不行,而是用户们想看