diff --git a/src/main/resources/modules/SpringBoot/java/config/WebMvcConfig.java b/src/main/resources/modules/SpringBoot/java/config/WebMvcConfig.java index 855522b8..0641b24b 100644 --- a/src/main/resources/modules/SpringBoot/java/config/WebMvcConfig.java +++ b/src/main/resources/modules/SpringBoot/java/config/WebMvcConfig.java @@ -1,28 +1,37 @@ package ${basePackage}.config; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import ${basePackage}.frame.base.Token; import ${basePackage}.frame.auth.LocalData; import ${basePackage}.frame.utils.LogUtil; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import org.apache.catalina.connector.Connector; +import org.apache.coyote.http11.Http11NioProtocol; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.system.ApplicationHome; +import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +import org.springframework.boot.web.servlet.server.ServletWebServerFactory; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; +import org.springframework.core.io.ClassPathResource; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.List; - @Configuration public class WebMvcConfig implements WebMvcConfigurer { @@ -38,11 +47,19 @@ public class WebMvcConfig implements WebMvcConfigurer { */ @Override public void addInterceptors(InterceptorRegistry registry) { + + // .htm拦截器 registry.addInterceptor(new HandlerInterceptorAdapter() { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - return super.preHandle(request, response, handler); + // Action + String servletPath = request.getServletPath(); + Pattern compile = Pattern.compile("^/(.+)\\.htm"); + Matcher matcher = compile.matcher(servletPath); + if (matcher.find()) { + LocalData.setAction(matcher.group(1)); + }return super.preHandle(request, response, handler); } @Override @@ -58,6 +75,10 @@ public class WebMvcConfig implements WebMvcConfigurer { Token token = LocalData.getToken(); modelAndView.addObject("token", token); } + }).addPathPatterns("/**/*.htm"); + + // 全局异常收集拦截器 + registry.addInterceptor(new HandlerInterceptorAdapter() { @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {