JAVA学习笔记034——登录校验从简单到实用1(jsp简单校验并实现cookie记录)

登录校验由最简单的例子,到能够应用到实际项目,一步一步学习和实现。

总共分几个目标,这一篇实现目标1

目标1:输入用户名和密码,如果输入的用户名和密码分别为zs和abc,则密码正确,显示输出结果登录成功,并用cookie记录下登录名。

实现:

三个文件,

1.login.jsp 用于输入用户名和密码,并能够显示是否已经登录(显示cookie状态);

2.check.jsp 用于校验用户名和密码,如果正确,则转发到success.jsp页面,并将用户名记录到cookie中;如果错误,则提示“用户名密码错误”;

3.success.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>
	<%!
		String uname;
	
	%>
	<%
		boolean flag=false;
		Cookie[] cookies=request.getCookies();
		for (Cookie cookie:cookies){
				if(cookie.getName().equals("uname")){
					uname=cookie.getValue();
					flag=true;
				}
		}
			
		if(flag){
			out.print("cookie:"+uname);	
		}
		else{
				out.print("cookie已失效");
		}
		
	%>
	
	<form action="check.jsp" method="post">
	 	用户名:<input type="text" name="uname" value="<%=(uname==null?"":uname)%>"> <br/>
	 	密码:<input type="password" name="upwd"><br/>
	 	<input type="submit" value="登录"><br/>
	</form>
</body>
</html>

2.check.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>验证页面Insert title here</title>
</head>
<body>
	<%
		request.setCharacterEncoding("utf-8");
		String name=request.getParameter("uname");
		String pwd=request.getParameter("upwd");
		if(name.equals("zs")&&pwd.equals("abc")){
			Cookie cookie=new Cookie("uname",name);
			cookie.setMaxAge(20);
			response.addCookie(cookie);
			//response.sendRedirect("success.jsp");  重定向
			//改为请求转发
			request.getRequestDispatcher("success.jsp").forward(request,response);
			//response.sendRedirect("A.jsp");
		}else{
			out.print("用户名或密码错误!");
		}
	%>
</body>
</html>

3.success.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>

	登录成功!</br>
	欢迎您:
	<%
		String name=request.getParameter("uname");
		out.print(name);
	%>

</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_42844704/article/details/108458382