`
一顿饺子
  • 浏览: 51698 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

从Filter中得到Spring的ApplicationContext

阅读更多
因为Filter是在ApplicationContext之外运行的,它们不能直接inject其他的Bean到Filter对象中。使用其他的Bean,Filter需要通过ServletContext,得到Spring的ApplicationContext。Spring提供了WebApplicationContextUtils的getWebApplicationContext来方便获取。
代码:
public void doFilter(ServletRequest req, ServletResponse rep,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
ApplicationContext ac              =WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
User user = (User)ac.getBean("user1");
System.out.println(user.getId());
}

对不起 ,以上得到的ApplicationContext 是新的。如下则可以
ServletContext  servletContext  =config.getServletContext();
ap= (WebApplicationContext)servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
分享到:
评论

相关推荐

    spring applicationContext 配置文件

    <bean id="doubleSubmitInterceptor" class="com.ccc.filter.DoubleSubmitInterceptor"> <property name="mappingURL" value=".html" /> <property name="viewURL" value=".html" /> </bean> ...

    Spring 管理filter 和servlet

    这些代理类负责从Spring的WebApplicationContext中获取实际的Filter或Servlet实例,并将请求委托给它们。 3. **配置WebApplicationContext的初始化** 在`web.xml`中,使用`ContextLoaderListener`来初始化Spring...

    web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序

    ### web.xml文件中配置(servlet, spring, filter, listener)的加载顺序 在Java Web应用开发中,`web.xml`文件是整个Web应用程序的核心配置文件之一,它定义了Servlet容器如何启动、初始化以及配置各个组件如...

    spring MVC所需jar包和filter的配置

    在Spring MVC中,常见的Filter包括字符编码Filter、登录验证Filter等。 - `CharacterEncodingFilter`:确保请求和响应的字符编码一致,防止乱码问题。配置示例: ```xml <filter> <filter-name>...

    spring4的所有jar包+applicationContext.xml+web.xml

    在“spring4的所有jar包+applicationContext.xml+web.xml”这个组合中,我们主要讨论以下几个关键知识点: 1. **Spring框架的jar包**:Spring框架由多个模块组成,每个模块都有相应的jar包。主要包括Spring Core、...

    特殊情况(ActionForm,Servlet, Filter, Listener)下Spring如何注入对象

    2. **Filter**: 同样,可以在Filter的init()方法中获取ApplicationContext,或者通过ServletContextAware接口,将Spring上下文注册到ServletContext,然后在doFilter()方法中使用。 3. **Listener**: 在监听器的...

    spring jar 包详解

    - **功能简介**:为 Spring 核心提供了大量扩展,包括使用 Spring ApplicationContext 特性时所需的全部类,JDNI 所需的全部类,UI 方面的类,以及校验 Validation 相关的类。 - **应用场景**:适用于需要使用 ...

    spring springmvc mybatis框架整合需要的jar包

    在Java Web开发中,Spring、SpringMVC和MyBatis是三个非常重要的开源框架,它们分别负责不同的职责:Spring作为核心容器管理应用组件,SpringMVC处理Web请求,而MyBatis则专注于数据库操作。将这三个框架整合在一起...

    集合 struts2+spring+hibernate

    同时,Spring的`applicationContext.xml`中需配置SessionFactory和数据源,以便Spring能够管理Hibernate的会话。 对于登录示例,可以创建一个Action类,该类由Spring管理并实现登录逻辑。Action类会调用Hibernate的...

    spring-security3 配置和使用

    首先,需要从 Spring Security 官网下载最新的 jar 文件,然后将其拷贝到项目的 lib 目录下。这样便可以使用 Spring Security 3 框架来保护我们的应用程序。 配置 Spring Security 3 在 classpath 下添加 security...

    spring4.3.9相关jar包

    spring-web.jar(必须) :这个jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web Application Context 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。...

    基于注解的Spring_3.0.x_MVC

    这意味着 Spring 将在 WEB-INF/classes/spring 目录下寻找以“-config.xml”结尾的配置文件,并将其加载到 Spring ApplicationContext 中。 在 Spring 3.0.x 中,还引入了基于注解的依赖注入机制,使用 @Autowired ...

    struts.xml和applicationContext.xml、web.xml的配置

    在Java Web开发中,`struts.xml`, `applicationContext.xml` 和 `web.xml` 是三个至关重要的配置文件,它们各自负责不同的职责,并协同工作来构建一个完整的应用框架。以下是关于这三个配置文件的详细说明。 首先,...

    spring4.1核心包

    可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类。 外部依赖spring-beans, (spring-aop)。 5. spring-context-support-4.1.1....

    spring-web-5.3.6 jar包.rar

    这个jar文件包含Web应用开发时,用到Spring框架时所需的核心类, 包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 spring的核心类,提供了核心HTTP...

    struts+spring

    3. **配置Spring**:在`applicationContext.xml`文件中,你需要定义你需要的bean,包括业务逻辑层(Service)和数据访问层(DAO)。Spring通过DI管理这些bean的生命周期,并负责初始化和销毁。 4. **Action类与...

    struts2和Spring整合需要的jar包

    Struts2会自动从Spring容器中查找并注入Action所需的bean。 通过这样的整合,我们能够实现业务逻辑和视图层的解耦,使代码更加模块化,便于维护和扩展。同时,Spring的IoC和AOP特性也能够更好地支持企业级应用的...

    Spring Seucrity整合CAS

    在Spring的配置文件`applicationContext.xml`中,我们需要配置Spring Security的相关设置。通过`<http>`元素定义安全策略,例如URL模式的访问控制。`<authentication-manager>`定义认证管理器,`<cas-filter>`和`...

    最新最全的spring开发包

    可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。...

    在Eclipse 中创建Spring的 Web应用.doc

    其中`servletContext`是`ServletContext`对象,通常可以从Servlet或Filter中获得。 6. **部署要求**: 这样的配置要求你的Web应用部署在支持Servlet 2.3及以上版本的容器中。 7. **WebApplicationContext与...

Global site tag (gtag.js) - Google Analytics