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>
结果是这样

这是目录结构
...全文
110 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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>

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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