1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > SpringBoot定义三大组件Servlet 过滤器Filter 监听器Listener

SpringBoot定义三大组件Servlet 过滤器Filter 监听器Listener

时间:2023-05-15 10:25:42

相关推荐

SpringBoot定义三大组件Servlet 过滤器Filter 监听器Listener

SpringBoot定义三大组件Servlet,过滤器Filter,监听器Listener

1.定义组件的配置类:

com.example.mybatis.config.MyServletConfig

package com.example.mybatis.config;import com.example.mybatis.filter.myFilter;import com.example.mybatis.listener.myListener;import com.example.mybatis.servlte.MyServlet;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;import org.springframework.boot.web.servlet.ServletRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.Arrays;import java.util.Collections;@Configurationpublic class MyServletConfig {//注册Servlet@Beanpublic ServletRegistrationBean MyServlet(){ServletRegistrationBean<MyServlet> myServletServletRegistrationBean = new ServletRegistrationBean<MyServlet>(new MyServlet(), "/myServlet");return myServletServletRegistrationBean;}//注册过滤器@Beanpublic FilterRegistrationBean myFilter(){FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();filterRegistrationBean.setFilter(new myFilter());//添加过滤器filterRegistrationBean.setUrlPatterns(Arrays.asList("/myServlet")); //设置过滤路径return filterRegistrationBean;}//注册监听器public ServletListenerRegistrationBean myListener(){ServletListenerRegistrationBean servletListenerRegistrationBean = new ServletListenerRegistrationBean();servletListenerRegistrationBean.setListener(new myListener());//添加过滤器return servletListenerRegistrationBean;}}

2.创建servlet

com.example.mybatis.servlte.MyServlet

package com.example.mybatis.servlte;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;public class MyServlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {PrintWriter witer = resp.getWriter();witer.write("hello servler!");}}

3.过滤器Filter

com.example.mybatis.filter.myFilter

package com.example.mybatis.filter;import javax.servlet.*;import java.io.IOException;import java.util.logging.LogRecord;public class myFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("过滤器执行并放行!");filterChain.doFilter(servletRequest,servletResponse);//放行}@Overridepublic void destroy() {}}

4.监听器Listener

com.example.mybatis.listener.myListener

package com.example.mybatis.listener;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class myListener implements ServletContextListener {@Overridepublic void contextInitialized(ServletContextEvent sce) {System.out.println("servletContext 对象创建。。。。");}@Overridepublic void contextDestroyed(ServletContextEvent sce) {System.out.println("servletContext 对象销毁。。。。");}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。