zhengdl126 2009-09-19 14:31
浏览 212
已采纳

Filter 简单应用实例求详解

web.xml


AdminFilter
szy.shopping.filter.AdminFilter

url
/admin/login.jsp

<filter-mapping>
    <filter-name>AdminFilter</filter-name>
    <url-pattern>/admin/index.jsp</url-pattern>
</filter-mapping>

AdminFilter.java

public class AdminFilter implements Filter{
String url = "/";
@Override
public void destroy() {

}

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse res = (HttpServletResponse) response;
    HttpSession session = req.getSession();
    if (session.getAttribute("admin") == null) {
        res.sendRedirect(req.getContextPath() + url);
        return ;
    }
    chain.doFilter(request, response);
}

@Override
public void init(FilterConfig config) throws ServletException {
    url = config.getInitParameter("url");
}

}

能不能详细说明以上两段代码的具体解释?大致的流程是怎么样的?

[b]问题补充:[/b]
lianj_lee所说的这个权限判断是我写程序调用,还是它自动根据XML来调用验证是否登录?

还有


AdminFilter
szy.shopping.filter.AdminFilter

url
/admin/login.jsp


AdminFilter
/admin/index.jsp

可否在详细说明?谢谢~

展开全部

  • 写回答

2条回答 默认 最新

  • lianj 2009-09-19 17:18
    关注

    简单的一个权限判断,admin用户登录以后会在session里面放入一个变量,变量名“admin”, 所有在filter里面判断这个在session里面是否存在,如果不存在,则跳转到admin用户登陆页。登陆页地址是,这个[color=red]web应用地址[/color] 加上 [color=red]具体页面地址[/color] 具体页面地址是通过 filter的初始化参数传入的!

    回答完毕!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部