Servlet入门——Servlet简单介绍和初始化使用

235 阅读2分钟

「这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战

前言

大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。

以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。

摘要

本文主要介绍Servlet的简单介绍和初始化使用。

1.1 什么是Servlet

servlet其实就是一个特殊的Java类,因为这个类必须继承HttpServlet。Servlet就是运行在服务器端程序,用来响应客户端的不同请求。

Servlet充当着中介者的身份,用来连接数据库和客户端。

1.2 如何使用Servlet

要使用Servlet必须要先继承HttpServlet接口,然后实现Servlet的方法。

Servlet中有四个方法对应Http的不同请求,分别是:

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    super.doGet(req, resp);
}
​
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    super.doPost(req, resp);
}
​
@Override
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    super.doPut(req, resp);
}
​
@Override
protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    super.doDelete(req, resp);
}
  • doGet用来处理get请求
  • doPost用来处理Post请求
  • doPut用来处理Put请求
  • doDelete用来处理Delete请求

其实Servlet提供了一个更方便的方法供我们使用,那就是service方法。

@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    super.service(req, resp);
}

使用service方法可以处理任何请求,所以在开发中我们只需要使用该方法即可。

Servlet中还有两个方法需要我们注意,那就是init方法和destory方法。

init方法在Servlet被创建时调用,并且只调用一次,常用来打开资源文件。destory方法在Servlet被销毁前调用,也只调用一次,常用来关闭资源文件。在调用完destory方法后,Servlet会被JVM垃圾回收。

@Override
public void init() throws ServletException {
    super.init();
}
​
@Override
public void destroy() {
    super.destroy();
}

知道了以上方法,那我们就可以创建一个简单的Servlet了。

实例展示:

@WebServlet("/hello")
public class servletTest1 extends HttpServlet {
    @Override
    public void init() throws ServletException {
        System.out.println("我被初始化了!");
    }
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("欢迎来到Servlet!");
    }
​
    @Override
    public void destroy() {
        System.out.println("我被销毁了!");
    }
}

"/hello"代表程序的入口。 当你访问hello时就会打印:

image-20211130230732604

当你关闭服务器时: image-20211130230757083

小结

以上就是关于Servlet的一些简单介绍和初始化使用,希望对读者有所帮助,如有不正之处,欢迎留言指正。