增加 springmvc 示例

This commit is contained in:
YunaiV
2019-11-17 16:47:35 +08:00
parent 28057740f9
commit 4b28266aa2
5 changed files with 130 additions and 0 deletions

View File

@@ -2,8 +2,10 @@ package cn.iocoder.springboot.lab23.springmvc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@SpringBootApplication
@ServletComponentScan
public class Application {
public static void main(String[] args) {

View File

@@ -3,14 +3,28 @@ package cn.iocoder.springboot.lab23.springmvc.config;
import cn.iocoder.springboot.lab23.springmvc.core.interceptor.FirstInterceptor;
import cn.iocoder.springboot.lab23.springmvc.core.interceptor.SecondInterceptor;
import cn.iocoder.springboot.lab23.springmvc.core.interceptor.ThirdInterceptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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 org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Collections;
@Configuration
public class SpringMVCConfiguration implements WebMvcConfigurer {
private Logger logger = LoggerFactory.getLogger(getClass());
@Bean
public FirstInterceptor firstInterceptor() {
return new FirstInterceptor();
@@ -36,4 +50,50 @@ public class SpringMVCConfiguration implements WebMvcConfigurer {
registry.addInterceptor(this.thirdInterceptor()).addPathPatterns("/**");
}
@Bean
public ServletRegistrationBean testServlet01() {
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean<>(new HttpServlet() {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
logger.info("[doGet][uri: {}]", req.getRequestURI());
}
});
servletRegistrationBean.setUrlMappings(Collections.singleton("/test/01"));
return servletRegistrationBean;
}
@Bean
public FilterRegistrationBean testFilter01() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean<>(new Filter() {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
logger.info("[doFilter]");
filterChain.doFilter(servletRequest, servletResponse);
}
});
filterRegistrationBean.setUrlPatterns(Collections.singleton("/test/*"));
return filterRegistrationBean;
}
@Bean
public ServletListenerRegistrationBean<?> testListener01() {
return new ServletListenerRegistrationBean<>(new ServletContextListener() {
@Override
public void contextInitialized(ServletContextEvent sce) {
logger.info("[contextInitialized]");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
});
}
}

View File

@@ -0,0 +1,21 @@
package cn.iocoder.springboot.lab23.springmvc.core.servlet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter("/test/*")
public class TestFilter02 implements Filter {
private Logger logger = LoggerFactory.getLogger(getClass());
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
logger.info("[doFilter]");
filterChain.doFilter(servletRequest, servletResponse);
}
}

View File

@@ -0,0 +1,23 @@
package cn.iocoder.springboot.lab23.springmvc.core.servlet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(urlPatterns = "/test/02")
public class TestServlet02 extends HttpServlet {
private Logger logger = LoggerFactory.getLogger(getClass());
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
logger.info("[doGet][uri: {}]", req.getRequestURI());
}
}

View File

@@ -0,0 +1,24 @@
package cn.iocoder.springboot.lab23.springmvc.core.servlet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class TestServletContextListener02 implements ServletContextListener {
private Logger logger = LoggerFactory.getLogger(getClass());
@Override
public void contextInitialized(ServletContextEvent sce) {
logger.info("[contextInitialized]");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
}