servlet是干什么的?

servlet是干什么的?知乎上一个名为“servlet的本质是什么,它是如何工作的?”问题下面的各种回答,基本解答了我的疑问。感谢。现在,做一个知识的搬运工……1.浏览器发送一个HTTP请求,HTTP请求由Web容器分配给特定的Servlet进行处理,Servlet的本质是一个Java对象,这个对象拥有一系列的方法来处理HTTP请求。常见的方法有doGet(),doPost()等。Web容器中…

大家好,又见面了,我是你们的朋友全栈君。

知乎上一个名为“servlet的本质是什么,它是如何工作的?”问题下面的各种回答,基本解答了我的疑问。

感谢。

现在,做一个知识的搬运工……

1.

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

作者:杨宇翔
链接:https://www.zhihu.com/question/21416727/answer/28555855
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.

Servlet本质就是javax.servlet包下的一个接口,广义上来说包含其子接口与实现类,像我们自己写的什么BaseServlet,LoginServlet;SpringMVC的Dispatcherservlet;Tomcat的HttpServlet都是Servlet。

工作原理就是反射+回调。目前所有的MVC框架的Controller基本都是这么个模式。

Servlet的执行是其容器如Tomcat通过web.xml的配置反射出Servlet对象后回调其service方法。

作者:戴帽子的狗
链接:https://www.zhihu.com/question/21416727/answer/167610518
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

3.

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

作者:温学良
链接:https://www.zhihu.com/question/21416727/answer/82511153
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

自我补充:JSP与Servlet

JSP本质上就是Servlet,Web服务器把每个被访问的JSP文件先翻译成对应的Servlet,然后再编译运行。


这是一条一年多以后的分割线……

现在J2EE课,老师讲了这个,再补充一下:

Servlet 必须在Web Server这个容器下运行 ;

Servlet具有平台独立性,Java Servlets are 100% pure Java;

Servlet可以直接与Web服务程序对话,Servlet之间也可以共享数据。

servlet是干什么的?

时隔好几年,看了狂神说Java的视频,里面讲servlet的原理是:

servlet是干什么的?

 

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

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

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


相关推荐

  • 简单说明什么是宏观社会环境和微观社会环境?_kafka是什么

    简单说明什么是宏观社会环境和微观社会环境?_kafka是什么Kafka通俗理解Apachekafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息中间件,只是粗略的讲解,目前kafka已经可以做更多的事情。举个例子,生产者消费者,生产者生产鸡蛋,消费者消费鸡蛋,生产者生产一个鸡蛋,消费者就消费一个鸡蛋,假设消费者消费鸡蛋的时候噎住了(系统宕机了),生产者还在生产鸡蛋,那新生产的鸡蛋就丢失了。…

    2022年10月7日
    2
  • 推荐书籍:FFmpeg从入门到精通

    推荐书籍:FFmpeg从入门到精通本书是一本介绍FFmpeg的实战技术指南,全书共10章,分为两个部分。第一部分部分(第1~7章)为FFmpeg的命令行使用篇,介绍了FFmpeg的基础组成部分、FFmpeg工具使用、FFmpeg的封装操作、FFmpeg的转码操作、FFmpeg的流媒体操作、FFmpeg的滤镜操作、FFmpeg的设备操作。第二部分(第8~10章)为FFmpeg的API使用篇,介绍了FFmpeg封装部分的API使用操作、FFmpeg编解码部分的API使用操作,FFmpeg滤镜部分的API使用操作,相关操作均以实例方式进行

    2022年6月26日
    24
  • UDP协议支持广播发送数据_tcp协议建立连接的过程

    UDP协议支持广播发送数据_tcp协议建立连接的过程UDP(用户数据报协议)是OSI(OpenSystemInterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。目录什么是UDP协议?UDP协议数据传输原理DatagramPacket类DatagramSocket类UDP协议网络通信客户端服务器程序服务器端程序客户端程序Hello!大家好!我是灰小猿。之前和大家分享了使用TCP协议进行网络通信的过程,想了解的小伙伴可以看我的这篇文章《Java利.

    2022年5月3日
    76
  • golang 时间轮_窗口时间

    golang 时间轮_窗口时间timewheelGolang实现的时间轮,项目地址安装goget-ugithub.com/ouqiang/timewheel使用packagemainimport(“github.com/ouqiang/timewheel””time””fmt”)funcmain(){//tick刻度为1秒,3600个槽,执行的jobtw

    2022年9月26日
    2
  • js 浏览器全屏_js判断浏览器是否全屏

    js 浏览器全屏_js判断浏览器是否全屏这篇博文写的比较好,收藏下https://www.cnblogs.com/javaee6/p/3756249.html全屏有兼容性问题,这里针对谷歌浏览器举例Document

    2025年6月18日
    2
  • C语言常见面试题_嵌入式面试题 c语言

    C语言常见面试题_嵌入式面试题 c语言1.标识符标识符是C程序的最基本组成部分,例如:变量名称、函数名称、数据类型等等,都是一个标识符。标识符的要求是:必须由字母(区分大小写)、数字、下划线组成。而且,标识符的第一个字符不可以是数字。例如:abc—合法_abc123—合法abc555—合法123abc—非法abc$!!—非法下列字符串可以用作C++标识…

    2022年8月28日
    3

发表回复

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

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