| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1118 人关注过本帖
标题:谁给我个过滤器
只看楼主 加入收藏
笑海
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:4934
专家分:25
注 册:2007-4-29
结帖率:0
收藏
 问题点数:0 回复次数:11 
谁给我个过滤器

当用户没用登陆, 想跳到登陆后的页面时. 用过滤器处理这个请求.

最好是有注释的
搜索更多相关主题的帖子: 过滤器 
2007-07-26 16:08
欢天喜地
Rank: 2
等 级:论坛游民
威 望:2
帖 子:83
专家分:20
注 册:2007-5-13
收藏
得分:0 

你在过滤器中添加这样的代码就可以了
if(session对象.getSession()==false)
(
跳转到登陆页面
)

2007-07-26 16:32
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
自己写呗 那么懒

win32汇编
病毒 加密
目前兴趣所在
2007-07-26 16:41
笑海
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:4934
专家分:25
注 册:2007-4-29
收藏
得分:0 

我不会写啊


兔子不吃窝边草
2007-07-26 17:57
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 
回复:(笑海)谁给我个过滤器

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.HttpServletRequest;
import javax.servlet.http.HttpSession;

public class EncodingFilter implements Filter {

public void destroy() {
// 这里可以什么都不做

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {

HttpServletRequest req=(HttpServletRequest)request;
HttpSession session=req.getSession(false);
//看用户登陆没,假如你的User是用户类
User user=(User)session.getAttribute("...");//这里你之前要有session.serAttribute("...",arg)
//接下来是判断user是否为null,null即没有登陆
if(user!=null){你想把页面跳到那里}
else{你想把页面跳到那里}
filterChain.doFilter(request, response);//不要忘记这行

}

public void init(FilterConfig arg0) throws ServletException {
// 这里可以什么都不做

}

}

2007-07-26 21:02
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 
很久没回来了,怎么我们的网站,发表时有点不正常的,搞了我些时间!~
我已经写得很详细了!~其他的自己解决哦!~
2007-07-26 21:05
笑海
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:4934
专家分:25
注 册:2007-4-29
收藏
得分:0 
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chin) throws IOException, ServletException {
String errors = "errors.jsp";
HttpServletRequest hreq =(HttpServletRequest)req;
HttpServletResponse hres = (HttpServletResponse)res;
isLOG = (String) hreq.getSession().getAttribute("LOG");
if(isLOG!=null&&(isLOG.equals("true")||isLOG=="true")){
chin.doFilter(req,res);
hreq.getSession().removeAttribute("LOG");
return ;
}
else{
hres.sendRedirect(errors);
}
}


在JSP页面中 <%session.setAttribute("LOG","true"); %>


这样写 效果也是可以的 但是不知道写好不好 这样的话 那是不是重用性就差了

兔子不吃窝边草
2007-07-26 23:04
笑海
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:4934
专家分:25
注 册:2007-4-29
收藏
得分:0 
回复:(qsrock)回复:(笑海)谁给我个过滤器
你这样是 是不是要在JSP页面根据 帐号密码查出一个USER的对象

在把他发送到下一个页面.

兔子不吃窝边草
2007-07-26 23:08
笑海
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:4934
专家分:25
注 册:2007-4-29
收藏
得分:0 
我的问题还没解决  顶起来

兔子不吃窝边草
2007-07-27 11:47
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 

当用户没用登陆, 想跳到登陆后的页面时.
上面的是你的问题??
你根本不需要帐号密码查出一个USER的对象,只要它登陆了,user就不为null,给你写多点注释,剩下的要自己解决了!

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {

HttpServletRequest req=(HttpServletRequest)request;
HttpSession session=req.getSession(false);
//获得session,这个session是你之前就应该有的,没有它就不会创建

//看用户登陆没,假如你的User是用户类
User user=(User)session.getAttribute("...");//这里你之前要有session.serAttribute("...",arg)
//接下来是判断user是否为null,null即没有登陆
if(user!=null){你想把页面跳到那里} //如果user不为null,就表示用户已经登陆了
else{你想把页面跳到那里} //user为null用户没有登陆,你可以在这里把它跳转到登陆页面
filterChain.doFilter(request, response);//不要忘记这行

}


记得做完Filter要在web.xml上配置

2007-07-27 21:43
快速回复:谁给我个过滤器
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022870 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved