1. 用户登录

实现用户登录,功能,三个页面登录页面login.jsp,登录逻辑处理页面loginSubmit.jsp,欢迎页面welcome.jsp.用户再登录页面输入用户名和密码,前台页面使用js或者jQuery进行验证,如果用户名或密码为空,则提示用户输入用户名和密码;如果用户名为”admin”,密码为”123”,则登录成功跳转至欢迎页面,欢迎页面显示当前用户登录的用户名,例如:“欢迎张三登录XXX”,如果失败,停留再登录页面,并在用户名输入框显示用户名,页面给出相应的错误提示。

2.用户注册

注册: 注册页面register.jsp,注册信息页面registerinfo.jsp,用户在注册页面输入用户名,密码,邮箱,地址,年龄后点击注册按钮,前台页面使用js或者jQuery进行验证,如果用户名,密码,确认密码,邮箱等为空或者格式不正确,继续保留在注册页面,若果验证都通过,页面跳转到注册信息页面并显示注册的信息。要求用户名, 地址为中文输入,中文显示(在jsp页面解决中文乱码问题,注:用户名必要由字母开头以及和中文组成,长度不小于6位,密码长度不小于8位,密码和重复密码必须一致才能注册成功,邮箱必须符合邮箱格式,否则验证不通过,年龄必须是整数。)

3.注销功能

在欢迎页面点击 “注销”按钮,实现注销功能,也就是退出当前用户登录,跳转到登录页面。

1.请注意界面美观,<input>表单以及控件摆放整齐

   2.请注意代码的书写,命名符合规范,在代码中添加必要的注释

1.注册页面

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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>注册页面</title>
<style type="text/css">
form {
text-align: center;
}
</style>
<script src="js/jQuery1.11.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("#register").click(function() {
return checkname() && checkpwd() && checkEmail()&& checkAge() && Address();
});
}); //用户名
function checkname() {
var name = $("#name").val();
if (name == "") {
alert("用户名不能为空!");
return false;
}
var reg=/^(\d*\w+){,}$/;
if(!reg.test(name)){
alert("用户名格式不正确!");
return false;
}
return true;
}; //密码
function checkpwd() {
var password = $("#pwd").val();
if (password == "") {
alert("密码不能为空!");
return false;
}
if (password.length < || password.length > ) {
alert("密码长度为6-8");
return false;
}
return true;
}; //电子邮箱
function checkEmail() {
var email = $("#email").val();
if (email == "") {
alert("邮箱不能为空!");
return false;
}
var reg = /^\w+@\w+\.\w+$/;
if (!reg.test(email)) {
alert("邮箱格式不正确!");
return false;
}
return true;
}; //年龄
function checkAge() {
var age = $("#Age").val();
if (age == "") {
alert("年龄不能为空!");
return false;
}
return true;
}; //地址
function Address() {
var address = $("#address").val();
if (address == "") {
alert("地址不能为空!");
return false;
}
var reg=/^[\u2E80-\u9FFF]+$/;
if(!reg.test(address)){
alert("地址格式不正确!");
return false;
}
return true;
}; </script>
</head> <body>
<form method="post" action="registerinfo.jsp">
用户名:<input name="username" id="name" /><br /> 密码:<input
name="userpwd" type="password" id="pwd" /><br /> 确认密码:<input
name="pwd" type="password" id="cui" /><br /> 邮箱:<input name="email"
id="email" /><br /> 地址:<input name="address" id="address" /><br />
年龄:<input name="Age" id="Age" /><br /> <input type="submit"
value="注册" id="register" />
</form>
</body>
</html>

2.注册信息页面

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=ISO-8859-1">
<title>注册信息页面</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("username");
String pwd = request.getParameter("userpwd"); String mailbox = request.getParameter("email");
String address = request.getParameter("address");
String Age = request.getParameter("Age");
%>
用户名:<%=name%><br /> 密码:<%=pwd%><br /> 邮箱:<%=mailbox%><br /> 地址:<%=address%><br />
年龄:<%=Age%><br />
</body>
</html>

3.欢迎页面

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=ISO-8859-1">
<title>欢迎页面</title>
</head>
<body>
<%
String name = request.getParameter("username");
%>
欢迎<%=name%>登陆本页面 <a href="loginDown.jsp">注销</a>
</body>
</html>

4.逻辑处理页面

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=ISO-8859-1">
<title>逻辑处理页面</title>
</head>
<body>
<%
//乱码处理
request.setCharacterEncoding("UTF-8"); String name = request.getParameter("username");
String pwd = request.getParameter("userpwd"); if ("admin".equals(name) && "123".equals(pwd)) {
request.setAttribute("uname", name);
request.getRequestDispatcher("welcome.jsp").forward(request, response);
} else {
session.setAttribute("uname", name);
request.getRequestDispatcher("login.jsp").forward(request, response);
}
%>
</body>
</html>

5.Insert title here

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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>
<style type="text/css">
form {
text-align: center;
}
</style> <script src="js/jQuery1.11.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("#cui").click(function() {
var u = document.getElementById("#email");
if (u.validitty.valueMissing == true) {
u.setCustomValidity("用户名不能为空");
}
});
$("#cui").click(function() {
var d = document.getElementById("#pwd");
if (d.validitty.valueMissing == true) {
d.setCustomValidity("密码不能为空");
}
});
});
</script>
</head>
<body>
<form method="post" action="loginSubmit.jsp">
用户名:<input name="username" id=email /><br /> 密码:<input
name="userpwd" type="password" id="pwd" /><br /> <input
type="submit" value="登录" id="cui" /> <a href="register.jsp">注册 </a>
</form>
</body>
</html>

6.注销页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=ISO-8859-1">
<title>注销页面</title>
</head>
<body> <%
session.removeAttribute("uname");
response.sendRedirect("login.jsp");
%>
</body>
</html>

Jsp机试题 (用户登录用户注册/用户注销功能)的更多相关文章

  1. Django项目: 4.用户登录登出功能

    用户登录登出功能 一.功能需求分析 1. 登录退出功能分析 流程图 功能 登录页面 登录功能 退出功能 二.登录页面 1. 接口设计 接口说明 类目 说明 请求方法 GET url定义 /user/l ...

  2. .NET Core实战项目之CMS 第十六章 用户登录及验证码功能实现

    前面为了方便我们只是简单实现了基本业务功能的增删改查,但是登录功能还没有实现,而登录又是系统所必须的,得益于 ASP.NET Core的可扩展性因此我们很容易实现我们的登录功能.今天我将带着大家一起来 ...

  3. jsp+jdbc实现用户登录

    1.1 创建数据库表 表名:user 字段: userid   保存用户的登录id name     用户名 password 密码 1.2 实现思路 a. 用户登录,则需要有个一个表单页,此页面可输 ...

  4. 用java语言写一个简易版本的登录页面,包含用户注册、用户登录、用户注销、修改密码等功能

    package com.Summer_0421.cn; import java.util.Arrays; import java.util.Scanner; /** * @author Summer ...

  5. 编写一个JSP程序实现用户登录

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. 实现jsp页面显示用户登录信息,利用session保存。

    这是后台代码 这是jsp代码,上面是声明,下面是获得值.

  7. java struts2入门学习实例--用户注册和用户登录整合

    需求: 1.用户注册(user_register.jsp)-->注册成功(UserRegister.action)-->显示注册信息(register_success.jsp)2.用户登录 ...

  8. JSP小例子——以Model1的思想实现用户登录小例子(不涉及DB操作)

    Model1简介现在比较流行的就是Model1和Model2,这里介绍Model1.在Model1模型出现前,整个Web应用的情况是:几乎全部由JSP页面组成,JSP页面接受处理客户端请求,对请求处理 ...

  9. 纯jsp用户登录系统

    用纯jsp技术实现用户登录系统,需要用到三个.jsp文件.在文本目录下新建三个.jsp文件,分别命名为login.jsp,logincl.jsp和wel.jsp. 1.login.jsp文件用来放界面 ...

随机推荐

  1. serverless 项目配置及创建helloworld应用(二)

    阅读目录 一:学习使用AWS Lambda来作为服务器引擎 二:使用serverless环境搭建 三:创建我们的第一个应用,hello world 服务 回到顶部 一:学习使用AWS Lambda来作 ...

  2. 关于Git GUI的使用方式

    1.选择Clone Existing Repository 2.选择clone地址和存放位置,然后clone 3失败 4如果失败,让对方去这里(github的界面)邀请下,如果是自己就不用 5然后等待 ...

  3. dubbo源码分析02:服务引用

    一.何时创建服务引用 引用官方文档的原话,如果将Dubbo托管在Spring-IOC容器下,Dubbo服务引用的时机有两个,第一个是在Spring容器调用ReferenceBean的afterProp ...

  4. java 字符串内存分配的分析与总结

    经常在网上各大版块都能看到对于java字符串运行时内存分配的探讨,形如:String a = "123",String b = new String("123" ...

  5. Linux下多网卡绑定bond及模式介绍

    [介绍] 网卡bond一般主要用于网络吞吐量很大,以及对于网络稳定性要求较高的场景. 主要是通过将多个物理网卡绑定到一个逻辑网卡上,实现了本地网卡的冗余,带宽扩容以及负载均衡. Linux下一共有七种 ...

  6. KVM web管理工具——WebVirtMgr

    系统环境: [root@kvm-admin ~]# cat /etc/redhat-release CentOS Linux release (Core) 关闭防火墙.selinux [root@kv ...

  7. 使用Python脚本伪造指定时间区间的数据库备份

    为监管需求,需要保留时间非常长的数据库备份.存储代价太大.所以存在了,临时抱佛脚,伪造备份.. 以下脚本功能,在于根据一个备份,复制出一段时间的备份.并且更改备份的文件时间戳.可以用shell轻松写出 ...

  8. 并发编程-concurrent指南-阻塞队列-链表阻塞队列LinkedBlockingQueue

    LinkedBlockingQueue是一个基于链表的阻塞队列. 由于LinkedBlockingQueue实现是线程安全的,实现了先进先出等特性,是作为生产者消费者的首选. LinkedBlocki ...

  9. 分布式事务(1)---2PC和3PC理论

    分布式事务(1)---2PC和3PC理论 分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题. 分布式事物常见解决方案: 2PC两段提交协议 3 ...

  10. Windows使用Python统一设置解析器路径

    碰到的问题: .py文件放在cgi-bin文件夹下面,这个.py文件都要设置"#!python.exe路径"来告诉CGI如何找解析器解析这个.py的文件,我是想知道这个路径可否统一 ...