Servlet学习笔记
Servlet简介
jsp作为对Servlet的技术拓展,我经常会弄混。依次做一下区别总结:
通过MVC可以很好的解决这两个问题:MVC:M(Model-模型【业务功能编写】:算法的实现、数据库的设计、数据存取)
V(View-视图【负责界面展示】) C(Controller-控制器【负责转发请求】)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sW5p5fwG-1617932769474)(media/7e202b08a126efa445924927307b2a0e.png)]
结合特色:Web浏览器发送HTTP请求到服务器端,这个时候,Servlet会获取并处理,之后调用模型部分(Model)获取结果,将业务处理的结果反馈给JSP(视图层),由JSP生成动态的HTML界面,规避了JSP动态生成的HTML代码的缺点,动态生成的HTML内容返回给Web浏览器栈展示。大大提高了代码的可读性和可维护性。
Servlet是什么?
servlet是运行在Web服务器上的程序,作为来自Web浏览器或者其它HTTP客户端的请求与HTTP服务器上的Model(数据库或应用程序)的中间层。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-psSvSVbr-1617932769489)(media/bc3d5ec4091b0aea1aedfd3548990e1b.png)]
servlet包可以使用javax.servelt和javax.servelt.http创建,Java
servlet就像其它任何Java类一样被创建和编译。
Servlet生命周期
servlet生命周期可以定义为从创建直到毁灭的过程。
servlet通过调用init()方法进行初始化
servlet调用service()方法来处理客户端请求
servelt通过调用destroy()方法来终止
这些过程都是由JVM的垃圾回收器进行垃圾回收的。
实例:第一个到达服务器的HTTP请求被委派到Servlet容器,Servlet容器调用service()方法之前加载Servlet,之后Servlet容器处理多个线程产生的多个请求,每个线程执行单一个Servlet实例的service()方法。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XzYHjKoP-1617932769493)(media/867708506760ffd9c65ec58e62a57640.png)]
@override
public void init( ) throws ServletException {
super.init( );
}
@override
protected void service(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
super.service( );
}
@override
public void destory( ) {
super.destroy( );
}