欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

通过 jsp 实现用户登录和注销(通过会话保存用户信息)

最编程 2024-03-13 14:23:45
...

一.功能要求

构建以下三个页面:

1,login.jsp:完成登陆表单的显示,同时向页面本身进行数据提交,以完成登陆的验证,如果登陆成功(用户名和密码固定:sdnu/1234),则保存属性;如果登陆失败,则显示登陆失败的信息.

2.welcome.jsp:此页面要求在用户登陆完成之后才可以显示登陆成功的信息,如果没有登陆,则要给出未登陆的提示,同时给出一个登陆的连接地址。

3.logout.jsp:此功能完成登陆的注销,注销之后,页面要跳转回login.jsp,,等待用户继续登陆。

 

二.代码及解释

1.login.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>登陆界面</title>
</head>
<body>

	<form method="post" action="login.jsp">
	
		用户名<input type="text" name="username"><br>
		
		密&nbsp;&nbsp;&nbsp;&nbsp;码<input type="password" name="passward"><br>
		
		
		<input type="submit" value="提交">
	
	</form>
	
	<%
		String s1 = request.getParameter("username");
	
		String s2 = request.getParameter("passward");
		
		
		if(s1 == null&& s2 == null){
			
			
		}else if(s1.equals("sdnu")&& s2.equals("1234")){
			
			
			session.setAttribute("username", s1);
			
			session.setAttribute("password", s2);
			
			out.println("登陆成功" + "<br>");
			
			out.println("<a href='welcome.jsp'>" + "点击这里返回主页面" + "</a>");
			
			/*
			out.println(s1 + " , " + s2);
			
			out.println("用户名或密码错误");
			*/
			
		}
		
		else{
			
			//out.println(s1 + " , " + s2);
			
			out.println("用户名或密码错误");
			
			/*
			session.setAttribute("username", s1);
			
			session.setAttribute("password", s2);
			
			out.println("登陆成功");
			*/
			
			
			
		}
		
		
	
	%>

</body>
</html>

 

2.welcome.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>欢迎来到我们网站</title>
</head>
<body>

	<%
		String s1 = (String)session.getAttribute("username");
	
		
		if(s1 != null){
			
			out.println("欢迎用户: " + s1 + "<br>");
			
			out.println("<a href='logout.jsp'>" + "点击这里进行用户的注销" + "</a>");
			
			
		}else{
			
			
			out.println("您还没有进行登陆<br>");
			
			out.println("<a href='login.jsp'>" + "点击这里进行用户登陆" + "</a>");
			
		}
	
	%>

</body>
</html>

通过检查session对象的username属性是否存在来判断用户是否已经登陆.

 

3.logout.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户注销</title>
<script type="text/javascript">
	function zX(){
		
		sessionStorage.removeItem("username");
		
		
		sessionStorage.removeItem("password");
		
		window.location.href = "login.jsp";
		
		
	}



</script>
</head>
<body>

	<button type="button" name="button1" value="注销" onClick="zX()">注销</button>

</body>
</html>

通过给按钮绑定一个点击事件来删除session对象的属性值,点击事件需要使用js代码编写.

推荐阅读