大家好,又见面了,我是你们的朋友全栈君。
知乎上一个名为“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之间也可以共享数据。
时隔好几年,看了狂神说Java的视频,里面讲servlet的原理是:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/147977.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...