什么是Servlet?

Servlet

Servelt定义:

servlet是一种应用于服务器端的Java程序,可以生成动态的web页面。

servlet运行在服务器端,是由web服务器负责加载的,是独立于平台和协议的

Java应用程序。

 

3.1 Servlet**的意义和生命周期**

Servlet其实并不是很复杂的东西,事实上,servlet就是一个java接口,定义了处理网络请求的规范。所有实现servlet的类,都需要实现它那五个方法,其中最主要的是三个生命周期方法 init()和destroy()service(),所有实现

 

servlet接口的类都需要回答这三个问题:

?你初始化时要做什么

?你销毁时要做什么

?你接受到请求时要做什么

package javax.servlet;
import java.io.IOException;
public interface Servlet {
   void init(ServletConfig var1) throws ServletException;
  ServletConfig getServletConfig();
   void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
   String getServletInfo();
   void destroy();
}

Servlet接口源码如下:

一共有三个生命周期方法,init(),service(),destroy()

init()方法:在servlet被创建时调用

service()方法:servlet接收到前端发送过来的HTTP请求时调用

destory()方法:servlet销毁时被调用

 

3.2 Servlet**生命周期详解**

当我们第一次接触Servlet和WEB服务器时,我们一定会有这个疑问:为什

么我们都不用使用new关键字来实例化Servlet就能够使用了呢?

这是因为,在我们第一次访问到servlet的时候,servlet容器会根据

web.xml文件里注册的servlet信息,为我们创建一个servlet实例,调用

servlet的init方法,这个实例会常驻内存,当我们每次访问servlet配置的

mapping地址时,就会调用该实例的service方法来处理请求,当web服务

器关闭时,会调用servlet的destroy方法来销毁servlet实例。

什么是Servlet?

 

 

}3.3 创建**Servlet的三种方法:**

\1. 实现servlet接口,重写接口中的init(),service(),destroy()等方法

\2. 继承GenericServlet,重写父类中的service()方法

\3. 继承HttpServlet,重写父类中的doGet()和doPost()方法

GenericServlet是一个抽象类,实现了servlet接口

HttpServlet是一个普通类,继承自GenericServlet

为什么会有三种方式?

因为Servlet技术是不断发展的,先有Servlet,再有GenericServlet,最后

才有的HttpServlet。HttpServlet封装了更多的内容,实现了更强大的功

能,所以在接下来的学习中我们都使用HttpServlet来实现。

3.4 Servlet**技术总结**

其实Servlet本身在Web容器中是“非常被动”的一个角色,处理的事情也很

简单。网络请求与响应,不是他的主要职责,它其实更偏向于业务代码。

所谓的Request和Response是Web容器来进行处理,servlet并不会参与处

理Request和Response的过程。*

 

 

什么是Servlet?

上一篇:Django项目中xadmin遇到的坑记录


下一篇:有什么理由将代码保存为 GBK 编码