【Java】servlet快速入门

一、Servlet介绍

Servlet是一种基于Java的服务器端技术,用于构建Web应用程序。Servlet可以动态生成Web页面、处理表单数据、响应HTTP请求等。Servlet程序运行在Web服务器中,例如Tomcat、Jetty或WebLogic,它们充当客户端和应用程序之间的中间层。

工作原理

Servlet工作原理基于Java的面向对象和事件驱动模型。当客户端发送HTTP请求时,Web服务器根据URL选择合适的Servlet来处理请求。Servlet容器负责管理Servlet的生命周期,并将请求和响应传递给Servlet来生成动态内容。

二、执行流程

  1. 客户端发送HTTP请求。
  2. Web服务器接收请求并解析URL。
  3. 根据URL选择相应的Servlet。
  4. Servlet容器加载Servlet类并创建Servlet实例。
  5. 调用Servlet的方法来处理请求,通常是doGet()或doPost()。
  6. Servlet生成HTML响应。
  7. 响应返回给Web服务器,然后发送给客户端。

在这里插入图片描述

三、Servlet生命周期

Servlet运行在Servlet容器(web服务器)中,其生命周期由容器来管理,分为4个阶段:

  1. 加载和实例化:默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象
  2. 初始化:在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象,完成一些如加载配置文件、创建连接等初始化的工作。该方法只调用一次
  3. 请求处理:每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理。
  4. 服务终止:当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法完成资源的释放。在destroy()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收

四、Servlet方法介绍

常见的Servlet方法包括:

  1. 初始化方法,在Servlet被创建时执行,只执行一次

void init(ServletConfig config)

  1. 提供服务方法, 每次Servlet被访问,都会调用该方法

void service(ServletRequest req, ServletResponse res)

  1. 销毁方法,当Servlet被销毁时,调用该方法。在内存释放或服务器关闭时销毁Servlet

void destroy()

  1. 获取ServletConfig对象

ServletConfig getServletConfig()

  1. 获取Servlet信息

String getServletInfo()

五、Servlet体系结构

在这里插入图片描述

开发B/S架构的web项目,都是针对HTTP协议,所以我们自定义Servlet,会继承HttpServlet

在这里插入图片描述

HttpServlet 原理

HTTP 协议中,GET 和 POST
请求方式的数据格式不一样,将来要想在Servlet中处理请求参数,得在service方法中判断请求方式,并且根据请求方式的不同,分别进行处理:

在这里插入图片描述

六、使用注解配置Servlet

Servlet注解是一种基于Java注解的方式,用于配置Servlet,而不是依赖于web.xml文件。这种方式可以使Servlet配置更加简洁,易于维护

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "MyServlet", urlPatterns = "/myservlet")
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        response.getWriter().write("Hello, Servlet World!");
    }
}

在上面的示例中,我们使用了@WebServlet注解来配置Servlet。我们指定了Servlet的名称为"MyServlet",以及它要映射的URL路径为"/myservlet"。

七、XML 配置方式编写 Servlet

Servlet 从3.0版本后开始支持使用注解配置,3.0版本前只支持 XML 配置文件的配置方式 步骤:

  1. 编写 Servlet类
  2. 在 web.xml中配置该Servlet
<web-app>
    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>com.example.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/myservlet</url-pattern>
    </servlet-mapping>
</web-app>

在上述示例中,我们将名为"MyServlet"的Servlet映射到"/myservlet" URL路径。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值