您的位置:首页 > 房产 > 建筑 > Servlet的三种写法

Servlet的三种写法

2025/3/10 15:27:11 来源:https://blog.csdn.net/daibadetianshi/article/details/141253747  浏览:    关键词: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的访问请求并处理

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com