JSP开发模式1(简单注册功能)
————————————————————————————————————————————————
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="RegisterCheck.jsp" method="post" >
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="userName" value=<%=register.getUserName()%>></td>
<td><%=register.getErrorName() %></td>
</tr>
<tr>
<td>年 龄:</td>
<td><input type="text" name="age" value=<%=register.getAge() %>></td>
<td><%=register.getErrorAge() %></td>
</tr>
<tr>
<td>邮 箱:</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>
RegisterCheck.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>
<%--进行登录检测 --%>
<jsp:setProperty property="*" name="register" />
<%
if(register.check()){
%>
<%-- --%>
<jsp:forward page="RegisterSuccess.jsp"/>
<%
}else{
%>
<jsp:forward page="Register.jsp"/>
<%} %>
</body>
</html>
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开发模式1(简单注册功能)的更多相关文章
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象
Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...
- Python Django 实现简单注册功能
Python Django 实现简单注册功能 项目创建略,可参考前期文档介绍. 目录结构如下 编辑views.py from django.shortcuts import render # Crea ...
- 十五 JSP开发模式&MVC设计模式
JSP开发模式: JavaBean + JSP : 缺点:页面代码过多,不利于维护,JSP页面代码变得臃肿 Servlet + JavaBean + JSP :MVC设计模式 M:model 模 ...
- JavaEE——JSP开发模式(model1)
model1开发模式 工作流程: ①浏览器请求,JSP页面接收 ②JSP根据请求和JavaBean进行交互 ③JavaBean进行业务处理,JDBC操纵数据库 ④JSP将请求结果返回浏览器页面 利用m ...
- Tip: JSP开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. JSP+JavaBean模式适合开发业务 ...
- JSP开发模式2_JSP/Servlet/JavaBean(简单注册功能)
import java.util.regex.Matcher;import java.util.regex.Pattern; public class RegisterBean { privat ...
- GenericFactoryMethod泛型工厂模式实现简单IOC功能
1.简介 泛型工厂理论上不算Gof23中设计模式之一,但是也算是一种非常好的设计模式,个人认为,废话不多说,先写个简单的抽象工厂,在写一个泛型工厂的例子来比较抽象和泛型的区别. 2.实战 还是房屋和道 ...
- jsp开发模式和web计算器案例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
随机推荐
- Laravel学习笔记(四)数据库 数据库迁移案例
创建迁移 首先,让我们创建一个MySql数据库“Laravel_db”.接下来打开app/config目录下的database.php文件.请确保default键值是mysql: return arr ...
- C++设计模式-Decorator装饰模式
Decorator装饰模式作用:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活. UML图如下: Component是定义一个对象接口,可以给这些对象动态地添加职责. ...
- Sprintf新解 (ZT)
Sprintf新解 2012-08-06 11:26:45 分类: 原文地址:Sprintf新解 作者:harserm 由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已 ...
- 关于 JavaScript prototype __proto__ 一点总结
http://www.cnblogs.com/wbin91/p/5265163.html 先上代码 function(y) Foo{ this.y = y;} Foo.prototype.x = 10 ...
- cache-contro页面缓存处理设置
<meta http-equiv="pragma" content="no-cache">,pragma与no-cache用于定义页面缓存,不缓存页 ...
- Window 对象详解 转自 http://blog.csdn.net/jcx5083761/article/details/41243697
详解HTML中的window对象和document对象 标签: HTMLwindowdocument 2014-11-18 11:03 5884人阅读 评论(0) 收藏 举报 分类: HTML& ...
- sql 递归子查询
select (SELECT (Case A1.AreaAbbr WHEN '' THEN A1.AreaName Else A1.AreaAbbr END)+ ' ' FROM AreaLang ...
- 格式化namenode,造成无法启动datanode
一个常见的问题:格式化namenode,造成无法启动datanode的问题. 问题描述: 无法启动datanode,查看日志,datanote尝试n次启动无效后,会出现这个语句 INFO ...
- etcdctl 命令介绍
通过不同的设置api 版本环境变量,支持的命令行不同. Interacting with etcd: https://coreos.com/etcd/docs/latest/dev-guide/in ...
- python基础学习笔记3
特殊方法与多范式 Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序 ...