这次作业我觉得最重要的一点是考虑设计网页的逻辑,要实现登录和非登录的权限设置,就要考虑session记录用户的账号和密码。所以我觉得设置账号和密码应该放在第一位。
在index.jsp文件中,我设计了注册页面,代码如下:
<%@page pageEncoding="utf-8" language="java"
contentType="text/html; charset=utf-8" import="java.util.*"%>
<body>
<form action="judge.jsp" name="form1" id="form1" method="post">
<div align="center">
<table width="20%" border="0" >
<tr>
<td><div align="center">账号:</div></td>
<td><label><div align="left"><input type="number" name="number" style="width: 200px"></div></label></td>
</tr>
<tr>
<td><div align="center">密码:</div></td>
<td><label><div align="left"><input type="password" name="password" style="width: 200px"></div></label></td>
</tr>
<tr>
<td colspan="2"><div align="center"><input type="submit" value="注册"></div></td>
</tr>
</table>
</div>
</form>
</body>
运行结果如下:
之后点击注册进入到下一个jsp页面,在这个页面中,对index.jsp页面中用户输入的账号密码进行存储,并实现登陆的界面。
judge.jsp文件中代码如下:
<%@ page language="java" import="java.sql.*" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<%
//将用户输入的账号密码接收---
String number=request.getParameter("number");
String password=request.getParameter("password");
//创建一个会话,存储账号密码
session.setAttribute("num", number);
session.setAttribute("psd", password);
%>
<h2 align="center">注册成功!请登录!</h2>
<form action="login.jsp" name="form1" id="form1" method="post">
<div align="center">
<table width="20%" border="0" >
<tr>
<td><div align="center">账号:</div></td>
<td><label><div align="left"><input type="number" name="number" style="width: 200px"></div></label></td>
</tr>
<tr>
<td><div align="center">密码:</div></td>
<td><label><div align="left"><input type="password" name="password" style="width: 200px"></div></label></td>
</tr>
<tr>
<td colspan="2"><div align="center"><input type="submit" value="登录"></div></td>
</tr>
</table>
</div>
</form>
</body>
</html>
运行结果如下:
此时输入注册的账号和密码,下一个界面就是登陆后的界面
login.jsp文件中代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
//接收输入的账号密码
String number=request.getParameter("number");
String password=request.getParameter("password");
//接收注册的账号密码
String num=(String)session.getAttribute("num");
String psd=(String)session.getAttribute("psd");
%>
<h2 align="center">
<%
//判断账号密码是否正确
String judge;
if(password.equals(psd))judge="欢迎您,Tom!";
else judge="您输入的账号密码有误,请重新输入!";
%>
<%=judge %>
</h2>
<form name="form1" id="form1" method="post" action="judge.jsp">
<div align="center">
<input type="submit" value="重新登陆">
<div>
<a href="page1.jsp">页面一</a>
</div>
</div>
</form>
</body>
</html>
如果账号密码输入错误,则运行结果如下:
如果输入正确,运行结果如下:
下一个页面就是测试页面,测试是否登录,page1.jsp文件中代码如下:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h2 align="center">
<%
//接收注册的账号密码
String num=(String)session.getAttribute("num");
String psd=(String)session.getAttribute("psd");
String judge;
if(num==null)out.print("非法访问!");
else out.print("访问成功!");
%>
</h2>
</body>
</html>
如果登录之后访问,运行结果如下:
如果没有登录进行访问,运行结果如下:
本次作业增强了我对设计网页的逻辑的理解,但还是有点考虑不足的地方,以后会慢慢改进。