技术派WEB三大组件之Servlet
技术派中使用web三大组件中的filter做了不少操作;既然提到了filter,那么相关的另外两个组件,也有必要给大家介绍一下
以下为选修知识点,实际的业务开发中,用servlet的机会非常少
接下来我们将主要来看一下Servlet的使用姿势,以及注册自定义的Servelt的四种姿势
@WebServlet注解ServletRegistrationBeanbean定义ServletContext动态添加- 普通的spring bean模式
技术派使用实例
在技术派中,特意写了一个 HealthServlet ,主要功能就是用来校验服务的健康情况,在微服务中,判断应用是否存活,有一个方案就是定时的调用服务的一个接口,判断是否有正常返回,或者返回结果是否符合预期
具体实现也比较简单

访问上面的接口也很简单,直接 http://127.0.0.1:8080/check

Servelt知识点
自定义一个Servlet比较简单,一般常见的操作是继承HttpServlet,然后覆盖doGet, doPost等方法即可;然而重点是我们自定义的这些Servlet如何才能被SpringBoot识别并使用才是关键,下面介绍四种注册方式
1. @WebServlet
在自定义的servlet上添加Servlet3+的注解@WebServlet,来声明这个类是一个Servlet
和Fitler的注册方式一样,使用这个注解,需要配合Spring Boot的@ServletComponentScan,否则单纯的添加上面的注解并不会生效
/**
* 使用注解的方式来定义并注册一个自定义Servlet
*/
@WebServlet(urlPatterns = "/annotation")
public class AnnotationServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = req.getParameter("name");
PrintWriter writer = resp.getWriter();
writer.write("[AnnotationServlet] welcome " + name);
writer.flush();
writer.close();
}
}
上面是一个简单的测试Servlet,接收请求参数name, 并返回 welcome xxx;为了让上面的的注解生效,需要设置下启动类
@ServletComponentScan
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
然后启动测试,输出结果如:
➜ ~ curl http://localhost:8080/annotation\?name\=yihuihui
# 输出结果
[AnnotationServlet] welcome yihuihui%
2. ServletRegistrationBean
在Filter的注册中,我们知道有一种方式是定义一个Spring的Bean FilterRegistrationBean来包装我们的自定义Filter,从而让Spr...
未能定位到原文的划线
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
1. 微信扫右侧的优惠券加入知识星球
2. 解锁星球的实战项目教程和源码: 项目源码+教程获取
真诚点赞 诚不我欺
回复