JSP和Servlet的区别与联系

JSP(Java Server Pages):jsp 文件在容器中会转换成Servlet中执行。
  Servlet (Server Applet)用于交互式地浏览和修改数据,生成动态Web内容。
  jsp就是在html里面写java代码,servlet就是在java里面写html代码
  jsp更侧重于前端页面显示,servlet更侧重于业务逻辑。
Jsp 本质上是servlet,用jsp实现的页面用servlet也能实现。

jsp是对servlet的一种高级封装。本质还是servlet。  在第一次加载jsp页面的时候,会生成一个java文件,在虚拟机编译为.class文件,最后加载并初始化为一个servlet。 

   jsp可以放在和html同样位置(webapps根目录下或者webapps根目录下的子目录下)而且不需要配置,可以直接使用。
   要使用servlet必须把它放在特定位置而且必须对其映射配置。

在struts框架中,JSP位于MVC设计模式的视图层,Servlet位于控制层。

Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开

MVC架构:

这里写图片描述

这里写图片描述

 1、Web浏览器发送HTTP请求到服务端,被Controller(Servlet)获取并进行处理(例如参数解析、请求转发) 
 2、Controller(Servlet)调用核心业务逻辑——Model部分,获得结果 
 3、Controller(Servlet)将逻辑处理结果交给View(JSP),动态生成的HTML内容并返回到浏览器显示

Servlet程序各模块介绍
1.JSP             用于显示、收集数据的部分。
2.Servlet        用于验证数据、实例化JavaBean、调用DAO连接数据库、控制页面跳转
3.DAO           用于连接数据库及进行数据库的操作如:查询、删除、更改等
4.JavaBean     用于数据的封装,方便将查询结果在servlet与jsp页面之间进行传递等
5.servlet过滤器    它能够在一个request到达servlet之前预处理request,也可以在离开servlet时处理response
6.servlet监听器  监听Web的各种操作,当相关的操作触发后将产生的事件,并对此事件进行处理
以上 1,2,3,4部分共同构成了MVC模式,JSP为MVC模式当中的V,Servlet为C,DAO与JavaBean合在一起为M。

模式运行流程
       用户首先打开一个JSP页面,这个JSP页面用于收集用户输入的数据(使用Form表单实现),当用户单击提交按钮时,此JSP页面被提交到对应的Servlet,此时工作转向Servlet。Servlet将提交到的数据进行处理,处理过程如下:
1、(可选)对数据进行合法性验证、乱码处理等
2.    实例化DAO,调用DAO的方法(进行数据库数据的更新查询操作)
3.    将DAO返回的数据进行保存,保存的位置可选(request,session等)
4.     进行页面的跳转
在Servlet调用DAO的方法过程中,DAO的处理过程如下:
1.       连接数据库(这些操作可以放在DAO的构造函数当中,也可以写成单独的方法)
2.       处理查询方法,这里给出基本步骤。先按查询语句及传过来的参数进行数据库的查询得到一个ResultSet结果集,为了方便将结果返回给Servlet及方便后面的显示,现将结果进行封装并以ArraryLis或者JSON串,xml串等等t的形式返回给servlet。为了进行数据的封装,这里就需要实例化一个JavaBean,这个JavaBean的字段与数据库表当中的字段一一对应,并为各个字段添加get(),set()方法。
Serlvet在得到数据后,再将页面进行跳转,此时数据已保存下来。我们可以在另外一个JSP页面当中将数据提取出来,并按一定的格式进行排列。至此,一个完整的查询操作就完成了。
此操作虽然比较简单,但是却充分体现了MVC模式的思想。
 

猜你喜欢

转载自blog.csdn.net/weixin_38911591/article/details/90290960