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 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致