例1.通过非可视化的JavaBean,封装邮箱地址对象,通过JSP页面调用该对象来验证邮箱地址是否合法。
(1)创建名称为Email的JavaBean对象,用于封装邮箱地址,关键代码如下:
packagecom.cn.gao;importjava.io.Serializable;public class Email implementsSerializable {//serialVersionUID值
private static final long serialVersionUID=1L;//Email地址
privateString mailAdd;//是否是一个标准的Email地址
private booleanemail;/*** 默认无参数的构造方法*/
publicEmail(){
}publicEmail(String mailAdd){this.mailAdd=mailAdd;
}/*** 是否是一个标准的Email地址
*@return布尔值*/
public booleanisEmail(){//正则表达式,定义邮箱格式
String regex = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";//matches()方法可判断字符串是否与正则表达式匹配
if(mailAdd.matches(regex)){//email为真
email=true;
}returnemail;
}publicString getMailAdd(){returnmailAdd;
}public voidsetMailAdd(String mailAdd){this.mailAdd=mailAdd;
}
}
说明:虽然在JavaBean的规范中,要求JavaBean对象提供默认无参的构造方法,但除默认无参构造方法外,JavaBean对象也可以根据相关属性提供构造方法,所以Email类为了实例化方便,还提供了使用mailAdd实现的一个构造方法。
(2)创建名为index.jsp的页面,它是程序中的首页,用于放置验证邮箱的表单,该表单的提交地址为result.jsp页面。关键代码如下:
String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
My JSP 'index.jsp' starting page
(3)创建名称为result.jsp的页面,对index.jsp页面中的表单进行处理在此页面中实例化Email对象,对邮箱地址进行验证,并将验证结果输出到页面中。关键代码如下:
String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
My JSP 'result.jsp' starting page
//获取邮箱地址
String mailAdd=request.getParameter("mailAdd");//实例化Email,并对mailAdd赋值
Email email=newEmail(mailAdd);//判断是否是标准的邮箱地址
if(email.isEmail()){
out.print(mailAdd+ "
是一个标准的邮箱地址!
");
}else{
out.print(mailAdd+ "
不是一个标准的邮箱地址!
");
}%>
返回
该页面通过JSP的内置对象request,接收表单传递的mailAdd值,然后通过该值来实例化Email对象,通过Email的isEmail()方法判断邮箱地址是否合法,并在页面中输出判断结果。