Javaweb

MVC

MVC——Model(模型),View(视图),Controller(控制器)
MVC用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
视图(表示层):
视图是用户看到并与之交互的界面,常用HTML,JSP实现。它是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。功能主要表现在:1.根据客户类型显示信息。2.显示商业逻辑(模型)的结构,而不关心信息如何获取何时获得。
模型(业务逻辑层):
模型表示企业数据和业务规则,是应用程序的主体部分。它是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据。模型层实现系统中的业务逻辑,通常可用JavaBean或EJB实现
控制器:
控制器接受用户的输入并调用模型和视图去完成用户的需求,是模型与视图直接沟通的桥梁。它可以把用户的请求分派并选择恰当的视图来显示他们,它也可以解释用户的输入并将其映射为模型层能执行的操作。它是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
在这里插入图片描述
MVC缺点:代码量增大
(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
(2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
(4) 目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。

servlet

servlet是采用Java语言编写的服务器端程序,它运行于web服务器中的servlet容器中,其主要功能是提供请求/响应的Web服务模式,可以生成动态的Web内容,而这正是HTML所不具备的功能。在Servlet中没有main(),是在容器的控制下执行的,最常被使用的容器为Tomcat。当Web服务器获取一个对Servlet的请求时,该服务器会把这个请求交给对应的容器来处理,容器通过调用Servlet的方法(doGet()或doPost())来响应客户端的请求。在这里插入图片描述
在这里插入图片描述
Servlet优点:
1.较好的可移植性。由于Java语言具有跨平台和可移植性强的特点,使得Servlet也有较好的可移植性,即无需修改代码就可以部署到多种不同类型的Web服务器上。
2.执行效率高。由于CGI针对每个请求都会创建一个进程来处理,而Servlet针对每个请求创建一个线程来执行,而创建线程比创建进程的开销要小,因此和CGI相比,Servlet在交互过程中有更短的响应时间,响应效率更高。
3.功能强大。Servlet可以与Web服务器进行交互,而CGI却无法与Web服务器直接交互。
4.使用方便。Servlet提供了许多非常有用的接口以用来读取或设置HTTP头消息,处理Cookie和跟踪会话状态等。
5.可扩展性强。由于Servlet是用Java编写的,因此它具备Java语言所有的优点。Java语言是健壮的,面向对象的编程语言,它易扩展,Servlet也具备这样的优点。
生命周期:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值