社区
Java EE
帖子详情
filter中filterConfig为NULL,在线
tujunhui
2003-08-22 08:57:07
我的filter不能INIT,
init(FilterConfig filterConfig)方法没有运行,只运行了doFilter()
...全文
309
14
打赏
收藏
filter中filterConfig为NULL,在线
我的filter不能INIT, init(FilterConfig filterConfig)方法没有运行,只运行了doFilter()
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhaoxichao
2003-08-22
打赏
举报
回复
init(FilterConfig filterConfig)方法没有运行?不可能吧,web.xml里面配置正确吗?
你怎么知道没有运行的?
init(FilterConfig filterConfig)里面的filterConfig是由中间件实现传进来的,你在init方法里面把它保存下来就可以了
gboy2003
2003-08-22
打赏
举报
回复
帮你up
wellsoon
2003-08-22
打赏
举报
回复
这个我没有弄过,
只能够帮你up了。
tujunhui
2003-08-22
打赏
举报
回复
怎么得到一个filterConfig对象呀
tujunhui
2003-08-22
打赏
举报
回复
有人知道吗?
tujunhui
2003-08-22
打赏
举报
回复
哈哈,我解决了.
原来它是由setFilterConfig(FilterConfig filterConfig)传参数进来。我说用jbuidler建filter的时候怎么老提要我建个setFilterConfig()方法了,现在明白了。
不过还是谢谢个位了。
tujunhui
2003-08-22
打赏
举报
回复
???
tujunhui
2003-08-22
打赏
举报
回复
全部代码:
public class SessionFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig=null;
//Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) {
System.out.println("init");
this.filterConfig = filterConfig;
}
//Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
try {
.....
.....
filterChain.doFilter(request,response);
}
catch(ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
}
catch(IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
//Clean up resources
public void destroy() {
}
public FilterConfig getFilterConfig() {
return this.filterConfig;
}
public void setFilterConfig(FilterConfig filterConfig) {
}
}
tujunhui
2003-08-22
打赏
举报
回复
to: treeClimber(我以我血荐轩辕)
我的
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
已经赋了呀!
cshchina
2003-08-22
打赏
举报
回复
应该定一个内部变量
treeClimber
2003-08-22
打赏
举报
回复
你那个this.filterConfig是自己定义的变量吧?在init()方法中赋值一下。
tujunhui
2003-08-22
打赏
举报
回复
有人能帮我吗?
tujunhui
2003-08-22
打赏
举报
回复
web.xml
-----------
<filter>
<filter-name>sessionfilter</filter-name>
<filter-class>myweb.Filer.SessionFilter</filter-class>
<init-param>
<param-name>ERROR_PAGE</param-name>
<param-value>systemerror.jsp</param-value>
</init-param>
<init-param>
<param-name>LOGIN_NAME</param-name>
<param-value>userVO</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>sessionfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>loginservlet</servlet-name>
<servlet-class>myweb.Servlet.LoginServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>registerservlet</servlet-name>
<servlet-class>myweb.Servlet.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginservlet</servlet-name>
<url-pattern>/loginservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>registerservlet</servlet-name>
<url-pattern>/registerservlet</url-pattern>
</servlet-mapping>
</web-app>
---------
配置文件应该没有问题
我现在想取出初始化参数,可是filterConfig为NULL,取不出来。
tujunhui
2003-08-22
打赏
举报
回复
to: zhaoxichao(小西)
我在doFilter()中用
if (this.filterConfig==null){
System.out.println("null ");
}做判断为NULL
另在init(FilterConfig filterConfig)方法中加了一条
System.out.println("init");
控制台没有输出。
聊天室程序下载
package com.wgh.
filter
; import java.io.IOException; import javax.servlet.*; public class CharacterEncoding
Filter
implements
Filter
{ protected String encoding =
null
; protected
Filter
Config
filter
Config
=
null
; public void init(
Filter
Config
filter
Config
) throws ServletException { this.
filter
Config
=
filter
Config
; this.encoding =
filter
Config
.getInitParameter("encoding"); } public void do
Filter
(ServletRequest request, ServletResponse response,
Filter
Chain chain) throws IOException, ServletException { if (encoding !=
null
) { request.setCharacterEncoding(encoding); response.setContentType("text/html; charset="+encoding); } chain.do
Filter
(request, response); } public void destroy() { this.encoding =
null
; this.
filter
Config
=
null
; } }
Springboot打war包
Filter
依赖注入为
null
近期Springboot项目需要在国产Web容器上运行,在打完war包启动后出现
Filter
中
注入的bean为
null
的错误。 在网上搜了一圈,解决方案如下: public void init(
Filter
Config
filter
Config
) throws ServletException { ServletContext servletContext =
filter
Config
.getServletContext(); WebA...
Spring在Java
Filter
注入Bean为
Null
的问题解决
在Spring的自动注入
中
普通的POJO类都可以使用@Autowired进行自动注入,但是除了两类:
Filter
和Servlet无法使用自动注入属性。(因为这两个归Web容器管理)可以用init(集承自HttpServlet后重写init方法)方法
中
实例化对象。 解决方法: 其
中
涉及到五种Spring实例化容器对象: 方法一(这种方式不符合Web工程,不要使用):在初始化时保存ApplicationContext对象 ApplicationContext ac = new FileSystemXm
filter
中
@Autowired为
null
解决办法
filter
中
@Autowired为
null
原因是
filter
在servlet容器初始化之前,导致我们
filter
中
无法使用依赖注入 public class Access
Filter
implements
Filter
{ @Autowired private RedisUtils redisUtils; @Override public ...
Filter
使用@Autowired失败为
null
可使用如下方式进行注入 public class Controller
Filter
implements
Filter
{ @Autowired private LogsPutDataBase logsPutDataBase; @Override public void init(
Filter
Config
arg0) throws ServletExc...
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章