java web 过滤器

sinat_17689255 2015-10-12 11:31:03
Java Web从入门到精通 明日科技 例9.3创建一个过滤器,实现网站计数的功能光盘位置TM\sl\9\1
过滤器部分代码
.........
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
// TODO Auto-generated method stub
count++;
HttpServletRequest req=(HttpServletRequest)request;
ServletContext context=req.getSession().getServletContext();
context.setAttribute("count", count);
chain.doFilter(request, response);
}

@Override
public void init(FilterConfig arg0) throws ServletException
{
// TODO Auto-generated method stub
System.out.println("CountFilter is already started");
String param=arg0.getInitParameter("count");
count=Integer.valueOf(param);
System.out.println(count);//
}

}
web.xml
......
<filter>
<filter-name>CountFilter</filter-name>
<filter-class>com.gaoxin.CountFilter</filter-class>
<init-param>
<param-name>count</param-name>
<param-value>5000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CountFilter</filter-name>
<url-pattern>/CountFilter</url-pattern>
</filter-mapping>
</web-app>
index.jsp
<body>
<h2>
欢迎观临<br>
您是本站的第【
<%=application.getAttribute("count") %>
】位访客!
</h2>
</body>
结果是这样

这是目录结构
...全文
85 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
哎呦喂哈 2015-10-12
试试用request

后台代码request.setAttribute()
前台代码request.getAttribute或用${}获取显示
回复
coder-qi 2015-10-12
@Override
public void init(FilterConfig arg0) throws ServletException
{
// TODO Auto-generated method stub
System.out.println("CountFilter is already started");
String param=arg0.getInitParameter("count");
count=Integer.valueOf(param);
System.out.println(count);//
}
上面的代码,只是取得了参数中的count值,但是并没将这个值存到application中,jsp中<%=application.getAttribute("count") %>肯定是取不到值的。
上面的方法中加上这行代码:
filterConfig.getServletContext().setAttribute("count", count);
回复
qq_23577115 2015-10-12
web.xml中配置的count在走过滤器时没读到,所以也就是web.xml中配置的count有错误,你试试把<init-param></init-param>去掉 <context-param>
<param-name>count</param-name>
<param-value>5000</param-value>
</context-param>
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-10-12 11:31
社区公告
暂无公告