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部分实现代码是:<form
name="myForm" method="post"action="login.jsp">也就是说,它提交到自身了.这是不是说明jsp真的集成了Servlet呢?

其实,Model1与Model2真正的区别在于,一个自动生成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,即doGet和doPost方法,当Servlet被实例化和初始化之后,即可处理请求,将request和response作为参数传递,完成后续功能.

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

时间: 2024-08-05 23:40:59

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

对Java代码加密的两种方式,防止反编译

使用Virbox Protector对Java项目加密有两种方式,一种是对War包加密,一种是对Jar包加密.Virbox Protector支持这两种文件格式加密,可以加密用于解析class文件的java.exe,并且可以实现项目源码绑定制定设备,防止部署到客户服务器的项目被整体拷贝. 两种加密方式 War 包加密 当你的项目在没有完成竣工的时候,不适合使用 war 文件,因为你的类会由于调试之类的经常改,这样来回删除.创建 war 文件很不爽,最好是你的项目已经完成了,不改了,那么就打个 w

javaweb学习总结(二十一)——JavaWeb的两种开发模式

SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示 图1-1 在jsp+javabean架构中,JSP负责控制逻辑.表现逻辑.业务对象(javabean)的调用. JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下

javaweb基础(21)_两种开发模式

SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示 图1-1 在jsp+javabean架构中,JSP负责控制逻辑.表现逻辑.业务对象(javabean)的调用. JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下

javaweb学习总结(二十一)——JavaWeb的两种开发模式【转】

原文 地址:http://www.cnblogs.com/xdp-gacl/p/3908610.html SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示 图1-1 在jsp+javabean架构中,JSP负责控制逻辑.表现逻辑.业务对象(j

javaweb(二十一)——JavaWeb的两种开发模式

一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示 图1-1 在jsp+javabean架构中,JSP负责控制逻辑.表现逻辑.业务对象(javabean)的调用. JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据. 1.2.JSP+JavaBean开发模式编写计算器 首先分析一下jsp和javabe

JMS两种消息模型

前段时间学习EJB,接触到了JMS(Java消息服务),JMS支持两种消息模型:Point-to-Point(P2P)和Publish/Subscribe(Pub/Sub),即点对点和发布订阅模型. 个人觉得这两个模型挺容易理解的,因为生活中的例子还挺多的. 1,  P2P模型 有以下概念:消息队列(Queue).发送者(Sender).接收者(Receiver).每个消息都被发送到一个特定的队列,接收者从队列获取消息.队列保留着消息,直到它们被消费或超时. (1) 每个消息只有一个消费者(Co

创建 Spring Boot 项目常用的两种方式

在开发中,常用的创建的 Spring Boot 项目方式有两种,一种是使用 Spring Initializr , 一种是创建一个 Maven 工程,导入 Spring Boot 的依赖 使用 IDEA 的 Spring Initializr 的方式 选择 IDEA 的 File -> New -> Project 选择 Spring Initializr ,如下图: 在 Project Metadata 页面,输入 Group, Artifact ,Version, Name, Descri

简述java中抛出异常的两种方式

java编程中经常遇到异常,这时就需要利用java中的异常抛出机制,在java中提供了两种抛出异常的方法:try{}  catch() {}和throw. 一.抛出异常的两种方式 (1) 首先我们来看一下try()  catch(){}这种方式: ? 1 2 3 4 5 6 try{    i=9\0; } catch(exception e) {     system.out.println("除数不能为0"): } 该种方式是将待执行的代码放入try中,如果执行的代码发生异常就会被

Java开启线程的两种方式

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.ios培训..Net培训</a>.期待与您交流!------ Java开启线程的两种方式: 方式一:成为线程(Thread)的儿子,即继承Thread类简单代码如下:class Student extends Thread{Student(String name){super(name);}public