filter中filterConfig为NULL,在线

tujunhui 2003-08-22 08:57:07
我的filter不能INIT,
init(FilterConfig filterConfig)方法没有运行,只运行了doFilter()
...全文
305 14 打赏 收藏 转发到动态 举报
写回复
用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");
控制台没有输出。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧