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模式的思想。