zhengdl126 2009-09-19 22: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-20 01:18
    关注

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

    回答完毕!

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

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题