servlet 小知识[通俗易懂]

servlet 小知识

大家好,又见面了,我是全栈君。

浏览器发送一个HTTP请求,HTTP请求由Web容器分配给特定的Servlet进行处理,Servlet的本质是一个Java对象,这个对象拥有一系列的方法来处理HTTP请求。常见的方法有doGet(),doPost()等。Web容器中包含了多个Servlet,特定的HTTP请求该由哪一个Servlet来处理是由Web容器中的web.xml来决定的。

 

作者:psyduck

链接:https://www.zhihu.com/question/21416727/answer/28555855

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

 

作者:温学良

链接:https://www.zhihu.com/question/21416727/answer/82511153

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

 

web服务器习惯处理静态页面,所以需要一个程序来帮忙处理动态请求(如当前时间)。Web服务器程序会将动态请求转发给帮助程序,帮助程序处理后,返回处理后的静态结果给web服务器程序。这样就避免了web服务器程序处理动态页面。Servlet的本质是一个帮助程序。如下图

 
servlet 小知识[通俗易懂]

 

 

Servlet工作流程分为三个阶段。init(初始化),service(运行),destroy(销毁)

Servlet没有main方法,所有行为由Container控制。Container就是一个java程序。

在加载Servlet的.class后,Servlet会由构造函数生成一个实例,然后Container调用init()方法完成参数的初始化,接着调用service()方法,service会根据网页的请求,调用doGet或者doPost方法,最后调用销毁方法。整个流程如下图:

servlet 小知识[通俗易懂]

 

 

虽千万人,吾往矣!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108141.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Django(14)模型中常用的属性(超详细)[通俗易懂]

    Django(14)模型中常用的属性(超详细)[通俗易懂]模型中常用字段字段说明AutoField一般不需要使用这个类型,自增长类型,数据表的字段类型为整数,长度为11位BigAutoField自增长类型,数据表的字段类型为bigint,长度为2

    2022年8月7日
    0
  • pycharm中安装第三方库出现错误_pycharm常用第三方库

    pycharm中安装第三方库出现错误_pycharm常用第三方库我在命令行窗口用pipinstall库名的时候,ModuleNotFoundError:Nomodulenamed‘pip._internal.cli.main’这是在pycharm里报的错Traceback(mostrecentcalllast):File“f:\python\lib\runpy.py”,line193,in_run_module_as_main“main”,mod_spec)File“f:\python\lib\ru

    2022年8月26日
    3
  • tcptraceroute命令可以绕过最常见的防火墙过滤器「建议收藏」

    tcptraceroute命令可以绕过最常见的防火墙过滤器「建议收藏」问:我的ISP阻止了ICMPECHO请求,我不能使用traceroute命令,有什么方法可以使用端口转发或类似方法发送traceroute?答:tcptraceroute命令可以绕过最常见的防火墙过滤器。基本上,traceroute会发送TTL为1的UDP(端口33434至33523端口)或ICMPECHO数据包,并递增TTL,直到到达目标为止。但是,出于安全原因,许多ISP/WSP(网络托管服务提供商)会阻止某些UDP(甚至TCP)和ICMP端口。使用tcptracerou

    2022年6月20日
    43
  • 网页406错误(网页错误代码1607)

    原因出现网页出现406问一般为一下两种情况 *1、缺失jar包, * *2、如果访问的url的后缀名是以.html结尾的,则服务端不能响应json数据。因为springMVC会误以为.html后缀名的请求,是请求访问某个html文件,则springMVC则无法处理响应json数据 解决方法 *解决方法: * 1、检查所依赖的jar包是否完整 *2、在we…

    2022年4月17日
    58
  • linux redis安装步骤_redis安装部署centos

    linux redis安装步骤_redis安装部署centos背景Redis版本6.0.1服务器版本LinuxCentOS7.664位一、下载进入官网找到下载地址https://redis.io/download鼠标右击选择复制链接地址进入到Xshell控制台,进入usr/,输入wget,命令如下:[root@bdausr]#cdusr/[root@bdausr]#wgethttps://download.redis.io/releases/redis-6.0.10.tar.gz二、解压[root@bdausr]

    2022年10月4日
    0
  • Pytest(11)allure报告[通俗易懂]

    Pytest(11)allure报告[通俗易懂]前言allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。mac环境:

    2022年7月30日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号