JavaBean简单介绍与使用(实例:JSP+JavaBean注册验证)
来源:互联网 发布:微表情识别软件 编辑:程序博客网 时间:2024/05/16 08:41
概念:
什么是JavaBean?
答:其实就是一个简单Java类。不过在这个简单Java类结构是这样子的:
1、所有属性为private
2、提供默认构造方法(无参构造方法)
3、提供getter和setter
4、实现serializable接口
使用JavaBean有什么好处?
答:提高代码的重用率,代码的封装,提高安全性,易于程序开发以及维护,JSP+JavaBean可以使用Html与java代码很好分离开。体现面向对象编程思想,一切都是对象。比如,一个JavaBean对应数据库中一张表格,查询数据库返回数据可以直接封装到JavaBean中(一行数据对应一个JavaBean)。
示例:
一个简单JavaBean类示范:
package com.kinglong.javabean;public class Register {private String username;private String password;private String age;private String email;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}
JavaBean在JSP中使用示范:
使用JSP标签引入JavaBean:
<jsp:useBean id="register" scope="request" class="com.kinglong.vo.Register"></jsp:useBean>
id:JavaBean实例标识
scope:作用范围(JSP四大作用范围:request,page,session,application)
class:当前JavaBean所在包.类
使用JSP给JspBean设置属性值:
<jsp:setProperty property="*" name="register"/>
property:属性名。
1、使用*号表示,自动对应JavaBean中属性进行赋值操作,其中会进行自动类型转换操作。举个例子:比如在一个页面中设置了一个表单,表单中蕴含了一个JavaBean中属性名称,需要注意的是,表单中标签名字必须与JavaBean中定义属性名称一致,才能自动对应上进行赋值。其实不难发现,这其中就是使用了Java反射机制完成操作的。这样一来,在表单所提交Jsp页面直接使用上面方式就可以完成自动对应属性赋值操作。2、直接指定属性进行赋值。<jsp:setProperty property="username" name="register" value="xxx"/>
name:当前引入JavaBeanid
使用JSP给JspBean取得属性值:
<jsp:getProperty property="username" name="register"/>
property:属性名。name:当前引入JavaBeanid删除JspBean:
直接使用removeAttribute()。其实javaBean也就是使用setAttribute()设置进去的。如,scope是request,则是使用request.setAttribute()设置的,所以删除就直接使用request.romveAttribute()就可以了。
JSP+JavaBean注册验证实例:
JavaBean:
package com.kinglong.vo;import java.util.HashMap;import java.util.Map;public class Register {private String username;private String password;private String age;private String email;private Map<String, String> errors;public Register() {this.username = "";this.password = "";this.age = "";this.email = "";this.errors = new HashMap<String, String>(); //表单填写错误信息}//校验数据有效性public boolean isValidate() {boolean flag = true;if (!this.username.matches("\\w{6,15}")) {flag = false;errors.put("errUsername", "username error");}if (!this.password.matches("\\w{8,11}")) {flag = false;errors.put("errPassword", "password error");}if (!this.age.matches("\\d+")) {flag = false;errors.put("errAge", "age error");}if (!this.email.matches("\\w+@\\w+\\.\\w+\\.?\\w*")) {flag = false;errors.put("errEmail", "email error");}return flag;}//获取错误信息public String getErrMsg(String key) {String errMsg = this.errors.get(key);return errMsg == null ? "" : errMsg;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}
注册页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><% request.setCharacterEncoding("utf-8"); %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>Register</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <jsp:useBean id="register" scope="request" class="com.kinglong.vo.Register"></jsp:useBean> <body> <form action="Check.jsp" method="post"> username:<input type="text" name="username" value=<jsp:getProperty property="username" name="register"/>><%=register.getErrMsg("errUsername") %><br><br> password:<input type="password" name="password" value=<jsp:getProperty property="password" name="register"/>><%=register.getErrMsg("errPassword") %><br><br> age:<input type="text" name="age" value=<jsp:getProperty property="age" name="register"/>><%=register.getErrMsg("errAge") %><br><br> email:<input type="text" name="email" value=<jsp:getProperty property="email" name="register"/>><%=register.getErrMsg("errEmail") %><br><br> <input type="submit" value="login"> <input type="reset" value="reset"> </form> </body></html>注册成功跳转页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><% request.setCharacterEncoding("utf-8"); %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>Register Sucess</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <jsp:useBean id="register" scope="request" class="com.kinglong.vo.Register"></jsp:useBean> <body> <h1>Register Sucess</h1><h3>username:<jsp:getProperty property="username" name="register"/><%=register.getErrMsg("errUsername") %></h3><h3>password:<jsp:getProperty property="password" name="register"/><%=register.getErrMsg("errPassword") %></h3><h3> age:<jsp:getProperty property="age" name="register"/><%=register.getErrMsg("errAge") %></h3><h3> email:<jsp:getProperty property="email" name="register"/><%=register.getErrMsg("errEmail") %></h3> </body></html>
注册失败页面:
直接跳转会注册页面,并且在页面上面提示错误信息。web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <servlet> <servlet-name>Register.jsp</servlet-name> <jsp-file>/WEB-INF/Register.jsp</jsp-file> </servlet> <servlet> <servlet-name>Check.jsp</servlet-name> <jsp-file>/WEB-INF/Check.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>Register.jsp</servlet-name> <url-pattern>/Register.jsp</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Check.jsp</servlet-name> <url-pattern>/Check.jsp</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>代码目录结构:
0 0
- JavaBean简单介绍与使用(实例:JSP+JavaBean注册验证)
- JSP+JavaBean注册验证
- JavaBean使用实例——注册验证
- JSP+JavaBean完成注册验证
- jsp—+JavaBean注册验证
- JavaBean实例操作----注册验证
- JavaBean的介绍以及入门,jsp中使用javabean,javabean技术特征及简单应用
- 基于JSP + servlet + javabean的MVC简单验证登录实例
- JavaBean的简单介绍与使用
- javabean实现注册验证
- jsp与Javabean实现登录注册
- jsp与javaBean的使用
- JSP与JavaBean的使用
- jsp与javaBean的使用
- jsp与javaBean的使用
- Jsp+Servlet+JavaBean简单mvc实例
- jsp+servlet+javaBean简单登录实例
- Jsp+Servlet+JavaBean简单mvc实例
- 蓝桥杯 K好数
- 模糊处理代码段
- JavaWeb学习—思维导图
- Java IO流
- MFC异常处理之TRACE, ASSERT, VERIFY使用方法
- JavaBean简单介绍与使用(实例:JSP+JavaBean注册验证)
- 我的大学回忆录
- JavaScript、HTML、CSS学习—思维导图
- 前端性能优化的方法和工具,减少http请求的次数和速度
- Using the sed editor in Linux - from Oracle Tech Network
- 3462: DZY Loves Math II
- 数据结构实验之数组一:矩阵转置
- leetcode---Intersection of Two Linked Lists
- eclipse c++安装