注册 登录
编程论坛 J2EE论坛

jsp如何判断用户是否登录

hjzr 发布于 2007-01-01 16:36, 7033 次点击

小弟是新手,在练习做个有会员功能的网站,使用的是jsp+mssql2000
现在不知道判断用户是否登录,请高手没多多帮助。
请详细点,最好有实例代码,谢谢啦。。。

10 回复
#2
无理取闹2007-01-01 21:31

用户bean里写个boolean的login来表示是否登陆
class User{
.
.
.
private boolean login;
public void setLogin(boolean b){
login=b;
}
public boolean getLogin(){
return login;
}
.
.
.
}

#3
NiceGirl2007-01-03 19:54
在每个页面的开头写上
<%@page contentType="text/html;charset=gb2312" %>
<%
UserBean user = (UserBean)session.getAttribute("user");
if (user==null) {
out.print("没有登陆");
} else {
out.print("已登陆")
}
%>
大体思路是用session和UserBean做,具体实现还要看你的业务逻辑.
#4
qsrock2007-01-03 20:30
用Filter(过滤器)不过我还不会用!~
#5
angeloc2007-01-04 13:10

用户登陆后,记录在的SESSION里,用SESSION判断

#6
可可℃乐2007-01-06 21:19

package org.net.news.fileter;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class AdminFilter implements Filter{
public void init(FilterConfig filterConfig)throws ServletException{
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException{
request.setCharacterEncoding("GBK");

HttpServletRequest req=(HttpServletRequest)request;
HttpServletResponse resp=(HttpServletResponse)response;
resp.setCharacterEncoding("GBK");

String name =(String)req.getSession(true).getAttribute("username");

if(name!=null)
{
chain.doFilter(request,response);
}else{
resp.sendRedirect("/news/admin.jsp");
}
}
public void destroy(){
}
}
用户是否登陆过滤器,如果不登陆的话则进入不了后台页面

#7
fqj7932007-02-06 09:38
用session比较好一点吧!
#8
喃瑟2007-02-06 13:49

没错session是最好的选择

#9
liuliulc2007-02-06 16:06
偶也没学到过滤器那,现只知道用Seesion;可单独写个JSP页面,判断是否为登录用户
<%@ page contentType="text/html; charset=GBK" %>
<%
String name=(String)session.getAttribute("username");
if(name==null || name.equals("")){
request.getRequestDispatcher("Login.jsp").forward(request,response);
return;
}
%>
再你需要保护页面包含这个JSP即可:
<%@include file="LoginCheck.jsp" %>
#10
bagger2007-02-06 22:37

基本上都是通过SESSION判断用户是否登录的
如果有问题不清除可以加我

#11
every2007-02-08 15:40

嗯,没错就是session。很方便的。。

1