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>

JSP开发模式2_JSP/Servlet/JavaBean(简单注册功能)的更多相关文章

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

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

  2. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

  3. 十五 JSP开发模式&MVC设计模式

    JSP开发模式: JavaBean + JSP  : 缺点:页面代码过多,不利于维护,JSP页面代码变得臃肿 Servlet + JavaBean + JSP :MVC设计模式 M:model   模 ...

  4. Python Django 实现简单注册功能

    Python Django 实现简单注册功能 项目创建略,可参考前期文档介绍. 目录结构如下 编辑views.py from django.shortcuts import render # Crea ...

  5. MVC开发模式之Servlet+jsp+javaBean

    Servlet+jsp+JavaBean组合开发是一种MVC开发模式,控制器Controller采用Servlet.模型Model采用JavaBean.视图View采用JSP. 1.Web开发的请求- ...

  6. Tip: JSP开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. JSP+JavaBean模式适合开发业务 ...

  7. JavaEE——JSP开发模式(model1)

    model1开发模式 工作流程: ①浏览器请求,JSP页面接收 ②JSP根据请求和JavaBean进行交互 ③JavaBean进行业务处理,JDBC操纵数据库 ④JSP将请求结果返回浏览器页面 利用m ...

  8. JSP开发模式1(简单注册功能)

    ———————————————————————————————————————————————— import java.util.regex.Matcher;import java.util.reg ...

  9. JavaBean+jsp开发模式 --结合form表单 实例

    1.创建form表单 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...

随机推荐

  1. HDNOIP201405杨辉三角

    2016.1.27 试题描述 杨辉三角是形如如下的数字三角形: 1 1    1 1   2    1 …… 现在想求出杨辉三角第N行的N个数中,有多少个数能被给定的质数p整除. 输入 一行两个空格隔 ...

  2. LeedCde 题解目录

    1. Longest Palindromic Substring ( 最长回文子串 ) 2. Median of Two Sorted Arrays (两个排序数组的中位数) 3. Sqrt(x) 4 ...

  3. php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法

    1.获取上个月第一天及最后一天.    echo date('Y-m-01', strtotime('-1 month'));    echo "<br/>";     ...

  4. css内容样式属性

    设置元素的最大高度.最小高度.最大宽度.最小宽度,用max-height.min-height.max-width.min-width. visibility:设置元素是否可见.visible和hid ...

  5. Javascript垃圾回收机制(学习笔记)

    1,javascript具有自动的垃圾回收机制,自动内存的分配和无用内存的回收都可以自动管理.垃圾回收器周期性的执行: 2,Javascript的垃圾回收策略分为:引用计数和标记清除: 2.1 标记清 ...

  6. HUSTOJ搭建实录

    要做一个MOOC平台,要求有在线编程功能,想偷个懒,于是用了HUSTOJ...... 系统:Ubuntu14.04 Kylin 步骤: 一.搭建服务器和相应环境 apache2: sudo apt-g ...

  7. pdf 切割成圖片的方法

    /// <summary>         /// 将PDF文档转换为图片的方法         /// </summary>         /// <param na ...

  8. 策略模式(strategy pattern)

    策略模式在java集合中的TreeSet和TreeMap中得到了很好的应用,我们可以实现Comparator接口实现Compareto()方法来定义自己的排序规则,然后通过TreeSet,TreeMa ...

  9. sea.js 入门

    上个月学了 require.js 现在顺便来学学 sea.js. 对比下这两种的区别,看自己喜欢哪个,就在接下来的项目中去使用它吧. seajs中的所有 JavaScript 模块都遵循 CMD 模块 ...

  10. HTML标签拾遗

    在日常的开发过程中,经常与HTML标签打交道,常用的标签往往是那么几个,在此记录下后续可能会用到的html标签,或许会有意向不到的奇效.全部内容来自w3cschool. <abbr>   ...