JSP之邮箱检验
首先创建Email类继承Serializable接口以启用其序列化功能,而序列化又是为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。序列化接口没有方法或字段,仅用于标识可序列化的语义。方法是通过java.io.Serializable来实现,没有实现此接口的类将不能使它们的任一状态被序列化或逆序列化,其实我写的时候没有"private static final long serialVerionUID = 1l;"就出现了空指针问题,所以在这里要注意一下Serializable接口。其实,以我的理解Serializable就是java提供的通用数据保存和读取的接口,任何类型实现了Serializable接口,就可以保存到文件中,或者作为数据流通过网络发送到其他的文件或者程序中,极大地简化了类的设计。
package com.caiduping.bean;
import java.io.Serializable;
public class Email implements Serializable {
@SuppressWarnings("unused")
//Serialization(序列化)是一种将对象以一连串的字节描述的过程
//serialVersionUID 变量名
private static final long serialVerionUID = 1l;
//Email地址
private String mailAdd;
//是否是一个标准的email地址
private boolean email;
public Email(){
}
public Email(String mailAdd){
this.mailAdd = mailAdd;
}
//检验邮箱格式
public boolean isEmail(){
String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
if(mailAdd.matches(check)){
email = true;
}
return email;
}
public String getMailAdd(){
return mailAdd;
}
public void setMailAdd(String mailAdd){
this.mailAdd = mailAdd;
}
}
首页面index.jsp:
<form id="form1" name="form1" method="post" action="result.jsp">
<div align="center">
<table width="530" border="1">
<tr>
<td colspan="2"><div align="center"><span class="STYLE1">邮箱认证系统</span></div></td>
</tr>
<tr>
<td width="293"><div align="center"><span class="STYLE2">邮箱地址:</span></div></td>
<td width="221"><label>
<input type="text" name="mailAdd" />
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<div align="center">
<input type="submit" name="Submit" value="提交查询内容" />
</div>
</label></td>
</tr>
</table>
</div>
</form>
最后再写结果result页面result.jsp:
<%
String mailAdd = request.getParameter("mailAdd");
Email email = new Email(mailAdd);
if(email.isEmail()){
out.print(mailAdd+"<br>是一个标准的邮箱地址!<br>");
}else{
out.print(mailAdd+"<br>不是一个标准的邮箱地址!<br>");
} %>
<a href="index.jsp">返回</a>
运行效果图:

JSP之邮箱检验的更多相关文章
- 非正则表达式检验邮箱格式是否合法(Java代码实现)
一.邮箱格式需满足以下要求 1. 有且只有一个@ 2. @不能放在开头,也不能放在结尾 3. @之后必须有. ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- struts2学习笔记--使用Validator校验数据
我们在进行一些操作是需要对用户的输入数据进行验证,比如网站的注册,需要对各个数据项进行数据校验,Struts2提供了一些默认的校验器,比如数字的检测,邮箱的检测,字符串长度的检测等等. 常用的Vali ...
- xss和sql注入原理学习
8.4 Web跨站脚本攻击 8.4.1 跨站脚本攻击的原理(1) 跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS.但是,由于层叠样式表 (Cascading Style ...
- java验证码组件kaptcha使用方法
使用方法: 项目中导入kaptcha-2.3.jar包在web.xml里面新增: <!-- 登陆验证码Kaptcha --> <servlet> <s ...
- The import java.util cannot be resolved The import javax.servlet cannot be resolved
The import java.util cannot be resolved 原因:这是由于你的项目buildpath不对 解决方案:右键项目-------buildpath--------最下面那 ...
- java web 程序---购物车项目内容:
1.项目介绍 典型电子商务系统(在线购物平台).模拟了当当系统部分功能.2.功能需求 1)用户管理模块(3天)user 实现登录.注册功能 2)产品浏览模块(2天)ma ...
- SQL注入和XSS攻击的原理
8.4 Web跨站脚本攻击 8.4.1 跨站脚本攻击的原理(1) 跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS.但是,由于层叠样式表 (Cascading Style ...
- 2016/2/25 1、<表单验证<form></form> 2、正则表达式 3、事件
1.<表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电 ...
随机推荐
- Codeforces Gym 100803G Flipping Parentheses 线段树+二分
Flipping Parentheses 题目连接: http://codeforces.com/gym/100803/attachments Description A string consist ...
- codeforces Gym 100187F F - Doomsday 区间覆盖贪心
F. Doomsday Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/problem/F ...
- Codeforces Round #308 (Div. 2)B. Vanya and Books 数学
B. Vanya and Books Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/552/pr ...
- 构建移动Web应用程序的技术堆栈
编写web应用程序时,有很多的技术决策.笔者最近回来编写现代Web应用程序,并希望总结一些曾经在开发周期过程中做了记录零散的想法.这篇文章是关于一套对笔者最近开发的项目有帮助的框架.笔者重温了一些最重 ...
- 如何在 iOS 8 中使用 Swift 实现本地通知(上)
当你的应用在后台运行时,可以简单地使用本地通知把信息呈现给用户.它可以允许你显示 提醒.播放提示音和数字角标(badge).本地通知可以被以下的事件触发:计划好的时间点或者用户进入和离开某个地理区域. ...
- 在Android上使用ZXing识别条形码/二维码
越来越多的手机具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描的功能.......手机具备条码扫描的功能,可以优化购物流程,快速存储电子名片(二维码)等. 本文使用ZXing 1.6实现条码 ...
- /proc/sys/vm/ 内存参数
linux下proc里关于磁盘性能的参数 http://blog.csdn.net/eroswang/article/details/6126646 我们在磁盘写操作持续繁忙的服务器上曾经碰到一个特 ...
- QT核心编程之Qt线程 (c)
QT核心编程之Qt线程是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt对线程提供了支持,它引入了一些基本与平台无关的线程类 ...
- hadoop2 作业执行过程之yarn调度执行
YARN是hadoop系统上的资源统一管理平台,其主要作用是实现集群资源的统一管理和调度(目前还不完善,只支持粗粒度的CPU和内存的的调配): 它的基本思想是将Mapreduce的jobtracker ...
- spark1.2.0安装
standalone 安装SCALA 下载.解压.加入环境变量 安装spark1.2.0 下载.解压.加入环境变量 tar zxvf spark--bin-.tgz export SPARK_HOME ...