Servlet学习笔记(八)-----Servlet的本质详解

刚刚看jsp的时候,有个文章说JSP是一种特殊的Servlet,会生成.java,然后编译成.class。最后.class完成相应。

这时我突然间问自己,什么是servlet。学习了半天有什么函数,怎么用,有什么性质。可是居然不知道它是个什么。

容器?类?模板?工作流程也不知道。


1.什么是Servlet?

参考:https://www.zhihu.com/question/21416727

(我在知乎上查看的答案,但是不让复制,我用我的话简单的描述下吧)

首先,Servlet是一个Java接口,其中只有5个函数。

Servlet学习笔记(八)-----Servlet的本质详解

2.作用

说到servlet的作用,接口的作用就是定义一个规范,servlet接口定义的是一套处理网络请求的规范,所有实现servlet的类,都需要实现上面的5个方法。其中主要的是两个生命周期的init()和destroy(),还有一个处理请求的service()的方法。

当你想要写一个处理网络请求的类时,继承servlet后,你需要思考:

1.你初始化时要做什么?

2.你销毁的时候要做什么?

3.你接受到请求的时候要做什么?

(具体service()方法的介绍和doGet()+doPost()函数学习笔记(一)中 ,注意doGet()和函数doPost()函数都是httpServlet中的函数,不是servlet中的)

链接:https://blog.csdn.net/qq_36098284/article/details/79672825


引用一句话“Servlet的作用就是为java程序提供一个统一的WEB应用规范,方便这些

程序员统一的使用这种规范编写程序,应用容器可以使用提供的规范来实现自己的

特性。”


3.需要服务器(Tomcat)

然后,如果只继承一个servlet类后就能实现处理请求的功能了吗?

答案:并不是。

因为servlet是不会直接和客户端打交道的。那么就需要一个东西,来接受到客户端给的http请求,然后转成servlet可以接受的request形式,(request包括了所有的http内容,可以根据需要取出应用)让servlet处理。当servlet处理完成后,处理的结果要封装成servlet的response对象中,然后该东西解析response,变成客户端可以接受的http response返回给用户。

那么这个东西就是Tomcat(常用)

具体的工作流程解释在文章servlet学习笔记9中。

请链接:https://blog.csdn.net/qq_36098284/article/details/79807974



欢迎留言,交流讨论!!