1.java

 package cn.gs.ly;

 import java.util.HashMap;
import java.util.Map; public class Register {
private String name;
private String age;
private String email;
private Map<String,String>errors = null; //存放登陆错误 提示信息 public Register() {
name="";
age="";
email="";
errors = new HashMap<String, String>();
}
//定义一个方法,数据验证操作
public boolean isValidate(){
boolean flag = true;
if(!(this.name.matches("\\w{2,6}"))){ //输入不符合正则表达式
flag = false; //触发flag
this.name=""; //name 赋空值
errors.put("errname", "请输入2~6位的**"); //登陆错误提示信息 放入集合
}
if(!(this.age.matches("\\d{2}"))){
flag = false;
this.age="";
errors.put("errage", "请输入2位的数字");
}
if(!(this.email.matches("[1-9]\\d{4,10}@[qQ][qQ].com"))){
flag = false;
this.email="";
errors.put("erremail", "请输入正确的邮箱");
}
return flag;
}
//定义一个语言 登陆错误提示信息
public String getErrorMsg(String key){
String value = this.errors.get(key);
return value==null?"":value; //value为null赋空值 ,不为null 赋值value
} public String getName() {
return name;
}
public void setName(String name) {
this.name= name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
} }
 package cn.gs.ly;

 import java.util.HashMap;
import java.util.Map; public class Register {
private String name;
private String age;
private String email;
private Map<String,String>errors = null; //存放登陆错误 提示信息 public Register() {
name="";
age="";
email="";
errors = new HashMap<String, String>();
}
//定义一个方法,数据验证操作
public boolean isValidate(){
boolean flag = true;
if(!(this.name.matches("\\w{2,6}"))){ //输入不符合正则表达式
flag = false; //触发flag
this.name=""; //name 赋空值
errors.put("errname", "请输入2~6位的**"); //登陆错误提示信息 放入集合
}
if(!(this.age.matches("\\d{2}"))){
flag = false;
this.age="";
errors.put("errage", "请输入2位的数字");
}
if(!(this.email.matches("[1-9]\\d{4,10}@[qQ][qQ].com"))){
flag = false;
this.email="";
errors.put("erremail", "请输入正确的邮箱");
}
return flag;
}
//定义一个语言 登陆错误提示信息
public String getErrorMsg(String key){
String value = this.errors.get(key);
return value==null?"":value; //value为null赋空值 ,不为null 赋值value
} public String getName() {
return name;
}
public void setName(String name) {
this.name= name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
} }

2.jsp

 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>index</title>
</head>
<body>
<jsp:useBean id="reg" scope="request" class="cn.gs.ly.Register" ></jsp:useBean> <form action="check.jsp" method="post">
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>姓名:</td>
<td><input type="text" name="name" value='<jsp:getProperty property="name" name="reg" />'><%=reg.getErrorMsg("errname") %></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age" value='<jsp:getProperty property="age" name="reg" />'><%=reg.getErrorMsg("errage") %> </td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="text" name="email" value='<jsp:getProperty property="email" name="reg" />'><%=reg.getErrorMsg("erremail")%> </td>
</tr>
</table>
<input type="submit" value="提交" />
</form>
</body>
</html>
 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>check login</title>
</head>
<body>
<jsp:useBean id="reg" scope="request" class="cn.gs.ly.Register" ></jsp:useBean>
<jsp:setProperty name="reg" property="*" />
<%
if(reg.isValidate()){
%>
<jsp:forward page="success.jsp" />
<%
}else{
%>
<jsp:forward page="index.jsp" />
<%
}
%>
</body>
</html>
 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>login success</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="reg" scope="request" class="cn.gs.ly.Register" ></jsp:useBean>
<h1>登陆成功,登陆信息为:</h1><hr color="red">
<h1>姓名:<jsp:getProperty property="name" name="reg" /></h1><hr color="red">
<h1>年龄:<jsp:getProperty property="age" name="reg" /></h1><hr color="red">
<h1>邮箱:<jsp:getProperty property="email" name="reg" /></h1><hr color="red">
</body>
</html>

JSP+JavaBean 登陆验证的更多相关文章

  1. javaweb基础(22)_Servlet+JSP+JavaBean实战登陆

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  2. 【Java EE 学习 70 上】【数据采集系统第二天】【数据加密处理】【登陆验证】【登陆拦截器】【新建调查】【查询调查】

    一.数据加密处理 这里使用MD5加密处理,使用java中自带加密工具类MessageDigest. 该类有一个方法digest,该方法输入参数是一个字符串返回值是一个长度为16的字节数组.最关键的是需 ...

  3. 【Java EE 学习 20】【使用过滤器实现登陆验证、权限认证】【观察者模式和监听器(使用监听器实现统计在线IP、登录IP 、踢人功能)】

    一.使用过滤器实现登录验证.权限认证 1.创建5张表 /*使用过滤器实现权限过滤功能*/ /**创建数据库*/ DROP DATABASE day20; CREATE DATABASE day20; ...

  4. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  5. Servlet+JSP+JavaBean开发模式(MVC)介绍

    好伤心...写登陆注册之前看见一篇很好的博文,没有收藏,然后找不到了. 前几天在知乎上看见一个问题,什么时候感觉最无力. 前两天一直想回答:尝试过google到的所有solve case,结果bug依 ...

  6. Java的登陆验证问题

    java中的登陆验证问题可以有多种方式进行验证,通过拦截器功能完成,可以通过过滤器功能完成,也可以简单的代码在JSP页面中单独完成,其中都 涉及到一个关键的验证步骤,这个验证原理ASP,PHP,JAV ...

  7. Shrio登陆验证实例详细解读(转)

    摘要:本文采用了Spring+SpringMVC+Mybatis+Shiro+Msql来写了一个登陆验证的实例,下面来看看过程吧!整个工程基于Mavevn来创建,运行环境为JDK1.6+WIN7+to ...

  8. 咸鱼入门到放弃11--Servlet+JSP+JavaBean开发模式

    本篇搬运了大佬blog:https://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servle ...

  9. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

随机推荐

  1. <每日一题> Day4:CodeForces-1042A.Benches(二分 + 排序)

    题目链接 参考代码: /* 排序 + 每次取小 #include <iostream> #include <algorithm> using namespace std; co ...

  2. Atman开发实习生的笔试题

    坐标:山东 编程题(限时30分钟)如何判断一个字符串是否为合法的IP地址.要求:1. 不能使用正则表达式和自带的库函数.2. 列出全部测试用例,并给出原因.3. 把代码的后缀名改成txt后上传,不用压 ...

  3. 三连击 P1008 洛谷 python写法

    三连击 P1008 洛谷 题意 将\(1,2, \cdots,9\)共9个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数. 解题思路 这里我使用了 ...

  4. Asp.Net MVC 5使用Identity之简单的注册和登陆

    由于.Net MVC 5登陆和注册方式有很多种,但是Identity方式去实现或许会更简单更容易理解 首先新建一个项目 其次如下选择Empty和MVC的选项 然后打开NuGet包管理器分别安装几个包 ...

  5. js中数组遍历常用的方法

    常见的数组遍历方法,比如 for in,for  of, forEach,map,filter,every,some,find,reduce等 1,普通for循环,经常用的数组遍历 var arr = ...

  6. Linux安装postgresql及基础操作

    安装环境说明 系统环境说明 [root@slave1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@sl ...

  7. 【记录】mybatis mapper.xml 基础

    <choose> <when test=""> //... </when> <otherwise> //... </other ...

  8. 机器学习-K-means聚类及算法实现(基于R语言)

    K-means聚类 将n个观测点,按一定标准(数据点的相似度),划归到k个聚类(用户划分.产品类别划分等)中. 重要概念:质心 K-means聚类要求的变量是数值变量,方便计算距离. 算法实现 R语言 ...

  9. Spring Data Elasticsearch 用户指南

    https://www.jianshu.com/p/27e1d583aafb 翻译自官方文档英文版,有删减. BioMed Central Development Team version 2.1.3 ...

  10. 10-基于TMS320C6678+XC7K325T的6U CPCI Full Camera Link图像处理平台

    基于TMS320C6678+XC7K325T的6U CPCI Full Camera Link图像处理平台 1.板卡概述 板卡由我公司自主研发,基于6UCPCI架构,处理板包含一片TI DSPTMS3 ...