如何使用过滤器?

china_guangzhou 2007-07-13 08:32:22
做一个简单的用户登陆,如果用户输入用户名和密码正确,则提示登陆成功信息,否则返回登陆界面
...全文
297 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
suncheng_hong 2007-07-16
  • 打赏
  • 举报
回复
别忘啦,
<filter>
<filter-name>cacheFilter</filter-name>
<filter-class>你的class路径</filter-class>
</filter>
<!--filter-mapping>
<filter-name>cacheFilter</filter-name>
<url-pattern>*/url-pattern>
</filter-mapping-->
china_guangzhou 2007-07-15
  • 打赏
  • 举报
回复
谢谢各位啦,方法我还没试,试好了我再给分……^_^
wuzeng2002 2007-07-15
  • 打赏
  • 举报
回复
哎 就比如你有一个文件夹person 就只有登陆的人才有权限访问 你如果不用过滤器就要每个页面去判断是否登陆了 用过滤器就会在访问每个jsp之前去判断是否登陆 省了很多事情
import java.io.IOException;
import javax.servlet.http.*;
import javax.servlet.*;

public class LoginCheck implements Filter {

protected FilterConfig filterConfig = null;

public void destroy() {

this.filterConfig = null;

}

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
if(filterConfig==null)
return;
HttpServletRequest hreq=(HttpServletRequest)req;
HttpSession session=hreq.getSession();
if((session.getAttribute("username")==null)||(session.getAttribute("username").equals(""))){
RequestDispatcher requestDis=req.getRequestDispatcher("login.jsp");
requestDis.forward(req,res);
}
else{
chain.doFilter(req,res);
}
}

public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
}
huxinyu929 2007-07-14
  • 打赏
  • 举报
回复
我并无冒犯之意。
由于本人愈惑,请多谅解。
为什么一定要用过滤器呢?有什么好处么?(见笑)
请各位前辈指教,不胜感激!
rainv 2007-07-14
  • 打赏
  • 举报
回复
过滤器可以过滤不要的或需要转化东西(废话是吧)。
比如编码转换,用户的权限控制 。过滤器属于前端控制器。

做个比喻吧: 比如一个家的门有什么用呢?不要门也可以啊,陌生人进来,屋里的人判断一下是否认识,不认识就赶他走。这样的话家里的人会很忙,而且很不安全。
有一个门的话,我们可以通过对讲机询问这个人是否认识才让他进来。
具体可以看看<设计模式>gof的书。
Norris_Zhang 2007-07-13
  • 打赏
  • 举报
回复
简单的判断用户名密码是否正确,为什么要用过滤器呢
china_guangzhou 2007-07-13
  • 打赏
  • 举报
回复
请说得再具体一些,好吗??
SaintKaKa 2007-07-13
  • 打赏
  • 举报
回复
登陆后在session中保存一个登陆成功的标记
在过滤器的doFilter方法中访问该标记
如果未登陆则将请求转发至登陆界面
过滤器对除登陆界面外的所有页面过滤

62,623

社区成员

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

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