JavaBean实现注册验证功能

来源:互联网 发布:淘宝购物车秒杀抢东西 编辑:程序博客网 时间:2024/06/05 03:28

JavaBean实现注册验证功能

通过JSP+JavaBean完成一个注册用户的验证功能。


由于错误不固定,所以使用Map接口类型保存所有的错误信息


【index.jsp的页面内容如下:】

<%@page contentType="text/html" pageEncoding="GBK"%>

<html>

<head><title>javabean</title></head>

<%

    request.setCharacterEncoding("GBK");

%>

    <jsp:useBean id="reg" scope="request" class="com.skewrain.demo.Register"/>

<body>

<form action="check.jsp" method="post">

    用户名:<input type="text" name="name" value="<jsp:getProperty name="reg" property="name"/>"/>        <%=reg.getErrorMsg("errname")%><br>

    年  龄:<input type="text" name="age" value="<jsp:getProperty name="reg"

    property="age"/>"/><%=reg.getErrorMsg("errage")%><br>

    E-MAIL:<input type="text" name="email" value="<jsp:getProperty name="reg" property="email"/>"/>    <%=reg.getErrorMsg("erremail")%><br>

   <input type="submit" value="注册">

   <input type="reset" value="重置">

</form>

</body>

</html>

【check.jsp的页面内容如下:】

<%@page contentType="text/html" pageEncoding="GBK"%>

<html>

<head><title>javabean</title></head>

<%

    request.setCharacterEncoding("GBK");

%>

<jsp:useBean id="reg" scope="request" class="com.skewrain.demo.Register"/>

<jsp:setProperty name="reg" property="*"/>

<body>

<%

    if(reg.isValidate()){

%>

        <jsp:forward page="success.jsp"/>

<%

    }else{

%>

        <jsp:forward page="index.jsp"/>

<%

    }

%>

</body>

</html>

【success.jsp的页面内容如下:】

<%@page contentType="text/html" pageEncoding="GBK"%>

<html>

<head><title>javabean</title></head>

<%

    request.setCharacterEncoding("GBK");

%>

    <jsp:useBean id="reg" scope="request" class="com.skewrain.demo.Register"/>

<body>

     用户名:<jsp:getProperty name="reg" property="name"/><br>

     年  龄:<jsp:getProperty name="reg" property="age"/><br>

     E-MAIL:<jsp:getProperty name="reg" property="email"/>

</body>

</html>

【Register.java的页面内容如下:】

package com.skewrain.demo;

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(){

        this.name="";

        this.age="";

        this.email="";

        this.errors = new HashMap<String,String>();

    }

    public boolean isValidate(){

        boolean flag = true;

        if(!this.name.matches("\\w{6,15}")){

            flag = false;

            this.name = ""; //清空原本的name内容。

            this.errors.put("errname","用户名是6~15位的字母或数字。");

        }

        if(!this.email.matches("\\w+@\\w+\\.\\w+\\.?\\w*")){

            flag = false;

            this.email = ""; //清空原本的name内容。

            this.errors.put("erremail","输入的Email地址不合法。");

        }

        if(!this.age.matches("\\d+")){

            flag = false;

            this.age = ""; //清空原本的name内容。

            this.errors.put("errage","用户年龄只能是数字。");

        }

        return flag;

    }

    public String getErrorMsg(String key){

        String value = this.errors.get(key);

        return value==null?"":value;

    }

    public void setName(String name){

        this.name = name;

    }

    public void setAge(String age){

        this.age = age;

    }

    public void setEmail(String email){

        this.email = email;

    }

    public String getName(){

        return this.name;

    }

    public String getAge(){

        return this.age;

    }

    public String getEmail(){

        return this.email;

    }

}

进入D:\org\javabean\index.jsp执行此程序的结果如下:


输入用户名和年龄点击“注册”后的结果为:


全部输入正确后的输出结果为:


本程序中,JavaBean负责验证,JSP负责显示。

0 0
原创粉丝点击