Servlet(生命周期、组成、执行原理)、tomcat和socket关系

先感谢博友们

Socket与Servlet的简单理解:https://blog.csdn.net/sdjkjsdh/article/details/51569481

servlet详解:https://www.cnblogs.com/whgk/p/6399262.html

tomcat:https://blog.csdn.net/yilaguandemei/article/details/78994650

下文如有错误望评论学习


BS:基于浏览器和服务端

CS:基于客户端和服务端

1. servlet技术

这是服务器响应客户端(Web端)的方式,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。 

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了Servlet接口的类。

Servlet是为了实现动态页面

优点高效率,易使用,功能强大,好的可移植性,节省投资。

不需要建立连接。仅仅是处理http请求的内容。 所有的输入输入输出电文都由applicationserver 进行处理,到servlet时,已经转换成对象了。属于应用层的东西。

组成

1.init()
2.service()
3.destory()
4.getServletInfo()//获取信息(版本、作者)
5.getServletConfig()//获取配置

执行原理

1.服务器接收到客户端浏览器的请求后,解析请求url,获取访问servlet的资源路径
2.在xml寻找相同url
3.如果找到就寻找对应得servlet全类名
4.tomcat将字节码文件加载进内存,并创建其对象
5.调用其方法

生命周期

1.被创建:第一次被访问的时候执行init方法,只执行一次,用于申请资源
  //也可以指定创建时间,web.xml中<load-on-startup>
  设置一个>=0的数,服务器启动创建。
  设置一个<0的数,第一次访问启动创建。
  【只存在一个对象,是单例的。可能存在线程安全问题,所以尽量不要在servlet中定义成员变量,即使定义了也不要对其修改】
  
2.服务:执行service方法,执行多次(每次访问都会执行一次)
​
3.被销毁:执行destory方法,被销毁之前执行一次
  只有服务器正常关闭时才会执行,用于销毁资源。
​

2. Tomcat(web容器)

Servlet是没有main()方法,它受控于另外一个Java应用,这个Java应用是帮助创建servlet的东西,所以也称web容器,没有它没法运行web项目。

功能:简单的说它是一个Web网站的运行容器,把你写好的网站放进去就可以运行。

作用

1.支持通信:利用容器提供的方法,能够轻松让Servlet与Web服务器对话,无需自己建立ServerSocket,监听端口,创建流等操作。

2.生命周期管理:负责加载类,实例化和初始化Servlet,调用Servlet的方法,并使Servlet实例能够被垃圾回收。

3.多线程支持:自动的为他接收到的每个Servlet请求创建一个新的Java线程。

4.使用XML部署描述文件来配置安全性。

5.JSP支持:可以将JSP代码翻译为java代码。


3. socket(套接字)

是指明两个地址的连接通讯(服务端和客户端)方式.在源和目的两端都建立socket进行连接通信。

和socket关联的东西大多是服务器,客户端,TCP,UDP,字节流之类的.

需要自己建立连接,自己分析输入电文构造输出电文。 

servlet是Socket的一种应用,完全可以通过socket实现一套自己的Servlet

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值