JSP开发模式2_JSP/Servlet/JavaBean(简单注册功能)

时间:2022-01-17 00:58:19

JSP开发模式2_JSP/Servlet/JavaBean(简单注册功能)JSP开发模式2_JSP/Servlet/JavaBean(简单注册功能)
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegisterBean {
    private String userName = "";
    private String errorName = "";
    
    private String age = "";
    private String errorAge = "";
    
    private String email = "";
    private String errorEmail = "";
    
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getErrorName() {
        return errorName;
    }
    public void setErrorName(String errorName) {
        this.errorName = errorName;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getErrorAge() {
        return errorAge;
    }
    public void setErrorAge(String errorAge) {
        this.errorAge = errorAge;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getErrorEmail() {
        return errorEmail;
    }
    public void setErrorEmail(String errorEmail) {
        this.errorEmail = errorEmail;
    }
    
    
    public  boolean nameChecked(){
        //验证
        String regex ="^[a-zA-Z0-9]{6,15}$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher =pattern.matcher(this.userName);        
        if ( matcher.matches()) {
            this.errorName="";
            return true;
        }else{
            this.errorName="用户名必须是6-15个字母或数字组成";
            this.userName="";
        }
        
        return false;
    }

public  boolean emailChecked(){
        
        String regex ="^[A-z0-9]{1,}@[A-z]{1,}.(com|org)$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher =pattern.matcher(this.email);
        if (matcher.matches()) {
            this.errorEmail="";
            return true;
        }
        else{
            this.errorEmail="邮箱不合法";
        this.email="";
        }
        return false;
    }

//验证年龄
    public   boolean ageChecked(){    
        String regex ="^[0-9]{2}$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher =pattern.matcher(this.age);
        if (matcher.matches()) {
            this.errorAge="";
            return true;
        }
        else{
            this.errorAge="年龄必须是0-9 的一到两位数";
        this.age="";
        }
        return false;
    }

public boolean check(){
        boolean a = false ;
        boolean b = false ;
        boolean c = false ;
        a=nameChecked();
        b=emailChecked();
        c=ageChecked();
        
        if(a&&b&&c){
            return true;
        }else {
            return false;
        }
                
    }
}
______Register.jsp_____________________________________________________________________________

<%@ page language= "java" contentType="text/html;charset=UTF-8" %>
<jsp:useBean id = "register"  scope="session" class="com.lovo.javaBean.RegisterBean"/>
<html>
    <head>
        <meta charset="utf-8">
        <title>注册</title>
    </head>
    <body>
    
            <!-- 计算器表单数据填写 -->
        <form action="RegisterServlet.do" method="post" >
            <table>
                    
                <tr>
                    <td>用户名:</td>
                    <td><input type="text" name="userName" value=<%=register.getUserName()%>></td>
                    <td><%=register.getErrorName() %></td>
                    
                </tr>
                
                <tr>
                    <td>年&nbsp;龄:</td>
                    <td><input type="text" name="age" value=<%=register.getAge() %>></td>
                    <td><%=register.getErrorAge() %></td>
                </tr>
                
                <tr>
                    <td>邮&nbsp;箱:</td>
                    <td><input type="text" name="email"  value=<%=register.getEmail() %>></td>
                    <td><%=register.getErrorEmail() %></td>
                </tr>
                <br>
                <tr>
                    <td><input type="submit" value="注册"></td>
                    <td><input type="submit" value="重置"></td>
                </tr>
            </table>
        </form>
    
    </body>

</html>

__________RegisterServlet_______________________________________________________________________

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.lovo.javaBean.RegisterBean;

/**
 * Servlet implementation class RegisterServlet
 */
@WebServlet("/RegisterServlet.do")
public class RegisterServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public RegisterServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

/**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

/**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        String userName=request.getParameter("userName");
        String age=request.getParameter("age");
        String email= request.getParameter("email");
        
        RegisterBean registerBean= new RegisterBean();
        registerBean.setUserName(userName);
        registerBean.setAge(age);
        registerBean.setEmail(email);
        
        HttpSession session = request.getSession();
        session.setAttribute("register", registerBean);
        
        if (registerBean.check()) {
            request.getRequestDispatcher("RegisterSuccess.jsp").forward(request, response);
        }else {
            request.getRequestDispatcher("Register.jsp").forward(request, response);
        }
    }

}
__RegisterSuccess.jsp_____________________________________________________________________________

<%@ page language= "java" contentType="text/html;charset=UTF-8" %>
<jsp:useBean id = "register"  scope="session" class="com.lovo.javaBean.RegisterBean"/>
<html >
<head>
    <meta charset="UTF-8">
    <title>注册成功</title>
</head>
<body>
   <h3>注册成功</h3>
   <jsp:setProperty property="*" name="register" /><%--获取表单数据 --%>
        <h3>用户名:<%=register.getUserName()%></h3>
        <h3>年龄:<%=register.getAge() %></h3>
        <h3>邮箱:<%=register.getEmail()%></h3>
</body>
</html>