当前位置: 首页 > news >正文

Servlet的三种写法

一、什么是Servlet:

     Java Servlet(服务端小应用程序)是一种基于 Java 的技术,用于处理来自 Web 客户端的 HTTP 请求,并生成相应的响应。Servlet 可以看作是服务器端的 Java 应用程序组件,它们扩展了 Web 服务器的功能,使其能够处理复杂的业务逻辑和动态内容生成。

二、环境搭配:

首先我们需要将servlet依赖复制粘贴到pom.xml文件里:

   <!--        servletApi的依赖--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency>

这样我们就能使用servlet接口。

三、写接口:

1、直接实现 Servlet 接口

直接实现 Servlet 接口是最基础的方式,需要实现 initservicedestroy 等方法。这种方式较为灵活,但同时也需要更多手动处理的代码。

import javax.servlet.*;
import java.io.IOException;@WebServlet("/simple-servlet")
public class SimpleServlet implements Servlet {@Override//这个方法在 Servlet 被加载到内存中时调用,用于执行初始化任务。public void init(ServletConfig config) throws ServletException {// 初始化逻辑}@Override//返回当前 Servlet 的配置对象。public ServletConfig getServletConfig() {return null;}@Override//这个方法用于处理客户端的请求public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {// 处理请求System.out.println("Received request");((HttpServletResponse) res).sendRedirect("/response");}@Override//返回关于 Servlet 的信息字符串public String getServletInfo() {return "SimpleServlet";}@Override
//当 Servlet 被卸载或容器关闭时调用。public void destroy() {// 销毁逻辑}
}

2、继承 GenericServlet 类

   GenericServlet 类实现了 Servlet 接口,并提供了一些默认实现。这种方式减少了需要自己实现的方法数量,但仍然需要实现 service 方法来处理请求。

import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import java.io.IOException;@WebServlet("/generic-servlet")
public class GenericServletExample extends GenericServlet {@Overridepublic void init(ServletConfig config) throws ServletException {super.init(config);}@Overridepublic void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {// 处理请求System.out.println("Received request");((HttpServletResponse) res).sendRedirect("/response");}@Overridepublic void destroy() {// 销毁逻辑}
}

3、继承 HttpServlet 类

HttpServlet 类继承自 GenericServlet 类,为处理 HTTP 请求提供了便利。这是最常用的方式,因为它为 HTTP 请求提供了默认的 doGetdoPost 方法。只需要重写这些方法即可处理特定的 HTTP 请求。

import javax.servlet.ServletException;
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("/http-servlet")
public class HttpExampleServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 处理 GET 请求System.out.println("Received GET request");resp.sendRedirect("/response");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 处理 POST 请求System.out.println("Received POST request");resp.sendRedirect("/response");}
}

这三类方法可以处理Http的访问请求并处理


http://www.mrgr.cn/news/2608.html

相关文章:

  • 生产环境docker nginx+php8.0镜像
  • ubuntu安装虚拟环境(tensorflow、torch)
  • Linux环境开发工具【yum与vim】
  • ESLint 配置的最佳实践
  • 代理模式Proxy
  • 一个手机到手机之间通话经过了哪些设备
  • 【9.5 python中的匿名函数】
  • 专题---自底向上的计算机网络(计算机网络相关概述)
  • Halcon灰度图像的形态学运算
  • 【html+css 绚丽Loading】 - 000009 五行逆流珠
  • Vim多文件操作
  • 【鸿蒙基础系列】鸿蒙基础组件
  • 外观模式:简化复杂系统,一步到位
  • 网络协议与Netty
  • 【前端基础篇】HTML零基础速通
  • VS Code开发C#(.NET)之快速入门
  • 使用 Docker 安装 Ollama 部署本地大模型并接入 One-API
  • 电脑开机LOGO修改教程_BIOS启动图片替换方法
  • C ++初阶:类和对象(上)
  • 6、JUC并发同步工具类应用与实战