介绍
这篇文章将为大家详细讲解有关如何在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> 代码中进行配置,3.0之后开始不再需要<代码> web。xml 代码>这个配置文件了,所有的组件都可以通过代码配置或者注解来达到目的。
如下图所示,截图自Servlet 3.1。
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