大家对只有登录用户才可以访问的页面怎么处理的?是对每个页面都判断是否有session,还是有更好的办法?

wyzh 2003-04-02 05:32:19
thanks.
...全文
215 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyan 2003-04-03
  • 打赏
  • 举报
回复
djinzaghi(java) 的
public class User 是不是应该改成

public class User implements Serializable
l_walker 2003-04-03
  • 打赏
  • 举报
回复
给个例子你:

package lightningboard.filter;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.FilterChain;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class SessionAuthorizationFilter implements Filter {
protected FilterConfig filterConfig;

public void init(FilterConfig config) {
this.filterConfig = config;
}

public void destroy() {
this.filterConfig = null;
}


private boolean passed(ServletRequest request, ServletResponse response)
throws IOException, ServletException {
boolean result=false;
String objectName=this.filterConfig.getInitParameter("OBJECT_NAME");
HttpServletRequest req = (HttpServletRequest)request;
HttpSession session =req.getSession(false);
if(session!=null){
Object object=session.getAttribute(objectName);
if(object!=null)
result= true;
}
return result;
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
throws IOException, ServletException{
if (passed(request,response))
filterChain.doFilter(request, response);
else{
HttpServletResponse res = (HttpServletResponse)response;
String errorPage=this.filterConfig.getInitParameter("ERROR_PAGE");
res.sendRedirect(errorPage);
}
}
}
l_walker 2003-04-03
  • 打赏
  • 举报
回复
用过滤器
可以看看struts

www.chinaxp.org里面的XForum使用了Filter受保护请求,可以下来看看:)
zhxx 2003-04-03
  • 打赏
  • 举报
回复
过滤器比较好
shihb 2003-04-03
  • 打赏
  • 举报
回复
filter应该是个不错的选择,至少不会漏!呵呵!
ukyer 2003-04-03
  • 打赏
  • 举报
回复
zez(鹤清风 qq: 发消息给我:)) 我也是
zez 2003-04-03
  • 打赏
  • 举报
回复
把session放到一个头文件里,然后所有的页面都调用这个头文件.
还保证整个网站的整体性 :)
foolbirds 2003-04-03
  • 打赏
  • 举报
回复
session方便些,就用它。
wyzh 2003-04-03
  • 打赏
  • 举报
回复
那我就用session吧,我用filter了。
hanty 2003-04-03
  • 打赏
  • 举报
回复
session。
shaopin 2003-04-03
  • 打赏
  • 举报
回复
一般用session;
djinzaghi 2003-04-02
  • 打赏
  • 举报
回复
接着上面说。
在User里面
有一个方法,是判断name与password是不是匹配。
匹配的话islogin=true;
else
islogin=false;
djinzaghi 2003-04-02
  • 打赏
  • 举报
回复
你可以写一个User的Bean
public class User
{
String name;
String password;
boolean islogin;
......
set方法
get方法
public boolean islogin()
{
return islogin;
}
......

}
在JSP页面中<jsp:useBean id="user" scope="session" class="User"/>
user.set方法();//把属性set到user的实例中。
以后在每个页面中可是做个判断:
if(!user.islogin())
{
<jsp:forward page="....."/>
}

不知道你明白否。当然,session里可以setAttribute("name",username);


kjeny2002 2003-04-02
  • 打赏
  • 举报
回复
楼上的不也是SEESSION 或COOKIE嘛
beloved 2003-04-02
  • 打赏
  • 举报
回复
写个bean嘛,在登陆完后每个页面都调用一下bean有不麻烦。
qiri07 2003-04-02
  • 打赏
  • 举报
回复
i'm also use session.
yun15291li 2003-04-02
  • 打赏
  • 举报
回复
我是都用session。
除非想让用户下次自动登陆用cookie。
还有就是用包含文件可以省去许多代码时间。
lanwan 2003-04-02
  • 打赏
  • 举报
回复
好像用session好一点,又不难
JavaCoffee 2003-04-02
  • 打赏
  • 举报
回复
基本上都是依靠session。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧