JSP之邮箱检验

时间:2023-03-09 01:28:42
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之邮箱检验