配置类------ @Configuration public class MyServletConfig { @Bean public ServletRegistrationBean helloServlet(){ // 注册自己自定义组件 ServletRegistrationBean<HelloServlet> bean = new ServletRegistrationBean<>(new HelloServlet(), "/hello"); // //设置servlet组件参数配置,如下面加载顺序 bean.setLoadOnStartup(1); return bean; } } /** * 自定义Servlet组件 ----------- 自己理解为 对一些特殊得请求进行拦截 并做一些操作 拦截get post */ public class HelloServlet extends HttpServlet { //快捷键 ctrl+o @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().write("helloServlet seccess..."); } } Controller层 @ResponseBody @GetMapping("/hello") public String index(){ return "312312312..."; }
Filter组件 //主要用于 初始化项目, 过滤请求, //加入配置类中 @Bean public FilterRegistrationBean myFilter(){ FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<>(); //指定过滤器 new MyFilter() bean.setFilter(new MyFilter()); //Arrays.asList("/hello") 拦截的路径 bean.setUrlPatterns(Arrays.asList("/hello"));//指定拦截 return bean; } //Filter public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("filter初始化"); } @Override public void destroy() { System.out.println("filter销毁"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("MyFilter 过滤完成"); filterChain.doFilter(servletRequest, servletResponse); } }
Listener监控web某些些对象、信息的创建、销毁、增加、修改、删除等动作的发生,然后做出相应的响应处理。服务对象状态变化时,服务器自动调用监听器对象中的方法,常用于统计在线人数和在线用户等。 public class MyListener implements ServletContextListener { //项目启动 加载 @Override public void contextInitialized(ServletContextEvent sce) { System.out.println(" SpringBoot.Servlet启用启动 "); } //项目关闭 加载 @Override public void contextDestroyed(ServletContextEvent sce) { System.out.println(" SpringBoot.Servlet应用销毁"); } }