1.开启注解扫描
在 SpringBootApplication 上使⽤@ServletComponentScan
2.servlet 注解
@WebServlet
public class HelloServlet extends HttpServlet{@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
out.println("<html></html>");
}
}
• 2. 注册servlet到spring
@Bean
public ServletRegistrationBean servletRegistrationBean() {
return new ServletRegistrationBean(new HelloServlet(),"/xiaohong");
}
• 2. 注册servlet到spring
@Bean
public ServletRegistrationBean servletRegistrationBean() {
return new ServletRegistrationBean(new HelloServlet(),"/xiaohong");
}
3.Filter 注解
@WebFilter
public class HelloFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println(">>filter init<<");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException,
ServletException {
PrintWriter out = servletResponse.getWriter();
out.print("param error");
out.close();
}
}
@Override
public void destroy() {
System.out.println("filter destroy");
}
}
4.Listener 注解
@WebListenerpublic class HelloServletListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
servletContextEvent.getServletContext().setAttribute(“key","xiaoming");
System.out.println("context listener init");
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
System.out.println("context listener destroyed");
}
}
5.handler 注解
public class HelloInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println(">>interceptor preHandle<<");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView
modelAndView) throws Exception {
System.out.println(">>interceptor postHandle<<");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.out.println(">>interceptor afterCompletion<<");
}
}
注册入容器
@Configuration
public class HelloConfig extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new HelloInterceptor()).addPathPatterns("/**");
}
}