jsp中如何通过session判断用户是否登录?

jsp中如何通过session判断用户是否登录???哪位可以给一个小小的项目?以作参考?

登录时判断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>

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-22
具体思路说下,我学的是ASP.NET。

首先在你登陆的时候,如果登陆成功的话,就应该把相对应的用户名存入SESSION中
比如Session["username"]="Peter"
假设你关闭了这个页面,然后再打开的时候就判断SESSION是否为空,比如刚才的那个

Session["username"],如果不为空的话,那么就跳转到登陆后的页面,如果为空(假设没有登陆或者设置了登陆超时)那么就跳转到登陆页面,提示登陆。设置页面长时间不动就会自动退出登陆,也就是清空SESSION。具体的思路都一样,你可以去网上找下本回答被网友采纳
第2个回答  2014-03-22
在用户登录时绑定一个用户对象到session 上,就可以根据session中是否存在用户对象来判断用户是否登录。追问

我知道用session、但不知道怎么实现?

追答

第一次用户登录的时候获取用户登录参数后台比对,成功生成用户对象user,然后用session.setAtribute('user',user)封装到session中,在jsp页面直接判断session.getAttribute('user')是否为空就行了。

追问

我要具体的实现、有没有一个这样的小项目?麻烦发一下!

第3个回答  2018-08-08
使用jsp<c:choose>判断
<c:choose>

<!-- 默认为全部作用域,将user对象存入session对象的setAttribute,判断user是否为空 -->

<c:when test=“empty user”>
<!-- user为空登陆失败-->
登录失败!
</c:when>
<c:otherwise>
<!--否则登陆成功-->
登陆成功!
</otherwise>
</c:choose>

手机手打

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网