- 浏览: 513576 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (563)
- 工作经验 (12)
- 数据库 (13)
- Servlet (10)
- Struts2 (1)
- Spring (25)
- Eclipse (5)
- Hibernate (5)
- Eclips (8)
- HTTP (7)
- J2EE (21)
- EHcache (1)
- HTML (11)
- 工具插件使用 (20)
- JPA (2)
- 杂谈 (17)
- 数据结构与算法 (3)
- Cloud Foundry (1)
- 安全 (10)
- J2SE (57)
- SQL (9)
- DB2 (6)
- 操作系统 (2)
- 设计模式 (1)
- 版本代码管理工具 (13)
- 面试 (10)
- 代码规范 (3)
- Tomcat (12)
- Ajax (5)
- 异常总结 (11)
- REST (2)
- 云 (2)
- RMI (3)
- SOA (1)
- Oracle (12)
- Javascript (20)
- jquery (7)
- JSP自定义标签 (2)
- 电脑知识 (5)
- 浏览器 (3)
- 正则表达式 (3)
- 建站解决问题 (38)
- 数据库设计 (3)
- git (16)
- log4j (1)
- 每天100行代码 (1)
- socket (0)
- java设计模式 耿祥义著 (0)
- Maven (14)
- ibatis (7)
- bug整理 (2)
- 邮件服务器 (8)
- Linux (32)
- TCP/IP协议 (5)
- java多线程并发 (7)
- IO (1)
- 网页小工具 (2)
- Flash (2)
- 爬虫 (1)
- CSS (6)
- JSON (1)
- 触发器 (1)
- java并发 (12)
- ajaxfileupload (1)
- js验证 (1)
- discuz (2)
- Mysql (14)
- jvm (2)
- MyBatis (10)
- POI (1)
- 金融 (1)
- VMWare (0)
- Redis (4)
- 性能测试 (2)
- PostgreSQL (1)
- 分布式 (2)
- Easy UI (1)
- C (1)
- 加密 (6)
- Node.js (1)
- 事务 (2)
- zookeeper (3)
- Spring MVC (2)
- 动态代理 (3)
- 日志 (2)
- 微信公众号 (2)
- IDEA (1)
- 保存他人遇到的问题 (1)
- webservice (11)
- memcached (3)
- nginx (6)
- 抓包 (1)
- java规范 (1)
- dubbo (3)
- xwiki (1)
- quartz (2)
- 数字证书 (1)
- spi (1)
- 学习编程 (6)
- dom4j (1)
- 计算机系统知识 (2)
- JAVA系统知识 (1)
- rpcf (1)
- 单元测试 (2)
- php (1)
- 内存泄漏cpu100%outofmemery (5)
- zero_copy (2)
- mac (3)
- hive (3)
- 分享资料整理 (0)
- 计算机网络 (1)
- 编写操作系统 (1)
- springboot (1)
最新评论
-
masuweng:
亦论一次OutOfMemoryError的定位与解错 -
变脸小伙:
引用[color=red][/color]百度推广中运用的技术 ...
Spring 3 mvc中返回pdf,json,xml等不同的view -
Vanillva:
不同之处是什么??
Mybatis中的like查询 -
thrillerzw:
转了。做个有理想的程序员
有理想的程序员必须知道的15件事 -
liujunhui1988:
觉得很有概括力
15 个必须知道的 Java 面试问题(2年工作经验)
源:http://zy116494718.iteye.com/blog/1918131
评:
当我们用Filter时,往往需要使用一些辅助的service,在普通的java中,只要声明(set,get方法)后在spring-application配置文件中配置就可以了,但是由于Filter与Listener需要配置在web.xml文件中,所以它们的对象是由容器创建的。通常在Spring的application-context.xml配置文件中编写的bean由Spring负责创建,所以直接在Spring配置文件配置过滤器与监听器是无法达到注入目的的。
可以使用如下方法,例:
Java代码 收藏代码
public class JudgeUserRole implements Filter {
private UserRelationService userRelationService;
public UserRelationService getUserRelationService() {
return userRelationService;
}
public void setUserRelationService(UserRelationService userRelationService) {
this.userRelationService = userRelationService;
}
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
UserRelationship user = this.userRelationService.checkRelationship(0, "jnduan", 0, "cscs01");
}
@Override
public void init(FilterConfig config) throws ServletException {
ServletContext context = config.getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context);
userRelationService = (UserRelationService) ctx.getBean("userRelationService");
}
}
ps: userRelationService为在spring-application中配置的
评:
当我们用Filter时,往往需要使用一些辅助的service,在普通的java中,只要声明(set,get方法)后在spring-application配置文件中配置就可以了,但是由于Filter与Listener需要配置在web.xml文件中,所以它们的对象是由容器创建的。通常在Spring的application-context.xml配置文件中编写的bean由Spring负责创建,所以直接在Spring配置文件配置过滤器与监听器是无法达到注入目的的。
可以使用如下方法,例:
Java代码 收藏代码
public class JudgeUserRole implements Filter {
private UserRelationService userRelationService;
public UserRelationService getUserRelationService() {
return userRelationService;
}
public void setUserRelationService(UserRelationService userRelationService) {
this.userRelationService = userRelationService;
}
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
UserRelationship user = this.userRelationService.checkRelationship(0, "jnduan", 0, "cscs01");
}
@Override
public void init(FilterConfig config) throws ServletException {
ServletContext context = config.getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context);
userRelationService = (UserRelationService) ctx.getBean("userRelationService");
}
}
ps: userRelationService为在spring-application中配置的
发表评论
-
使用Spring+Junit+Mockito做代码自测
2019-05-29 15:27 504源:https://blog.csdn.net/z19917 ... -
在同一个类中调用另一个方法没有触发 Spring AOP 的问题
2017-08-24 17:22 574源:https://segmentfault.com/a/11 ... -
Spring Transaction属性之Propagation
2016-08-10 17:09 546源:http://blog.csdn.net/kiwi_cod ... -
循环依赖检测方法 spring源码方法
2016-07-06 18:58 1165场景:checkForAliasCircle(name, al ... -
Spring的Quartz定时器同一时刻重复执行二次的问题解决
2016-03-11 18:27 1002源:http://www.linuxidc.com/Linux ... -
spring factory-method
2016-03-01 11:22 487源:http://blog.sina.com.cn/s/blo ... -
spring中lazy-init详解
2016-02-29 17:01 778源:http://blog.csdn.net/fhx0 ... -
Spring Refresh Application Context
2015-12-13 14:48 861源:http://techdive.in/spring/spr ... -
spring context 扫描与 mvc扫描类 区分开包
2015-07-15 13:23 6101.applicationContext.xml <!- ... -
获取spring的ApplicationContext几种方式
2015-06-24 15:35 697源:http://blog.sina.com.cn/s/blo ... -
spring获取webapplicationcontext,applicationcontext几种方法详解
2015-04-02 16:38 466源:http://www.blogjava.net/Todd/ ... -
Spring+Mybatis整合事务不起作用之解决方案汇总
2014-12-29 21:36 1350源:http://blog.csdn.net/walkerjo ... -
context:component-scan扫描使用上的容易忽略的use-default-filters
2014-12-29 21:29 449源:http://jinnianshilongnian.ite ... -
Spring线程池开发实战
2014-12-12 10:44 498源:http://blog.csdn.net/chszs/ar ... -
Servlet 3.0笔记之会话Cookie设置相关 java.lang.NoSuchMethodError: javax.servlet.http.Cook
2014-10-20 00:19 1961源:http://www.blogjava.net/yongb ... -
AOP生成代码有三种可能方式
2014-05-11 21:24 447源:http://blog.csdn.net/zuyi532/ ... -
Spring 3 mvc中返回pdf,json,xml等不同的view
2014-05-09 12:11 1039源:http://jackyrong.iteye.com/bl ... -
使用Spring MVC统一异常处理实战
2014-05-04 00:00 524源:http://cgs1999.iteye.com/blog ... -
spring配置文件异常
2013-11-26 10:53 904源:http://wodar.iteye.com/blog/ ... -
JSP/Servlet 工作原理
2013-10-31 11:09 352源:http://www.blogjava.net/fanc ...
相关推荐
在现代Web应用开发中,Spring框架因其强大的依赖注入和面向切面编程功能而被广泛采用。特别是在Java EE环境中,如何有效地整合Spring与Servlet、Filter等核心组件,对于构建高性能、高灵活性的应用系统至关重要。...
Spring注入Filter与Listener的方法.png
在Spring框架中,依赖注入(Dependency Injection,DI)是一种核心特性,它允许对象之间的依赖关系在运行时由Spring容器管理,而不是由代码直接创建。在SSH(Struts、Hibernate、Spring)整合的Web应用中,Spring的...
本篇我们将深入探讨如何在Spring Security中自定义Filter,以及相关的知识点。 首先,我们需要了解Spring Security的Filter工作原理。Spring Security的过滤器链是由`DelegatingFilterProxy`管理的,它会委托给`...
### web.xml文件中配置(servlet, spring, filter, listener)的加载顺序 在Java Web应用开发中,`web.xml`文件是整个Web应用程序的核心配置文件之一,它定义了Servlet容器如何启动、初始化以及配置各个组件如...
1. `GenericFilterBean`:Spring框架提供的Filter基类,支持Spring的依赖注入。 2. `OncePerRequestFilter`:Spring MVC提供的过滤器,确保每个请求只调用一次`doFilterInternal()`方法。 3. `...
在Spring MVC中,常见的Filter包括字符编码Filter、登录验证Filter等。 - `CharacterEncodingFilter`:确保请求和响应的字符编码一致,防止乱码问题。配置示例: ```xml <filter> <filter-name>...
原理过程 Springboot中会使用FilterRegistrationBean来注册Filter,Filter是Servlet规范里面的,属于容器范围,Springboot中没有web.xml,那Springboot中,不用管Filter是如何交给Ser...SpringBoot整合XssFilter,...
- **功能简介**:包含了 Web 应用开发时使用 Spring 框架时所需的核心类,包括自动载入 WebApplicationContext 特性的类、Struts 与 JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。 - **应用场景**:...
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/* </filter-mapping...
Spring框架是Java开发中的核心组件,它提供了许多高级特性,如依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP)以及容器管理的事务等。以下将详细介绍Spring学习笔记中的...
然而,在实际操作中,可能会遇到一个问题:当我们在自定义的Realm类中使用注解(@Autowired)尝试注入Spring管理的Bean时,这些属性并未被正确注入。本文将详细介绍这个问题的原因及解决方法。 首先,我们需要理解...
Spring框架是中国著名的Java开发者Rod Johnson在其著作《Expert One-on-One J2EE Design and Development》中提出的,它旨在简化企业级应用开发,通过依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-...
在Spring Boot应用中,XSS(Cross Site Scripting,跨站脚本攻击)是一种常见的安全威胁,它允许攻击者向Web页面注入恶意脚本,从而影响用户的安全。本项目"spring boot xss防御"旨在介绍如何在Spring Boot环境中...
1. **依赖注入(DI)**:在Spring中,DI可以通过以下几种方式进行: - Setter注入:通过调用Bean的setter方法设置依赖对象。 - 构造器注入:通过构造函数传递依赖对象。 - 注解注入:使用`@Autowired`,`@...
Struts2会自动从Spring容器中查找并注入Action所需的bean。 通过这样的整合,我们能够实现业务逻辑和视图层的解耦,使代码更加模块化,便于维护和扩展。同时,Spring的IoC和AOP特性也能够更好地支持企业级应用的...
在`web.xml`中,将Struts2 Filter与Spring结合,使得Struts2的动作可以通过Spring容器获取。同时,Spring的`applicationContext.xml`中需配置SessionFactory和数据源,以便Spring能够管理Hibernate的会话。 对于...
SSM(Spring、Struts、MyBatis)是Java Web开发中的经典组合,其中Spring主要负责依赖注入和事务管理,Struts作为MVC框架处理请求和视图,MyBatis则作为持久层框架简化数据库操作。 Spring Web模块包含了以下关键...