Dam*_*ien 25 tags spring servlets javabeans servlet-filters
我可以使用我的Servlet访问Spring bean
WebApplicationContext springContext =
WebApplicationContextUtils.getWebApplicationContext(getServletContext());
Run Code Online (Sandbox Code Playgroud)
在Servlet的init
方法中.
我想知道是否有相当于WebApplicationContext
servlet过滤器?另外,是否可以在标记类中访问Spring bean?
axt*_*avt 39
对于过滤器 - 使用Filter.init()
:
public void init(FilterConfig config) {
WebApplicationContext springContext =
WebApplicationContextUtils.getWebApplicationContext(config.getServletContext());
}
Run Code Online (Sandbox Code Playgroud)
对于标签 - 使用TagSupport.pageContext
(请注意,它不可用SimpleTagSupport
):
WebApplicationContext springContext =
WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext());
Run Code Online (Sandbox Code Playgroud)
Ale*_*s K 26
您可以使用Spring文档中提到的DelegatingFilterProxy:http://static.springsource.org/spring-security/site/docs/3.0.x/reference/security-filter-chain.html#delegating-filter-proxy
您只需使用与web.xml中声明的filter-name相同的bean名称声明您的真实Filter bean:
web.xml中:
<filter>
<filter-name>SpringTestFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>SpringTestFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
applicationContext.xml中:
<bean id="SpringTestFilter" class="com.company.app.servlet.SpringTestFilter" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26393 次 |
最近记录: |