spring mvc 的配置 及interceptor filter listener servlet 配置
创建 三个类
分别实现 Filter ServletContextListener HttpServlet
在springboot 启动类中@bean加入


2 ,实现 ServletContextIntializer接口
@SpringBootApplication
public class DemoApplication implements ServletContextInitializer{ public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
} @Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.addServlet("customServlet", new CustomServlet()).addMapping("/root");
servletContext.addFilter("customfilter", new CustomFilter())
.addMappingForServletNames(EnumSet.of(DispatcherType.REQUEST), true, "customServlet");
servletContext.addListener(new CustomListener());
}
}
3. 注解方式 主类加上@ServletComponentScan 给三个分别加上注解
@WebServlet(urlPatterns="/index", name="customServlet")
public class CustomServlet extends HttpServlet{
....
} @WebListener
public class CustomListener implements ServletContextListener{
....
} @WebFilter(urlPatterns="/*")
public class CustomFilter implements Filter{
...
}
4. 自定义注解 实现 主类上加上此注解
@Target(value = {ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import(value = {FirstFilterConfiguration.class})
public @interface EnableFirstFilter {
}
注册配置的bean(
FirstFilterConfiguration.class
)
public class FirstFilterConfiguration {
public static final Integer ORDER = Integer.MIN_VALUE;
@Bean
public FilterRegistrationBean firstFilter(){
// 默认不需要的但是为了拦截过滤固定的页面
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new FirstFilter());
registration.addUrlPatterns("/*");
registration.setName("firstFilter");
registration.setOrder(ORDER);
return registration;
}
}
public class FirstFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest srst, ServletResponse srsp, FilterChain chain)
throws IOException, ServletException {
chain.doFilter(srst, srsp);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter{ @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//addResourceHandler 对外暴露的路径 addResourceLocations 对内暴露路径
registry.addResourceHandler("/aaserts/**").addResourceLocations("classpath:/assets/");
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/ws").setViewName("/ws");
registry.addViewController("/login").setViewName("/login");
registry.addViewController("/chat").setViewName("/chat");
} @Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(demoInterceptor());
} @Bean
public DemoInterceptor demoInterceptor() {
return new DemoInterceptor();
} //自定义拦截器
public class DemoInterceptor extends HandlerInterceptorAdapter{ @Override //请求发生前执行
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
return true;
} @Override // 请求发生后执行
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
super.postHandle(request, response, handler, modelAndView);
}
}
}
拦截器
spring mvc 的配置 及interceptor filter listener servlet 配置的更多相关文章
- Spring Boot 2.X(九):Spring MVC - 拦截器(Interceptor)
拦截器 1.简介 Spring MVC 中的拦截器(Interceptor)类似于 Servlet 开发中的过滤器 Filter,它主要用于拦截用户请求并作相应的处理,它也是 AOP 编程思想的体现, ...
- 2017.3.31 spring mvc教程(二)核心流程及配置详解
学习的博客:http://elf8848.iteye.com/blog/875830/ 我项目中所用的版本:4.2.0.博客的时间比较早,11年的,学习的是Spring3 MVC.不知道版本上有没有变 ...
- Spring MVC拦截器(Interceptor )详解
处理器拦截器简介 Spring Web MVC的处理器拦截器(如无特殊说明,下文所说的拦截器即处理器拦截器)类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理. 常见应用场 ...
- Spring MVC前台使用html页面作为视图,配置静态资源后Controller控制器不起作用的解决办法
1.Spring MVC搭建项目的时候,想使用html页面作为前端的视图,你会发现html页面不能访问,原因是由于Spring拦截器将其拦截寻找控制器的缘故,解决办法就是配置静态资源: <mvc ...
- springboot之filter/listener/servlet
简介 SpringBoot可以简化开发流程,但是在其中如何使用传统的J2EE servlet/listener/filter呢 @Bean配置 在Configuration类中加入filter和ser ...
- Javaweb里面的filter,listener,servlet
Filter 1Filter是什么:是过滤器简称 2Filter有什么作用:在filter中可以得到代表用户请求和响应的request.response对象,因此在编程中可以使用Decorator(装 ...
- wed.xml 中 filter、servlet 配置格式
1.wed.xml 中 filter 配置格式 <filter> <filter-name>filterName</filter-name> <filter- ...
- java之spring mvc之Restful风格开发及相关的配置
1. Restful : 表征状态状态转移. 传统 : url : http://localhost:8080/usersys/delete.do?user.id=12 Restful 风格:url ...
- Spring MVC之视图解析器和URL-Pattern的配置方案
上期讲解了第一入门案例之后接下来了解一下视图解析器与URL-Pattern的配置方案 先来说视图解析器,在上次博客文章中我们完成了入门案例,接下来我们就在上一个例子中完善一下体出视图解析器 <? ...
随机推荐
- 「CQOI2006」简单题 线段树
「CQOI2006」简单题 线段树 水.区间修改,单点查询.用线段树维护区间\([L,R]\)内的所有\(1\)的个数,懒标记表示为当前区间是否需要反转(相对于区间当前状态),下方标记时懒标记取反即可 ...
- 文件描述符、文件表项、V节点表项的一些总结
转自 http://blog.csdn.net/gzzheyi/article/details/7739556 表格可以参见APUE 第三版 P61. 文件描述符(进程级别): 1).在每个进程表中 ...
- Java分布式互联网架构/微服务/高性能/springboot/springcloud 2018年10月17日直播内容
2018年10月17日直播内容 大规模并发必备的消息中间件技术ActiveMq 网盘链接: https://pan.baidu.com/s/1GlxsZ2JnrvX- YN16-S7lQw 提取码: ...
- SpringMVC框架下Web项目的搭建与部署
这篇文章已被废弃. 现在,Deolin使用Maven构建项目,而不是下载Jar文件,使用Jetty插件调试项目,而不是外部启动Tomcat. SpringMVC比起Servlet/JSP方便了太多 W ...
- xml详解
https://www.cnblogs.com/zhao1949/p/5652167.html https://www.cnblogs.com/cb0327/p/4967782.html
- jenkins的任务卡住
今天做jenkins任务的时候,发现一个启动后,一直卡住,在那转圈圈,其实这个时候,任务已经执行完了. 经过分析,因为这个任务是启动一个web服务,直接在机器上执行时,直接占用一个终端. 解决办法,放 ...
- 一个数据库操作类,适用于Oracle,ACCESS,SQLSERVER
最近做了一个数据诊断的项目,里面自己写了一个数据库的操作类,包含:连接数据库.读数据表.执行SQL操作,释放数据库等组成,希望对大家有用,由于水平有限,若有错误或者代码不足地方欢迎指正,谢谢. ADO ...
- 会声会影x7 每次安装均会提示:已安装这个产品的另一个版本
会声会影x7 每次安装均会提示:已安装这个产品的另一个版本 卸载C++2008 的库就行了 文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论
- 错误Uncaught Error: Bootstrap's JavaScript requires jQuery at bootstrap.min.js:6 错误详解
引入Bootstrap的顺序进行修改 <% //获取以/开始,不以/结尾的部分 pageContext.setAttribute("APP_PATH", request.ge ...
- poj1734
Sightseeing trip Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9078 Accepted: 3380 ...