Servlet-基本概念

发布时间:2024年01月13日
一、概念

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

加深理解

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

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

二、再理解

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

三、快速使用

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

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

(1)引入依赖

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

<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

(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方法是被谁调用的呢,其它方法又有什么作用呢,是否存在更简便的方法呢?请关注笔者的下一篇文章。

文章来源:https://blog.csdn.net/buzzkiller/article/details/135564403
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。