玩转Spring!从拒绝Filter开始

一直以来,博客都是在写一些读书笔记或者学习心得。俗话说,举一反三,是时候沉淀一下了。索性这把这篇文章作为开端吧!

笔者知道,这篇文章的题目一定让某些developer不爽,尤其是学习过J2EE基础的人。学习过J2EE基础的童鞋,一定有自己写listener,filter和servlet的经验。经验多一些是好事,但不要陶醉于自己的经验,作为developer,我们还是要进步滴,尤其是在使用Spring之后。

在Spring中,用拦截器代替了原来的listener和filter,而且的确,Spring中的这个拦截器机制也的确是不负众望。下面笔者就举个例子,如何利用Spring中的拦截器机制写出松耦合,可插拔的代码。

多说一句,笔者非常喜欢软件模块“可插拔”的设计。

在大多数的软件架构中,都会有类似登录检查的机制。这个时候,我们就可以写一个拦截器,比如叫LoginInterceptor,让这个类集成自Spring框架的HandlerInterceptor类。

代码如下:

关于HandlerInterceptor的用法,参见SpringMVC官网地址:点击打开链接

public class LoginInterceptor extends HandlerInterceptorAdapter {

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    	if 验证不通过
    		return false;
    	return true;
    }
}
<bean id="loginInterceptor" class="LoginInterceptor"/>
<mvc:interceptors>
    <mvc:interceptor>
        <mvc:mapping path="/**"/>
        <ref bean="loginInterceptor"/>
    </mvc:interceptor>
</mvc:interceptors>


瞧,一个身份验证功能写好了。而且,该功能处于系统的最前端,像一层盔甲保护你的系统,无法登陆的用户压根到不了你的web层。那么问题来了,有一天,你的老板和你说:系统要完全公开,希望任何人可以访问;或者是验

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Spring Cloud是一个用于构建分布式系统的开发工具集合,它基于Spring Boot框架,提供了一系列的解决方案和工具,用于简化分布式系统的开发和部署。下面是一个从零开始学习Spring Cloud的教程: 1. 学习Spring Boot:在学习Spring Cloud之前,首先需要掌握Spring Boot框架的基础知识。可以通过官方文档、教程或者相关书籍来学习Spring Boot的核心概念和使用方法。 2. 了解微服务架构:Spring Cloud是基于微服务架构的开发工具集合,因此需要对微服务架构有一定的了解。可以学习微服务的概念、特点以及与传统单体应用的区别。 3. 搭建开发环境:在学习Spring Cloud之前,需要搭建好相应的开发环境。可以使用IDE工具如IntelliJ IDEA或Eclipse,并配置好Java开发环境和相关依赖。 4. 学习Spring Cloud组件:Spring Cloud包含了多个组件,如服务注册与发现(Eureka、Consul)、负载均衡(Ribbon)、断路器(Hystrix)、网关(Zuul)等。可以逐个学习这些组件的使用方法和原理。 5. 实践项目:通过实践项目来巩固所学的知识。可以选择一个简单的项目,如搭建一个基于Spring Cloud的微服务架构,实现服务的注册与发现、负载均衡、断路器等功能。 6. 深入学习:在掌握了基础知识后,可以深入学习Spring Cloud的高级特性和扩展功能。可以学习分布式配置中心(Spring Cloud Config)、消息总线(Spring Cloud Bus)等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值