Servlet缺点:(1)用servlet进行显示(out)会很麻烦,因为servlet是一个类,并不擅长做显示;(2)servlet直接访问数据表的话,servlet内的访问和操作数据表的代码就不能重用,比如说BS和CS时,不能够得到很好地重用。
JSP缺点:(1)JSP作为显示很好,但是访问数据库需要在页面上写大量的java代码(包括逻辑代码和访问数据库代码)(2)页面上写的java代码不能够很好的得到重用,如果利用一个个类将代码进行封装的话,效果会好一些,早些时候使用这种技术,但是也不容易维护和进行升级。
JSTL(JSP Standard Tag Library),JSP标准标签库)是一个不断完善的开放源代码的JSP标签库。
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
Servlet作为一个控制器,接收请求,根据请求的情况去调用java类,由java类来完成业务逻辑和访问数据库的操作,然后根据POJO的访问结果来转向一个JSP(转向的两种方式:转发和重定向),JSP来进行显示,JSP进行显示使用JSTL或者一些其他的标签,然后返回给用户一个响应。
MVC是Model-View-Controller的简称,即模型-视图-控制器。
MVC是一种设计模式,它把应用程序分成三个核心模块:模型(POJO之后的部分)、视图(JSP)、控制器(Servlet),它们各自处理自己的任务。
模型是应用程序的主体部分,模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据(通过网页在京东购物,京东本身有着安卓、ios等不同客户端,这些模型可以被重用,只是显示不一样)。由于应用于模型的代码只需写一次就可以被多个视图重用,所以提高了代码的可重用性。
视图是用户看到的并与之交互的界面,视图向用户显示相关的数据,接收用户的输入,不进行任何实际的业务处理(都是通过Model进行实际的业务处理)。
控制器接受用户的输入并调用模型和视图去完成用户的需求。控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。