Java学习11.03(Javaweb登录)

用户登录功能及效果

要完成登录功能,需要创建以下几个界面或文件:登录界面、处理文件、登录成功的界面和登录失败的界面。
创建登录界面
<%@ page contentType="text/html;charset=gb2312"%> 
<script language="JavaScript"> 
 function isValidate(form) 
 { 
 // 得到用户输入的信息
 userid = form.userid.value; 
 userpass = form.userpass.value; 
 // 判断用户名长度
 if(!minLength(userid,6)) 
 { 
 alert("用户名长度小于 6 位!"); 
 form.userid.focus(); 
 return false; 
 } 
 if(!maxLength(userid,8)) 
 { 
 alert("用户名长度大于 8 位!"); 
 form.userid.focus(); 
 return false; 
 } 
 // 判断口令长度
 if(!minLength(userpass,6)) 
 { 
 alert("口令长度小于 6 位!"); 
 form.userpass.focus(); 
 return false; 
 } 
 if(!maxLength(userpass,8)) 
 { 
 alert("口令长度大于 8 位!");
form.userpass.focus(); 
 return false; 
 } 
 // 判断用户名和口令是否相同
 if(userid==userpass) 
 { 
 alert("用户名和口令不能相同!"); 
 form.userpass.focus(); 
 return false; 
 } 
 return true; 
 } 
 // 验证是否满足最小长度
 function minLength(str,length) 
 { 
 if(str.length>=length) 
 return true; 
 else 
 return false; 
 } 
 // 判断是否满足最大长度
 function maxLength(str,length) 
 { 
 if(str.length<=length) 
 return true; 
 else 
 return false; 
 } 
</script> 
<html> 
 <head> 
 <title>用户登录</title> 
 </head> 
 <body> 
 <h2>用户登录</h2> 
 <form name="form1" action="login_process.jsp" method="post" 
 onsubmit="return isValidate(form1)">
用户名:<input type="text" name="userid"> <br> 
 口令:<input type="password" name="userpass"><br> 
 <input type="reset" value="重置"> 
 <input type="submit" value="提交"><br> 
 </form> 
 </body> 
</html>

 

创建处理文件

创建处理文件的过程分四步完成:
第一步,判断用户的信息是否正确,分别输出“登录成功”和“登录失败”字样。
第二步,在此基础上把登录后的用户信息写入 session 中,以便以后使用。
第三步,登录成功之后跳转到登录成功的界面,登录失败后跳转到登录失败的界面,
使用<jsp:forward>标签完成。
第四步,采用<jsp:include>标签完成第三步任务。
 

判断用户的信息是否正确

对用户的信息进行判断,主要使用标准标签库中的<c:if>标签完成,代码如下:
 
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:if test="${param.username=="zhangsan" && param.userpass=="wangwu"}">
登录成功!
</c:if>
<c:if test="${param.username!="zhangsan" || param.userpass!="wangwu"}">
登录失败!
</c:if>
代码中用到两个<c:if>标签,每个标签的 test 条件都是先进行关系运算(判断是否相等),然后再进行逻辑运算。另外,在比较的时候使用了转义字符,即使用“"”替换“"”。
运行这个代码,如果用户名输入“zhangsan”,口令输入“wangwu”,则显示“登录成功!”;否则,显示“登录失败!”。

保存用户信息

在JSP 中提供了几种保存信息的方式:
可以保存在当前页面,但是只能在当前页面使用;可以保存在请求对象(每次请求都会创建这样一个对象)中,但是只能在这次请求中使用,请求对象是在服务器
接收到请求后创建的,对客户端进行响应之后就没有了;可以保存在会话对象中,每个用户对应一个会话对象,当用户访问第一个网页的时候,服务器为这个用
户创建一个会话对象,在用户的访问过程中一直有效,当用户关闭网页的时候,会话对象就删除了;还可以保存在应用对象中,这个对象是 Web 应用的所有用
户共享的。
原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/14204404.html