Commit 0342473e by fsn

配置错误页面并整理配置文件

parent 2df97931
......@@ -5,6 +5,12 @@ import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* SpringBoot方式启动类
*
* @author stylefeng
* @Date 2017/5/21 12:06
*/
@SpringBootApplication
public class GunsApplication {
......
......@@ -20,33 +20,6 @@ import java.util.EnumSet;
*/
public class GunsServletInitializer extends SpringBootServletInitializer {
private final Logger logger = LoggerFactory.getLogger(GunsServletInitializer.class);
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
//用来非Controller层获取HttpServletRequest
servletContext.addListener(RequestContextListener.class);
servletContext.addListener(ConfigListener.class);
logger.info("初始化ConfigListener成功!");
//防止xss攻击的filter
FilterRegistration.Dynamic xssFilter = servletContext.addFilter("xssSqlFilter",
new XssFilter());
xssFilter.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "/*");
logger.info("初始化XssFilter成功!");
try {
ServletRegistration.Dynamic dynamic = servletContext.addServlet("DruidStatView", StatViewServlet.class);
dynamic.addMapping("/druid/*");
} catch (Exception e) {
logger.error("初始化druid监控出错!", e);
}
logger.info("初始化DruidMonitor成功!");
super.onStartup(servletContext);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(GunsApplication.class);
......
package com.stylefeng.guns.common.controller;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.View;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
* 错误页面的默认跳转
*
* @author fengshuonan
* @date 2017-05-21 11:34
*/
@Component("error")
public class GunsErrorView implements View{
@Override
public String getContentType() {
return "text/html";
}
@Override
public void render(Map<String, ?> map, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
httpServletRequest.getRequestDispatcher("/global/error").forward(httpServletRequest,httpServletResponse);
}
}
package com.stylefeng.guns.config.web;
import com.alibaba.druid.support.http.StatViewServlet;
import com.stylefeng.guns.core.beetl.BeetlConfiguration;
import com.stylefeng.guns.core.listener.ConfigListener;
import com.stylefeng.guns.core.util.xss.XssFilter;
import org.beetl.ext.spring.BeetlSpringViewResolver;
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.core.io.ClassPathResource;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.context.request.RequestContextListener;
/**
* spring mvc配置类
......@@ -14,9 +20,11 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
* @date 2016年11月12日 下午5:03:32
*/
@Configuration
public class SpringMvcConfig extends WebMvcConfigurerAdapter {
public class WebConfig {
// beetl的配置
/**
* beetl的配置
*/
@Bean(initMethod = "init")
public BeetlConfiguration beetlConfiguration() {
BeetlConfiguration beetlConfiguration = new BeetlConfiguration();
......@@ -24,7 +32,9 @@ public class SpringMvcConfig extends WebMvcConfigurerAdapter {
return beetlConfiguration;
}
// beetl的视图解析器
/**
* beetl的视图解析器
*/
@Bean
public BeetlSpringViewResolver beetlViewResolver() {
BeetlSpringViewResolver beetlSpringViewResolver = new BeetlSpringViewResolver();
......@@ -33,4 +43,40 @@ public class SpringMvcConfig extends WebMvcConfigurerAdapter {
beetlSpringViewResolver.setOrder(0);
return beetlSpringViewResolver;
}
/**
* druidServlet注册
*/
@Bean
public ServletRegistrationBean druidServletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new StatViewServlet());
registration.addUrlMappings("/druid/*");
return registration;
}
/**
* xssFilter注册
*/
@Bean
public FilterRegistrationBean xssFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(new XssFilter());
registration.addUrlPatterns("/*");
return registration;
}
/**
* RequestContextListener注册
*/
@Bean
public ServletListenerRegistrationBean<RequestContextListener> requestContextListenerRegistration(){
return new ServletListenerRegistrationBean<RequestContextListener>(new RequestContextListener());
}
/**
* ConfigListener注册
*/
@Bean
public ServletListenerRegistrationBean<ConfigListener> configListenerRegistration(){
return new ServletListenerRegistrationBean<ConfigListener>(new ConfigListener());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment