package filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.Unline;
public class OnlineFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
String servletPath = req.getServletPath();
Unline ul = new Unline();
ul.setId(req.getSession().getId());
ul.setIp(req.getRemoteAddr());
ul.setUname("匿名用户");
ul.setUtype("匿名用户");
req.setAttribute(req.getSession().getId(), ul);
if ("/login.jsp".equals(servletPath) && "/login.do".equals(servletPath)) {
chain.doFilter(req, resp);
return;
}
if (req.getSession().getAttribute(req.getSession().getId()) == null){
Cookie[] cookies = req.getCookies();
if (cookies != null && cookies.length > 0) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals(req.getSession().getId())) {
ul.setId(cookie.getValue().split(" ")[0]);
ul.setUname(cookie.getValue().split(" ")[1]);
ul.setPwd(cookie.getValue().split(" ")[2]);
ul.setIp(cookie.getValue().split(" ")[3]);
ul.setUtype("登陆用户");
req.getSession().setAttribute(req.getSession().getId(),ul);
chain.doFilter(req, resp);
return;
}
break;
}
}
req.getSession().setAttribute(req.getSession().getId(), ul);
chain.doFilter(req, resp);
}else {
chain.doFilter(req, resp);
}
}
public void init(FilterConfig arg0) throws ServletException {
System.out.println("LoginFilter...");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
过滤器等技术实现在线用户信息显示
共17个文件
class:4个
java:4个
jsp:3个
需积分: 9 6 下载量 138 浏览量
2010-10-20
14:30:26
上传
评论
收藏 11KB RAR 举报
温馨提示
昨天应项目需要,用一些常见的技术写了个显示所有在线用户信息的web程序。主要运用的技术:过滤器、监听器、servlet、Map、JSTL标签等。由于时间关系,缺乏一些详细注释。下载后解压发布到tomcat上可直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
showLoginInfo.rar (17个子文件)
showLoginInfo
.settings
org.eclipse.jdt.core.prefs 330B
src
filter
OnlineFilter.java 2KB
action
LoginAction.java 2KB
bean
Unline.java 1KB
listener
OnlineListener.java 2KB
.project 1KB
WebRoot
META-INF
MANIFEST.MF 39B
WEB-INF
web.xml 979B
classes
filter
OnlineFilter.class 3KB
action
LoginAction.class 2KB
bean
Unline.class 2KB
listener
OnlineListener.class 2KB
lib
login.jsp 719B
index.jsp 343B
showOnlineUserInfo.jsp 469B
.mymetadata 312B
.classpath 362B
.myeclipse
共 17 条
- 1
资源评论
yinyinwu
- 粉丝: 4
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功