什么是Servlet?
Servlet是一种Java技术,主要用于在Web服务器上处理HTTP请求和响应。它是一个运行在服务器端的程序,能够接收浏览器发送的请求并相应地生成响应。Servlet通常用于Web应用程序的开发,它可以与JSP(Java ServerPages)一起使用来动态生成Web页面。Servlet可以处理各种类型的请求,例如POST和GET请求,以及与数据库的交互。它是JavaWeb应用程序的基础技术之一。
Servlet的生命周期
1、当浏览器第一次访问 Servlet 的时候,Tomcat 会查询当前 Servlet 的实例化对象是否存在,如果不存在,则通过反射机制动态创建对象,后执行第2步。如果已经存在,直接执⾏第 3 步。
2、调⽤ init ⽅法完成初始化操作。
3、调⽤ service ⽅法完成业务逻辑操作。
4、关闭 Tomcat 时,会调⽤ destory ⽅法,释放当前对象所占⽤的资源。
没有实际演示的介绍就是耍流氓,空洞无力。
演示
我们创建一个ServletTest类,同样去实现Servlet接口,重写方法。并且我们映射到地址为/test
给上面介绍三个方法分别加入打印一句话的功能。
完整的代码如下:
@WebServlet("/test")
public class ServletTest implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("我是init");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("我是service");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("我是destory");
}
}
Servlet的使用
Servlet是Java编写的服务器端程序,它能够处理客户端发送的请求并返回响应结果。Servlet主要用于创建基于Web的应用程序。以下是使用Servlet的步骤:
1.创建Servlet类,这个类必须扩展javax.servlet.http.HttpServlet类。
2.覆盖doGet()或者doPost()方法,这两个方法都是处理客户端请求的入口,它们接收HttpServletRequest和HttpServletResponse对象,可以从请求对象中获取数据并将结果写回响应对象。
3.在web.xml文件中配置Servlet,这个文件通常放在应用程序的WEB-INF目录下。在web.xml文件中配置Servlet名称、Servlet类、Servlet的映射URL等信息。
4.部署应用程序,将应用程序打包为.war文件并部署到服务器上。
5.启动服务器,当客户端发送请求时,服务器会找到相应的Servlet并调用它的doGet()或doPost()方法处理请求。
需要注意的是,Servlet默认使用GET方式处理请求,如果需要使用POST方式,需要在请求中设置相应的Method属性。另外,为了提高Servlet的性能,应尽量避免在Servlet中使用全局变量和静态变量,这些变量会增加Servlet的内存消耗和运行时间。
对象:
Java万物皆对象,可是我们演示中的ServletTest并没有在任何地方new出来呀。其实这个操作是Tomcat帮我们完成的,它通过反射机制调用无参构造方法创建了这个对象。这也很好的解释了为什么我们在xml配置映射时需要类的全路径,反射就是如此。
我们可以去写一个无参构造,看看情况。
public ServletTest() {
System.out.println("我是构造方法,你的对象创建出来啦。");
}
方法
⽆参构造函数、init、service、destory
1、⽆参构造函数只调⽤⼀次,创建对象。
2、init 只调⽤⼀次,初始化对象。
3、service 调⽤ N 次,执⾏业务⽅法。
4、destory 只调⽤⼀次,卸载对象。