Servlet1

Servlet1

Servlet

Servlet 是 Java Web 开发的基⽯,与平台⽆关的服务器组件,它是运⾏在 Servlet 容器(Web 应⽤服务 器/Tomcat(最常见的web容器)),负责与客户端进⾏通信。

1.Servlet 的功能:

1、创建并返回基于客户请求的动态 HTML ⻚⾯。 2、与数据库进⾏通信。

2.如何使⽤ Servlet?

Servlet 本身是⼀组接⼝,⾃定义⼀个类,并且实现 Servlet 接⼝,这个类就具备了接受客户端请求以及 做出响应的功能。

package com.wildfire.servlet;
import javax.servlet.*; 
import java.io.IOException; 
public class MyServlet 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 {
        String id = servletRequest.getParameter("id"); 
        System.out.println("我是Servlet,我已经接收到了客户端发来的请求,参数是"+id); 		           servletResponse.setContentType("text/html;charset=UTF-8");              		             servletResponse.getWriter().write("客户端你好,我已接收到你的请求"); 
    } 
    
    @Override 
    public String getServletInfo() { 
        return null;
    } 
    
    @Override 
    public void destroy() {
    } 
}

浏览器不能直接访问 Servlet ⽂件,只能通过映射的⽅式来间接访问 Servlet,映射需要开发者⼿动配 置,有两种配置⽅式。

1.基于XML文件的配置方式

<servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>MyServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/myservlet</url-pattern>
</servlet-mapping>

2.基于注解的方式

@WebServlet("/myservlet")

上述两种配置⽅式结果完全⼀致,将 myservlet 与 MyServlet 进⾏映射,即在浏览器地址栏中直接访问 myservlet 就可以映射到 MyServlet。

Servlet的生命周期

1.Servlet的生命周期

1、当浏览器访问 Servlet 的时候,Tomcat 会查询当前 Servlet 的实例化对象是否存在,如果不存在, 则通过反射机制动态创建对象,如果存在,直接执⾏第 3 步。

2、调⽤ init ⽅法完成初始化操作。

3、调⽤ service ⽅法完成业务逻辑操作。

4、关闭 Tomcat 时,会调⽤ destory ⽅法,释放当前对象所占⽤的资源。

2.Servlet生命周期的方法

Servlet 的⽣命周期⽅法:

⽆参构造函数、init、service、destory

1、⽆参构造函数只调⽤⼀次,创建对象。

2、init 只调⽤⼀次,初始化对象。

3、service 调⽤ N 次,执⾏业务⽅法。

4、destory 只调⽤⼀次,卸载对象。

原文地址:https://www.cnblogs.com/wind-and-sky/p/14212490.html