jsp中如何通过session判断用户是否登录? 10
4个回答
展开全部
登录时判断session是否为空,为空的话则设置一个session,并进行登录操作:
Login loginBean = null;
HttpSession session = request.getSession(true);
try {
loginBean = (Login) session.getAttribute("login");
if(loginBean == null){
loginBean = new Login();
session.setAttribute("login", loginBean);
}
} catch (Exception e) {
loginBean = new Login();
session.setAttribute("login", loginBean);
}
//下面是登录操作,并给loginBean这个javabean的各个参数赋值,省略
在其他页面里,通过判断先前设置的这个session是否为空,为空的话转向登录页面,否则继续操作:
HttpSession session = request.getSession(true);
Login loginBean = (Login) session.getAttribute("login");
if(loginBean == null){
response.sendRedirect("login.jsp");
}
else{
//其他操作,省略
}
附:这个一个登录成功后的显示页面:
<%@page import="com.sun.xml.internal.bind.v2.model.core.ID"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ page import="com.zifangsky.OnlineFriend.model.member.Login"%>
<jsp:useBean id="login" type="com.zifangsky.OnlineFriend.model.member.Login" scope="session"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<base href="<%=basePath%>">
<%@ include file="head.txt"%>
</head>
<body>
<center>
<font size=4 color=blue>
<br><jsp:getProperty name="login" property="backNews"/>
</font>
<font size=3>
<% if(login.isLoginSuccess()){ %>
<br><br>欢迎回来,尊敬的会员:<jsp:getProperty name="login" property="id"/>
<%}
else{%>
<br><a href="login.jsp">点击这里,重新登录</a>
<%} %>
</font>
</center>
</body>
</html>
展开全部
具体思路说下,我学的是ASP.NET。
首先在你登陆的时候,如果登陆成功的话,就应该把相对应的用户名存入SESSION中
比如Session["username"]="Peter"
假设你关闭了这个页面,然后再打开的时候就判断SESSION是否为空,比如刚才的那个
Session["username"],如果不为空的话,那么就跳转到登陆后的页面,如果为空(假设没有登陆或者设置了登陆超时)那么就跳转到登陆页面,提示登陆。设置页面长时间不动就会自动退出登陆,也就是清空SESSION。具体的思路都一样,你可以去网上找下
首先在你登陆的时候,如果登陆成功的话,就应该把相对应的用户名存入SESSION中
比如Session["username"]="Peter"
假设你关闭了这个页面,然后再打开的时候就判断SESSION是否为空,比如刚才的那个
Session["username"],如果不为空的话,那么就跳转到登陆后的页面,如果为空(假设没有登陆或者设置了登陆超时)那么就跳转到登陆页面,提示登陆。设置页面长时间不动就会自动退出登陆,也就是清空SESSION。具体的思路都一样,你可以去网上找下
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在用户登录时绑定一个用户对象到session 上,就可以根据session中是否存在用户对象来判断用户是否登录。
更多追问追答
追问
我知道用session、但不知道怎么实现?
追答
第一次用户登录的时候获取用户登录参数后台比对,成功生成用户对象user,然后用session.setAtribute('user',user)封装到session中,在jsp页面直接判断session.getAttribute('user')是否为空就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用jsp<c:choose>判断
<c:choose>
<!-- 默认为全部作用域,将user对象存入session对象的setAttribute,判断user是否为空 -->
<c:when test=“empty user”>
<!-- user为空登陆失败-->
登录失败!
</c:when>
<c:otherwise>
<!--否则登陆成功-->
登陆成功!
</otherwise>
</c:choose>
手机手打
<c:choose>
<!-- 默认为全部作用域,将user对象存入session对象的setAttribute,判断user是否为空 -->
<c:when test=“empty user”>
<!-- user为空登陆失败-->
登录失败!
</c:when>
<c:otherwise>
<!--否则登陆成功-->
登陆成功!
</otherwise>
</c:choose>
手机手打
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询