小弟是新手,在练习做个有会员功能的网站,使用的是jsp+mssql2000
现在不知道判断用户是否登录,请高手没多多帮助。
请详细点,最好有实例代码,谢谢啦。。。
----------------解决方案--------------------------------------------------------
用户bean里写个boolean的login来表示是否登陆
class User{
.
.
.
private boolean login;
public void setLogin(boolean b){
login=b;
}
public boolean getLogin(){
return login;
}
.
.
.
}
----------------解决方案--------------------------------------------------------
在每个页面的开头写上
<%@page contentType="text/html;charset=gb2312" %>
<%
UserBean user = (UserBean)session.getAttribute("user");
if (user==null) {
out.print("没有登陆");
} else {
out.print("已登陆")
}
%>
大体思路是用session和UserBean做,具体实现还要看你的业务逻辑.
----------------解决方案--------------------------------------------------------
用Filter(过滤器)不过我还不会用!~
----------------解决方案--------------------------------------------------------
用户登陆后,记录在的SESSION里,用SESSION判断
----------------解决方案--------------------------------------------------------
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(){
}
}
用户是否登陆过滤器,如果不登陆的话则进入不了后台页面
----------------解决方案--------------------------------------------------------
用session比较好一点吧!
----------------解决方案--------------------------------------------------------
没错session是最好的选择
----------------解决方案--------------------------------------------------------
偶也没学到过滤器那,现只知道用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" %>
----------------解决方案--------------------------------------------------------
基本上都是通过SESSION判断用户是否登录的
如果有问题不清除可以加我
----------------解决方案--------------------------------------------------------