【JavaWeb】面试知识点总结

JavaWeb面试知识点总结

2019/11/2 周六
内容:Servlet、JSP、Cookie、Session、MVC架构模式、DAO、JDBC、AJAX、JSON、forward和redirect、GET和POST


一、Servlet

详细笔记链接

1. 什么是Servlet

Servlet由Server和let的组成,let在英文的构词中,一般充当词尾,表示“小部件”的意思,因此Servlet表达的是服务器端的小应用程序的意思。

Servlet就是 运行在Web服务器端的Java程序,处理客户浏览器发送来的请求 。一般来说,Servlet主要用来处理HTTP的请求,但是Servlet本身不局限于用来开发基于HTTP协议的应用,也可以开发其他协议的应用。

Servlet从设计上来讲,主要应用了设计模式中的模板模式,定义几个接口和抽象类,如果你需要编写Servlet程序,只要继承或者实现特定的抽象类、接口,实现抽象方法。而被重写的方法中应包含能处理用户发来的特定请求的代码。

2. Servlet的应用

Servlet能够编写很多基于服务器端的应用,例如:
(1)动态处理用户提交上来的HTML表单。
(2)提供动态的内容给浏览器进行显示,例如,动态从数据库获取的查询数据。
(3)在HTTP客户请求维护用户的状态信息,例如,利用Servlet技术实现虚拟购物车功能,利用虚拟的购物车保持用户在不同购物页面购买的商品信息。

3. Servlet的生命周期

(1)实例化
当Servlet部署到Web容器中以后,客户机发送调用这个Servlet的请求到达Web容器,Web容器会先判断所调用的Servlet的实例是否存在。如果存在,新创建一个线程,并在新建线程中调用这个实例的service()方法。如果不存在,装载当前所调用的Servlet的类,调用构造方法生成这个Servlet的实例。
(2)初始化
然后立即调用这个实例的init()方法进行初始化,特别强调init()这个方法只会在Servlet初始化的时候调用一次,创建后的servlet对象会一直驻留在服务器内部,为后续的请问提供服务,除非这个Servlet被重新部署。
(3)处理请求服务
只要有请求访问servlet,服务就会在新建的线程中调用这个Servlet实例的service()方法,处理用户的请求,回应给用户相应的内容。
(4)对象销毁
当Servlet不再需要使用的时候,比如其所在的Web应用被卸载或Web服务器关闭时,它会被卸载掉,卸载前调用destroy()方法,完成所有相关资源的释放。

二、JSP(Java Server Pages)

详细笔记链接

1. 什么是JSP

JSP(Java Server Pages)就是 运行在服务器端的Java页面 ,是Servlet更高级别的扩展,通过JSP可以让开发人员 把普通的Java代码镶嵌到HTML页面中 ,最终JSP文件会通过Web服务器的Web容器编译成一个Servlet,用来处理各种请求。

2. JSP与Servlet的联系和区别

Servlet与JSP可以认为是Java实现Web编程的第一代和第二代技术。就是由于Servlet不便于快速开发包括大量HTML代码的动态网页,于是Sun公司推出了JSP技术用来快速开发动态的Web页面。

Servlet和JSP是实现同一种编程效果的不同的两种实现方式。JSP更擅长表现于页面显示,servlet更擅长于逻辑控制。

从根本上来说JSP就是Servlet。因为JVM虚拟机只能识别Java的类,不能识别JSP的代码,因此JSP在web服务器中运行时,就是先转化成Servlet,Servlet则是个完整的Java类,JVM能够识别,然后再调用转化后Servlet的方法,把输出的动态HTML内容返回给客户的浏览器。

<
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值