Spring Boot在Controller中的常用注解
-
@RestConctroller
相当于
@Controller
+@ResponseBody
,返回return()
内容。 -
@GetMapping
@RequestMapping(method = RequestMethod.GET)
。 -
@PostMapping
@RequestMapping(method = RequestMethod.POST)
。 -
@PutMapping
@RequestMapping(method = RequestMethod.PUT)
。 -
@DeleteMapping
@RequestMapping(method = RequestMethod.DELETE)
。
Servlet整合
1. 注解扫描
-
新建servlet包和Servlet类。
注意注解
@WebServlet(name = "", urlPatterns = "")
。/** * 整合Servlet方式一 */ @WebServlet(name = "FirstServlet", urlPatterns = "/first") public class FirstServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) { System.out.println("First Servlet..."); } }
-
主程序中添加注解
@ServletCompoentScan
,在SpringBoot启动时会扫描@WebServlet注解并将其实例化。
2. 通过方法注册
相较于方法1对于多个Servlet来说并不方便。
-
新建Servlet类。
-
新建config包和ServletConfig类。
也可以放在启动类中。
@Configuration public class ServletConfig { /** * 完成Servlet组件的注册 */ @Bean public ServletRegistrationBean getServletRegistrationBean() { ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet()); bean.addUrlMappings("/second"); return bean; } }
Filter整合
1.注解扫描
-
新建filter包和Filter类。
注意注解
@WebFilter(name = "", urlPatterns = "")
。alt+enter快速实现方法。
/** * 整合Filter方式一 */ //@WebFilter(filterName = "FirstFilter", urlPatterns = {"*.do", "*.jsp"}) @WebFilter(filterName = "FirstFilter", urlPatterns = "/first") public class FirstFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("进入First Filter."); filterChain.doFilter(servletRequest, servletResponse); System.out.println("离开First Filter."); } @Override public void destroy() { } }
-
主程序中添加注解
@ServletCompoentScan
,在SpringBoot启动时会扫描@WebFilter注解并将其实例化。
2. 通过方法注册
方法可以写在之前的配置方法中(例如ServletConfig)。
-
新建Filter类。
-
新建config包和FilterConfig类。
也可以放在启动类中。
@Configuration public class FilterConfig { @Bean public FilterRegistrationBean getFilterRegistrationBean() { FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter()); //bean.addUrlPatterns(new String[] {"*.do", "*jsp"}); bean.addUrlPatterns("/second"); return bean; } }
Listener整合
1.注解扫描
-
新建listener包和Listener类。
注意注解
@WebListener
。/** * 整合Listener方式一 */ @WebListener public class FirstListener implements ServletContextListener { public void contextDestroyed(ServletContextEvent event) { } public void contextInitialized(ServletContextEvent event) { System.out.println("Listener init..."); } }
-
主程序中添加注解
@ServletCompoentScan
,在SpringBoot启动时会扫描@WebListener注解并将其实例化。
2. 通过方法注册
方法可以写在之前的配置方法中(例如ServletConfig)。
-
新建Filter类。
-
新建config包和FilterConfig类。
也可以放在启动类中。
@Configuration public class ListenerConfig { @Bean public ListenerRegistrationBean getListenerRegistrationBean() { ListenerRegistrationBean bean = new ListenerRegistrationBean (new SecondListener()); return bean; } }