码迷,mamicode.com
首页 > 编程语言 > 详细

Java项目(4)——探究两种开发模型的异同-Model1与Model2

时间:2014-10-13 18:26:37      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   os   使用   ar   java   for   

      弱弱的说一句: jspweb服务器上,这一点应该没有疑问吧?

 

      首先很俗套地看下两个模型.

                                bubuko.com,布布扣



         Model1就是实现,实现就行,系统简单,谈不上架构,正如简单工厂并不算在23个常用设计模式之列一样.Model1的前身是


                                       bubuko.com,布布扣

          所有的业务逻辑都写在Jsp,和简单工厂没什么区别,从面向对象的角度来说就是职责不单一,不符合开闭原则.Model1将业务逻辑分离出来,一定程度上减轻了jsp的职责.但是,我们可以看到jsp负责取得页面参数,调用业务逻辑,渲染页面等,这又像我们很早之前用三层实现的机房收费系统,U层负责取得数据,调用业务逻辑,显示数据等,甚至会包含一些对数据的判断,如输入框是否为空之类的.严格上说,显示层就是负责显示页面的,不包含业务逻辑.于是,Model2就分离出控制部分,Servlet.

                     bubuko.com,布布扣



       看起来,它们就差了一个Servlet! Model1并不是少Servlet,这时候我来猜测一下的话,就会觉得Servlet一定被集成到jsp,下面看一个事实:在用Model1模型做的页面中(假设页面名称为login.jsp),表单提交到Servlet部分实现代码是:<form name="myForm" method="post"action="login.jsp">也就是说,它提交到自身了.这是不是说明jsp真的集成了Servlet?

       其实,Model1Model2真正的区别在于,一个自动生成Servlet,一个手动编写.当工程很大的时候,写到jsp中的内容就会又多又杂又乱,于是我们将它分开来,便于修改和维护.

 

Servlet是怎么工作的呢?

         先得注册Servlet.然后映射Servlet的对外访问路径,通过URL地址访问web服务器中的Servlet.可在web.xml中配置如下.

<servlet>
  	<servlet-name>myServlet</servlet-name>
  	<servlet-class>myServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>myServlet</servlet-name>
  	<url-pattern>/servlet/myServlet</url-pattern>
  </servlet-mapping>

         我们在新建java类后让他继承httpservlet,重写里面的Service,doGetdoPost方法,Servlet被实例化和初始化之后,即可处理请求,requestresponse作为参数传递,完成后续功能.

 

           Model2mvc的实现,也是三层的实现,之前看到很多人讨论它们之间的关系,众说纷纭.简单来说,三层是一种分层的思想,它代表着解耦.MVC是一种实现,它使用的正是三层的思想,而它和经典三层又不一样,不同之处主要表现在各层之间互相调用的关系上.


Java项目(4)——探究两种开发模型的异同-Model1与Model2

标签:style   blog   http   io   os   使用   ar   java   for   

原文地址:http://blog.csdn.net/zhuanzhe117/article/details/40046817

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!