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
可否在详细说明?谢谢~
简单的一个权限判断,admin用户登录以后会在session里面放入一个变量,变量名“admin”, 所有在filter里面判断这个在session里面是否存在,如果不存在,则跳转到admin用户登陆页。登陆页地址是,这个[color=red]web应用地址[/color] 加上 [color=red]具体页面地址[/color] 具体页面地址是通过 filter的初始化参数传入的!
回答完毕!
filter 的机制你都没有完全明白,建议你去看看filter的原理。
是他自己进行处理的,不过你要配置一下 在web。xml中。
建议还是细细的看看吧!