如何在SpringBoot中注册Servlet

  介绍

这篇文章将为大家详细讲解有关如何在SpringBoot中注册Servlet,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强>一、弹簧启动注册

弹簧引导提供了<代码> ServletRegistrationBean ,<代码> FilterRegistrationBean ,<代码> ServletListenerRegistrationBean 三个类分别用来注册,Servlet过滤器、监听器、下面是Servlet的示例代码。

import  javax.servlet.http.HttpServlet;   import  javax.servlet.http.HttpServletRequest;   import  javax.servlet.http.HttpServletResponse;   import  java.io.IOException;/* *   ,* @author  Java技术栈   ,*/public  class  RegisterServlet  extends  HttpServlet  {      @Override才能   protected 才能;void 服务(HttpServletRequest 点播,HttpServletResponse 职责),throws  IOException  {   ,,,String  name =, getServletConfig () .getInitParameter (“name");   ,,,String  sex =, getServletConfig () .getInitParameter (“sex");      ,,,resp.getOutputStream () .println (“name  is “, +,名称);   ,,,resp.getOutputStream () .println (“sex  is “, +,性);   ,,}      }      @ bean   public  ServletRegistrationBean  registerServlet (), {   ServletRegistrationBean 才能;ServletRegistrationBean =, new  ServletRegistrationBean (   ,,,,,new  RegisterServlet (),“/registerServlet");   servletRegistrationBean.addInitParameter才能(“name",,“javastack");   servletRegistrationBean.addInitParameter才能(“sex",,“man");   return 才能;servletRegistrationBean;   }

<强>二、组件扫描注册

Servlet 3.0之前,Servlet过滤器、监听器,这些组件都需要在<代码> web。xml> web。xml 这个配置文件了,所有的组件都可以通过代码配置或者注解来达到目的。

如下图所示,截图自Servlet 3.1。

如何在SpringBoot中注册Servlet

Servlet 3.0开始提供了这3个注解来代替。

@WebServlet=比;代替servlet配置

@WebFilter=比;代替过滤器配置

@WebListener=比;代替侦听器配置

配置Servlet示例

import  javax.servlet.annotation.WebInitParam;   import  javax.servlet.annotation.WebServlet;   import  javax.servlet.http.HttpServlet;   import  javax.servlet.http.HttpServletRequest;   import  javax.servlet.http.HttpServletResponse;   import  java.io.IOException;/* *   ,* @author  Java技术栈   ,*/@WebServlet (=name “javaServlet",, urlPatterns =,“/javastack.cn",, asyncSupported =,真的,   ,,,initParams =, {   ,,,@WebInitParam (=name “name",, value =,“javastack"),   ,,,@WebInitParam (=name “sex",, value =,“man"),})   public  class  JavaServlet  extends  HttpServlet  {      @Override才能   protected 才能;void 服务(HttpServletRequest 点播,HttpServletResponse 职责),throws  IOException  {   ,,,String  name =, getServletConfig () .getInitParameter (“name");   ,,,String  sex =, getServletConfig () .getInitParameter (“sex");      ,,,resp.getOutputStream () .println (“name  is “, +,名称);   ,,,resp.getOutputStream () .println (“sex  is “, +,性);   ,,}      }

配置过滤器示例

/* *   ,* @author  Java技术栈   ,*/@WebFilter (=filterName “javaFilter",, urlPatterns =,“/*,,, initParams =, {   ,,,@WebInitParam (=name “name",, value =,“javastack"),   ,,,@WebInitParam (=name “code",, value =,“123456“),})   public  class  JavaFilter  implements  Filter  {      @Override才能   public 才能;void  init (FilterConfig  filterConfig), throws  ServletException  {   ,,,System.out.println (“java  filter  init !”);   ,,,String  name =, filterConfig.getInitParameter (“name");   ,,,String  code =, filterConfig.getInitParameter (“code");   ,,,System.out.println (“name  is “, +,名称);   ,,,System.out.println (“code  is “, +,代码);   ,,}      @Override才能   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在SpringBoot中注册Servlet