JSP+JavaBean 登陆验证
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 登陆验证的更多相关文章
- javaweb基础(22)_Servlet+JSP+JavaBean实战登陆
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- 【Java EE 学习 70 上】【数据采集系统第二天】【数据加密处理】【登陆验证】【登陆拦截器】【新建调查】【查询调查】
一.数据加密处理 这里使用MD5加密处理,使用java中自带加密工具类MessageDigest. 该类有一个方法digest,该方法输入参数是一个字符串返回值是一个长度为16的字节数组.最关键的是需 ...
- 【Java EE 学习 20】【使用过滤器实现登陆验证、权限认证】【观察者模式和监听器(使用监听器实现统计在线IP、登录IP 、踢人功能)】
一.使用过滤器实现登录验证.权限认证 1.创建5张表 /*使用过滤器实现权限过滤功能*/ /**创建数据库*/ DROP DATABASE day20; CREATE DATABASE day20; ...
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- Servlet+JSP+JavaBean开发模式(MVC)介绍
好伤心...写登陆注册之前看见一篇很好的博文,没有收藏,然后找不到了. 前几天在知乎上看见一个问题,什么时候感觉最无力. 前两天一直想回答:尝试过google到的所有solve case,结果bug依 ...
- Java的登陆验证问题
java中的登陆验证问题可以有多种方式进行验证,通过拦截器功能完成,可以通过过滤器功能完成,也可以简单的代码在JSP页面中单独完成,其中都 涉及到一个关键的验证步骤,这个验证原理ASP,PHP,JAV ...
- Shrio登陆验证实例详细解读(转)
摘要:本文采用了Spring+SpringMVC+Mybatis+Shiro+Msql来写了一个登陆验证的实例,下面来看看过程吧!整个工程基于Mavevn来创建,运行环境为JDK1.6+WIN7+to ...
- 咸鱼入门到放弃11--Servlet+JSP+JavaBean开发模式
本篇搬运了大佬blog:https://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servle ...
- JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
随机推荐
- <每日一题> Day4:CodeForces-1042A.Benches(二分 + 排序)
题目链接 参考代码: /* 排序 + 每次取小 #include <iostream> #include <algorithm> using namespace std; co ...
- 如何使用IDEA将项目上传到GitHub中
上传之前先规定上传的格式: 1 . 以后所有上传的项目,都只上传 src文件集以及pom.xml文件,不要带有自己的 .idea配置文件或者target运行文件之类的(就算是测试文件也一样,从开始就养 ...
- 扩展欧几里得算法详解(exgcd)
一.前言 本博客适合已经学会欧几里得算法的人食用~~~ 二.扩展欧几里得算法 为了更好的理解扩展欧几里得算法,首先你要知道一个叫做贝祖定理的玄学定理: 即如果a.b是整数,那么一定存在整数x.y使得$ ...
- 什么是dockerfile?
什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档.可以使用在命令行中调用任何命令. Docker通过读取Dockerfile中的指令自动生成映像. docker ...
- 06-JavaScript简介
### 前段三大块 ```HTML css JavaScript``` ### 什么是JavaScript? JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户 ...
- 联想ideapad 310s如何进BIOS,换固态硬盘SSD,配置U盘启动,重装Win10系统
1. 如何进BIOS 关机情况下,捅一下Novo键,即可进入BIOS 2. 安装固态硬盘 Ideadpad 310S 本身自带的硬盘是5400转的机械硬盘,容量小速度慢.换的新的固态硬盘是SATA接口 ...
- 微信支付签名算法JavaScript版,参数名ASCII码从小到大排序;0,A,B,a,b;
// 支付md5加密获取sign paysignjs: function (jsonobj) { var signstr = this.obj2str(jsonobj) signstr = signs ...
- KC705E 增强版 基于FMC接口的Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 接口卡
KC705E 增强版 基于FMC接口的Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 接口卡 一.板卡概述 本板卡基于Xilinx公司的FPGAXC7K325T-2FF ...
- js函数总结
最近要经常写一些Js代码,总看到同事能使用js高级函数写出比较简洁的js代码,挺羡慕的,于是就花了一些专门时间来学习. forEach.map.reduce 我就不喜欢一上来就给出语法来,先来一个例子 ...
- 一、C++类库与C#类库相互调用
1.C++调用C#类库 1.准备C#类库(dll文件) 1.1.创建C#类库: 右击项目类库生成即可, 出现.dll(类库)与.pdb(pdb文件包含了编译后程序指向源代码的位置信息, 用于调试的时候 ...