1. 什么是Servlet
处理请求和发送响应,实现动态页面
2. 简单servlet实现和配置
1.继承 javax.servlet.http.HttpServlet 重写doGet和doPost方法实现自己的业务逻辑
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class MyServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("get请求"); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post请求"); } }
配置web.xml文件,为每一个servlet注册身份,让请求到达对应的servlet,相当于路由表(我的理解)
<servlet> <!--servlet的名字,可以自定义,但是一般和类名相同--> <servlet-name>MyServlet</servlet-name> <!--servlet的全类名,指定servlet的位置--> <servlet-class>servlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <!--和上面的servlet名字相同--> <servlet-name>MyServlet</servlet-name> <!--配置servlet的路径,浏览器通过该路径找到servlet--> <url-pattern>/user/select</url-pattern> </servlet-mapping>
3.servlet生命周期: 定义为从创建到死亡的全过程
- Servlet 通过调用 init () 方法进行初始化, init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化.
- Servlet 调用 service() 方法来处理客户端的请求,service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。
- Servlet 通过调用 destroy() 方法终止(结束),destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。
- 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。