分类: Java
2020-05-21 13:45:06
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...");
9
主程序中添加注解@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...");
14主程序中添加注解@ServletCompoentScan,在SpringBoot启动时会扫描@WebListener注解并将其实例化。
2. 通过方法注册
方法可以写在之前的配置方法中(例如ServletConfig)。
新建Filter类。
新建config包和FilterConfig类。
也可以放在启动类中。
@Configuration
public class ListenerConfig {
@Bean
public ListenerRegistrationBean getListenerRegistrationBean() {
ListenerRegistrationBean bean = new ListenerRegistrationBean (new SecondListener());