根据百度百科:Servlet(Server Applet)是Java?Servlet的简称,是用Java编写的服务器端程序,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
加深理解:
而Servlet就是一门服务端的动态Web资源开发技术,它对用户的请求会响应动态的内容。
Servlet是Java EE规范之一,而规范就是接口。实现一个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方法是被谁调用的呢,其它方法又有什么作用呢,是否存在更简便的方法呢?请关注笔者的下一篇文章。