首先创建Email类继承Serializable接口以启用其序列化功能,而序列化又是为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。序列化接口没有方法或字段,仅用于标识可序列化的语义。方法是通过java.io.Serializable来实现,没有实现此接口的类将不能使它们的任一状态被序列化或逆序列化,其实我写的时候没有"private static final long serialVerionUID = 1l;"就出现了空指针问题,所以在这里要注意一下Serializable接口。其实,以我的理解Serializable就是java提供的通用数据保存和读取的接口,任何类型实现了Serializable接口,就可以保存到文件中,或者作为数据流通过网络发送到其他的文件或者程序中,极大地简化了类的设计。

  1. package com.caiduping.bean;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class Email implements Serializable {
  6. @SuppressWarnings("unused")
  7. //Serialization(序列化)是一种将对象以一连串的字节描述的过程
  8. //serialVersionUID 变量名
  9. private static final long serialVerionUID = 1l;
  10. //Email地址
  11. private String mailAdd;
  12. //是否是一个标准的email地址
  13. private boolean email;
  14. public Email(){
  15.  
  16. }
  17. public Email(String mailAdd){
  18. this.mailAdd = mailAdd;
  19. }
  20. //检验邮箱格式
  21. public boolean isEmail(){
  22. String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
  23. if(mailAdd.matches(check)){
  24. email = true;
  25. }
  26. return email;
  27. }
  28. public String getMailAdd(){
  29. return mailAdd;
  30.  
  31. }
  32. public void setMailAdd(String mailAdd){
  33. this.mailAdd = mailAdd;
  34. }
  35. }

首页面index.jsp:

  1. <form id="form1" name="form1" method="post" action="result.jsp">
  2. <div align="center">
  3. <table width="530" border="1">
  4. <tr>
  5. <td colspan="2"><div align="center"><span class="STYLE1">邮箱认证系统</span></div></td>
  6. </tr>
  7. <tr>
  8. <td width="293"><div align="center"><span class="STYLE2">邮箱地址:</span></div></td>
  9. <td width="221"><label>
  10. <input type="text" name="mailAdd" />
  11. </label></td>
  12. </tr>
  13. <tr>
  14. <td colspan="2"><label>
  15. <div align="center">
  16. <input type="submit" name="Submit" value="提交查询内容" />
  17. </div>
  18. </label></td>
  19. </tr>
  20. </table>
  21. </div>
  22. </form>

最后再写结果result页面result.jsp:

  1. <%
  2. String mailAdd = request.getParameter("mailAdd");
  3. Email email = new Email(mailAdd);
  4. if(email.isEmail()){
  5. out.print(mailAdd+"<br>是一个标准的邮箱地址!<br>");
  6. }else{
  7. out.print(mailAdd+"<br>不是一个标准的邮箱地址!<br>");
  8. }
  9.  
  10. %>
  11. <a href="index.jsp">返回</a>

运行效果图:

JSP之邮箱检验的更多相关文章

  1. 非正则表达式检验邮箱格式是否合法(Java代码实现)

    一.邮箱格式需满足以下要求 1. 有且只有一个@                        2. @不能放在开头,也不能放在结尾                        3. @之后必须有. ...

  2. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  3. struts2学习笔记--使用Validator校验数据

    我们在进行一些操作是需要对用户的输入数据进行验证,比如网站的注册,需要对各个数据项进行数据校验,Struts2提供了一些默认的校验器,比如数字的检测,邮箱的检测,字符串长度的检测等等. 常用的Vali ...

  4. xss和sql注入原理学习

    8.4 Web跨站脚本攻击 8.4.1  跨站脚本攻击的原理(1) 跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS.但是,由于层叠样式表 (Cascading Style ...

  5. java验证码组件kaptcha使用方法

    使用方法: 项目中导入kaptcha-2.3.jar包在web.xml里面新增: <!-- 登陆验证码Kaptcha -->    <servlet>        <s ...

  6. The import java.util cannot be resolved The import javax.servlet cannot be resolved

    The import java.util cannot be resolved 原因:这是由于你的项目buildpath不对 解决方案:右键项目-------buildpath--------最下面那 ...

  7. java web 程序---购物车项目内容:

    1.项目介绍   典型电子商务系统(在线购物平台).模拟了当当系统部分功能.2.功能需求    1)用户管理模块(3天)user         实现登录.注册功能    2)产品浏览模块(2天)ma ...

  8. SQL注入和XSS攻击的原理

    8.4 Web跨站脚本攻击 8.4.1  跨站脚本攻击的原理(1) 跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS.但是,由于层叠样式表 (Cascading Style ...

  9. 2016/2/25 1、<表单验证<form></form> 2、正则表达式 3、事件

    1.<表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电 ...

随机推荐

  1. uva301 - Transportation

      Transportation Ruratania is just entering capitalism and is establishing new enterprising activiti ...

  2. JSON初探

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  3. 【M28】智能指针

    1.什么是智能指针? 所谓智能指针就是,看起来,用起来,感觉起来都像原始指针,但是提供了更多功能. 2.使用智能指针取代原始指针,可以获得更多的控制权.如下: a.在构造和析构的时候,可以做一些事. ...

  4. iframe式ajax调用示例

    1.新建 a.html <!doctype html> <html> <head> <meta charset='utf-8'> <title&g ...

  5. PS-文字如何竖排版

    单击文字输入工具“T”按钮,点住鼠标左键不要松手,会在“T”按钮的右边显示出其它形式的文字工具,拖动鼠标指向“直排文字”工具就可以了.

  6. AR增强现实 Augmented Reality

    增强现实(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上对应图像的技术,这样的技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动.这样的技术最早于19 ...

  7. html页面head区域的编码书写规范

    今天我们简单的介绍一下head区域主要放置了内容.这里就不强调css和javascript了,这两者是大家所熟知的. head区一般必须加入的标识有: 公司版权注释 <!--- the site ...

  8. JtextField的延时更新

    import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.a ...

  9. MySQL 5.7 深度解析: JSON数据类型使用

    http://www.actionsky.com/docs/archives/156  2015年12月25日  杨涛涛 JSON (JavaScriptObject Notation) 是一种轻量级 ...

  10. careercup-高等难度 18.9

    18.9 随机生成一些数字并传入某个方法.编写一个程序,每当收到新字符数字时,找出并记录中位数. 类似:设计一个数据结构,包括两个函数,插入数据和获得中位数 解法: 一种解法是使用两个优先级堆:一个大 ...