一、概念
根据百度百科: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 {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("hello servlet!");}@Overridepublic String getServletInfo() {return null;}@Overridepublic void destroy() {}
}
(3)访问该地址,则会发现控制台会打印service方法中的输出内容。这青蛙service方法被调用了。
四、思考
service方法是被谁调用的呢,其它方法又有什么作用呢,是否存在更简便的方法呢?请关注笔者的下一篇文章。