Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】(下)

简介: Servlet其实就是一个遵循Servlet开发的java类。Serlvet是由服务器调用的,运行在服务器端。

Servlet的作用

Servlet带给我们最大的作用就是能够处理浏览器带来HTTP请求,并返回一个响应给浏览器,从而实现浏览器和服务器的交互


JAVAWEB目录结构

42.jpg

以上图说明:

  • bbs目录代表一个web应用
  • bbs目录下的html,jsp文件可以直接被浏览器访问
  • WEB-INF目录下的资源是不能直接被浏览器访问的
  • web.xml文件是web程序的主要配置文件
  • 所有的classes文件都放在classes目录下
  • jar文件放在lib目录下

实现Servlet接口编写Servlet程序

程序我都是由idea下写,首先要在idea上配置Tomcat,在我别的博文中有教程!

编写Servlet程序的步骤

  • 创建一个自定义类,实现Serlvet接口

43.jpg

  • 我们发现有5个方法需要重写,有init【初始化】,destroy【销毁】,service【服务】,ServletConfig【Servlet配置】,getServletInfo【Serlvet信息】。
  • 在此一看,发现service()方法是最有可能是写逻辑代码的地方。
  • 首先写一个hellword入门先
  • 调用ServletResponse对象的方法向浏览器输出HelloWorld

44.jpg

配置xml文件,光写了Servlet是不行的,Tomcat还要知道浏览器怎么访问这个Servlet。

45.jpg

访问自己写的Serlvet程序

46.jpg

Serlvet生命周期

  • 下面我们看看Servlet的生命周期

47.jpg

第一次访问Servlet,我们发现init()和service()都被调用了

48.jpg

第二次访问Servlet,service()被调用了

49.jpg

第三次访问Servlet,还是service()被调用了

50.jpg

当我们关闭Tomcat服务器的时候,destroy()被调用了!

51.jpg

Servlet生命周期可分为5个步骤

  1. 加载Servlet。当Tomcat第一次访问Servlet的时候,Tomcat会负责创建Servlet的实例
  2. 初始化。当Servlet被实例化后,Tomcat会调用init()方法初始化这个对象
  3. 处理服务。当浏览器访问Servlet的时候,Servlet 会调用service()方法处理请求
  4. 销毁。当Tomcat关闭时或者检测到Servlet要从Tomcat删除的时候会自动调用destroy()方法,让该实例释放掉所占的资源。一个Servlet如果长时间不被使用的话,也会被Tomcat自动销毁
  5. 卸载。当Servlet调用完destroy()方法后,等待垃圾回收。如果有需要再次使用这个Servlet,会重新调用init()方法进行初始化操作
  • 简单总结:只要访问Servlet,service()就会被调用。init()只有第一次访问Servlet的时候才会被调用。

destroy()只有在Tomcat关闭的时候才会被调用。


继承HttpServlet编写Servlet程序

在上面我们实现Servlet接口,要实现5个方法。这样太麻烦了!而HttpServlet类已经实现了Servlet接口的所有方法,编写Servlet时,只需要继承HttpServlet,重写你需要的方法即可,并且它在原有Servlet接口上添加了一些与HTTP协议处理方法,它比Servlet接口的功能更为强大

  • 一般我们开发的时候,都是重写doGet()和doPost()方法的。对于idea而言,创建Servlet的时候已经帮你重写好了

52.jpg

如果文章有错的地方欢迎指正,大家互相交流。

目录
相关文章
|
1天前
|
安全 网络协议 网络安全
干货|代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理
HTTP和HTTPS是互联网主要的两大协议,HTTP是基础的简单请求-响应协议,常用于TCP上,但数据传输不安全。HTTPS是HTTP的安全版本,添加了SSL层进行加密和身份验证,提供更高的安全性,用于保护数据和验证网站真实性。HTTPS需CA证书,可能产生费用,并使用443端口而非HTTP的80端口。
|
1天前
|
网络协议 安全 数据安全/隐私保护
干货|代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理
SOCKS5和HTTP是两种代理协议,前者是通用型,支持多种网络流量,提供身份验证、IPv6支持及UDP兼容性,更适合实时数据传输。HTTP代理专用于HTTP协议,适用于Web资源请求。SOCKS5在传输方式、功能、兼容性和安全性上更胜一筹,而HTTP代理则在处理HTTP请求时更专业。选择代理协议应根据需求和应用场景,考虑服务的稳定性和安全性。付费代理如kookeey全球代理,支持双协议,速度快且可扩展性强,是可靠的选择。
|
2天前
|
数据采集 网络协议 安全
2024年,你还在等什么?一起探索HTTP协议的奥秘!
2024年,你还在等什么?一起探索HTTP协议的奥秘!
|
2天前
|
网络协议 Java 应用服务中间件
HTTP协议与Tomcat在IJ中配置
本文是对自己学习JavaWeb学习的笔记的总结,添加了一些自己的东西,然后进行一次复盘,并加深一下学习的理解和印象.其中内容主要包括对http协议的详细介绍,java常见服务器的初步介绍,以及IJ旧版和新版的tomcat服务器的配置图解教程
|
2天前
|
存储 网络协议 JavaScript
应用层 HTTP协议(1)
应用层 HTTP协议(1)
5 0
|
3天前
|
缓存 安全 Linux
【探索Linux】P.33(HTTP协议)
【探索Linux】P.33(HTTP协议)
29 7
|
5天前
|
存储 算法 安全
[计算机网络]---Https协议
[计算机网络]---Https协议
|
5天前
|
存储 缓存 网络协议
[计算机网络]---Http协议
[计算机网络]---Http协议
|
10天前
|
前端开发 API 网络架构
RESTful接口与http协议状态表述
该文介绍了RESTful风格API的好处和设计原则。RESTful API以资源为中心,通过HTTP方法(GET, POST, PUT, DELETE)表示操作,利用状态码反馈操作结果。它简化了客户端与服务端的交互,提供了一种通用规范,减少沟通成本。设计要点包括:URI描述资源,HTTP方法体现操作,使用标准HTTP状态码,GET不改变数据,使用复数名词,支持复杂资源关系,可选实现HATEOAS,以及接口版本管理。
|
11天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的