Servlet-基本概念

一、概念

根据百度百科:Servlet(Server Applet)是Java Servlet的简称,是用Java编写的服务器端程序,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

加深理解

  • 上面提到的Web内容我们很好理解:一段文本,一张图片,一个视频都是Web内容,说白了就是Web网页所展示的内容。
  • 而什么是动态呢?动态是相对静态的,静态资源指的是所有用户看到的都是一样的资源,比如写在html标签里的一段话,用标签包裹的一张图片。而动态资源是指不同的用户看的内容不一样的资源。比如登录CSDN后,展示的用户头像,你的收到的个人消息,你发表的文章,你收到的赞等等。

而Servlet就是一门服务端的动态Web资源开发技术,它对用户的请求会响应动态的内容。

二、再理解

Servlet是Java EE规范之一,而规范就是接口。实现一个Servlet类,为用户提供动态资源响应,实际上就是实现一个Servlet接口并运行。

三、快速使用

Servlet的快速使用非常简单,只需要完成以下三步。五分钟便可在浏览器访问你的Servlet。

  • 引入Servlet依赖
  • 实现Servlet接口
  • 添加Servlet注解

(1)引入依赖

注意这里的scope要填写为provided。该含义是仅在编译与测试时生效,在运行时不生效。因为Servlet需要运行在Web服务器(如Tomcat),而Web服务器中已引入了这个依赖,所以会导致依赖冲突。


        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        

(2)实现Servlet接口,覆盖以下五个方法即可。可以在service方法中写一段输出,将来调用这个Servlet时,将会调用service方法

(3)添加注解@WebServlet,其中添加访问路径。


import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

@WebServlet("/hello")
public class ServletDemo implements Servlet {

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("hello servlet!");

    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

(3)访问该地址,则会发现控制台会打印service方法中的输出内容。这青蛙service方法被调用了。

四、思考

service方法是被谁调用的呢,其它方法又有什么作用呢,是否存在更简便的方法呢?请关注笔者的下一篇文章。

你可能感兴趣的:(servlet)