什么是Servlet
# 0.什么是Servlet
Servlet就是一个处理http请求的接口(规范),是JavaWeb的核心技术。
# 什么是Servlet
动态资源,之所以叫动态,是因为每个用户访问到的资源都不一样,这就需要逻辑判断。例如张三登录后,页面上关于用户名的资源,就需要显示张三的用户名和头像;如果是李四,则显示李四的,以B站为例:
使用静态资源,是做不到这一点的,这种业务逻辑要用代码来体现,例如Java语言。在Java中,万物皆对象,所以用户请求动态资源,请求的就是Java类,这里的Java类是依赖于服务器,但没有主方法main方法,由Tomcat去执行。
那么随便写一个Java类,Tomcat都能执行吗?肯定不是,这个类要遵循一定的规则,才能被识别,也就是接口。这个Servlet就是接口。编写的代码封装在一个类,该类需遵循Tomcat的规范,才能被Tomcat识别,例如实现了实现接口
Servlet概念:全称server applet,运行在服务器端的小程序
- Servlet就是一个接口,定义了Java类被浏览器访问到(Tomcat识别)的规则。 可以看JavaEE7-api,接口里定义了一些方法,自定义类的时候需要去实现接口中的方法,才能被识别
- 将来我们自定义一个类,实现Servlet接口,复写方法。
- 服务器也实现了Servlet API接口,实现底层接受、返回HTTP请求的功能,然后业务逻辑交给Servlet处理
我们可以看看Servlet的文档,里面是这样描述的:
Defines methods that all servlets must implement.
A servlet is a small Java program that runs within a Web server. Servlets receive and respond to requests from Web clients, usually across HTTP, the HyperText Transfer Protocol.大意是说,Servlet定义了一些方法,所有Servlets实现类必须实现
一个Servlet是一个运行在Web服务器的小程序,它接受和响应web请求,通常是HTTP请求
Servlet共定义了5个方法:
Modifier and Type | Method and Description |
---|---|
void | destroy() :Called by the servlet container to indicate to a servlet that the servlet is being taken out of service. |
ServletConfig | getServletConfig() :Returns a ServletConfig object, which contains initialization and startup parameters for this servlet. |
String | getServletInfo() :Returns information about the servlet, such as author, version, and copyright. |
void | init(ServletConfig config) :Called by the servlet container to indicate to a servlet that the servlet is being placed into service. |
void | service(ServletRequest req, ServletResponse res) Called by the servlet container to allow the servlet to respond to a request. |