javabean基础应用
2010-05-16 23:01
267 查看
javabean基础应用
一、实验目的
通过实验掌握下列知识:
1 掌握javabean的基本概念;
2 掌握javabean和表单的配合使用;
二、实验内容及步骤
1、表单数据回显功能的实现
改进实验三的内容,设计登录验证功能。
原实验三的内容为:在原创教务系统中,系统会根据用户类型(教师/学生)显示不同的页面。为模拟该功能,需要定义设计如下页面:
-Login.html:包括用户类型名(默认为学生类型)、用户名、用户密码
-Forward.jsp: 根据用户类型,进行任务转发。如果是教师类型,把任务转发给Teacher.jsp;如果是学生类型,把任务转发给Student.jsp
-Teacher.jsp: 如果用户名和密码都等于TEACHER,把用户名写入到Session中,同时输出“登录成功”,否则页面返回到Login.html
-Student.jsp: 输出:您输入的用户名是***。
在此基础上,设计登录验证功能,在Teacher.jsp和Student.jsp页面中增加判断:1)若Teacher.jsp中获得的密码不为teacher,或Student.jsp中获得的密码不为student,则返回Login.html;
在Teacher.jsp中加入如下代码:
String name = request.getParameter("Username");
String password = request.getParameter("Password");
if(name.equals("teacher")&&password.equals("teacher")){
out.println("登录成功");
}
if(!password.equals("teacher")){
response.sendRedirect("Login.jsp");
}
在Student.jsp中加入如下代码:
String name = request.getParameter("Username");
String password = request.getParameter("Password");
if(!password.equals("student")){
response.sendRedirect("Login.jsp");
}
2)在Login.jsp中显示该用户已经选择的用户类型和已经输入的用户名,在用户密码一栏为空,并在该栏之后用红色显示为“***密码错误,请重填!***”;
解决方案:
Login.jsp文件的源代码:
主要是用到了session来表示是第一次登录,还是登录失败之后返回的
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%!
String failStr = "***密码错误,请重填!***";
%>
<%
String passwordBySession = (String)session.getAttribute("password");
if(passwordBySession==null||passwordBySession.equals("right")){
failStr ="";
}
System.out.println(failStr);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<body>
<form name="Login" action="Forward.jsp" method="post">
<table>
<tr>
<td>用户类型</td>
<td>
<select name ="User">
<option value="Student">学生</option>
<option value="Teacher">老师</option>
</select>
</td>
</tr>
<tr>
<td>用户名</td>
<td>
<input name="Username" type="text" size="20">
</td>
</tr>
<tr>
<td>用户密码</td>
<td>
<input name="Password" type="password" size="20">
</td>
<td><font color="#FF0000"><%=failStr%></font></td>
</tr>
<tr>
<td>
<input type="submit" value="提交">
</td>
</tr>
</table>
</form>
</body>
</html>
Teacher.jsp中:
<%
String name = request.getParameter("Username");
String password = request.getParameter("Password");
if(name.equals("teacher")&&password.equals("teacher")){
session.setAttribute("password","right");
out.println("登录成功");
}
if(!password.equals("teacher")){
session.setAttribute("password","wrong");
response.sendRedirect("Login.jsp");
}
else{
session.setAttribute("password","wrong");
response.sendRedirect("Login.jsp");
}
%>
在Student.jsp中:
<%
String name = request.getParameter("Username");
String password = request.getParameter("Password");
if(!password.equals("student")){
session.setAttribute("password","wrong");
response.sendRedirect("Login.jsp");
}
session.setAttribute("password","right");
out.println("您输入的用户名是"+name);
%>
登录失败后的结果:
3)若Teacher.jsp中获得的用户名不为teacher,或Student.jsp中获得的用户名不为student,则返回Login.html,并在Login.html中显示该用户已经选择的用户类型,使用户名一栏之后用红色显示为“***用户名错误,请重填!***”,用户密码一栏为空。该功能要求用javabean实现(注意null point判断)。
源代码:
新建一个包user,再在包中建一个User的类
具体结构:
Uuser类的源代码:
package user;
publicclass User {
private String kind;
private String name;
private String password;
public User(){
kind = "Teacher";
name = "";
password = "";
}
public String getKind() {
returnkind;
}
publicvoid setKind(String kind) {
this.kind = kind;
}
public String getName() {
returnname;
}
publicvoid setName(String name) {
this.name = name;
}
public String getPassword() {
returnpassword;
}
publicvoid setPassword(String password) {
this.password = password;
}
}
Login.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="user.User" %>
<%--我开始使用JavaBean,scope类型是application,对数据的改变我是在Forward做的,这里主要是数据回显--%>
<jsp:useBean id="myUser" class="user.User" scope="application"></jsp:useBean>
<%!
String WrongNameStr = "";//定义一个表示输入数据有误的字符串
%>
<%
//当姓名还没有输入或者输入为空字符串时
if(myUser.getName()==null||myUser.getName().equals("")){
WrongNameStr = "";
}
//输入的姓名数据正确时
elseif(myUser.getName().equals("student")||myUser.getName().equals("teacher")){
WrongNameStr = "";
}
//输入的姓名数据不正确
else {
WrongNameStr = "***用户名错误,请重填!***";
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<body>
<form name="Login" action="Forward.jsp" method="post">
<table>
<tr>
<td>用户类型</td>
<td>
<select name ="UserKind">
<option value="Student">学生</option>
<option value="Teacher">老师</option>
</select>
</td>
</tr>
<tr>
<td>用户名</td>
<td>
<%--姓名数据的回显--%>
<input name="Username" type="text" size="20" value=<%=myUser.getName()%>>
</td>
<%--说明输入的数据有问题--%>
<td><font color="#FF0000"><%=WrongNameStr%></font></td>
</tr>
<tr>
<td>用户密码</td>
<td>
<input name="Password" type="password" size="20" >
</td>
</tr>
<tr>
<td>
<input type="submit" value="提交">
</td>
</tr>
</table>
</form>
</body>
</html>
Forward.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="user.User" %>
<%
//接受从Login传递过来的数据
request.setCharacterEncoding("gbk");
String kindOfUser = request.getParameter("UserKind");
String name = request.getParameter("Username");
String password = request.getParameter("Password");
//获取JavaBean中的myUser对象
User myUser = (User)application.getAttribute("myUser");
//具体赋值,我本来是想在Login中直接赋值,但找不到合适的方法,所以退而求其次写在这里了
myUser.setKind(kindOfUser);
myUser.setName(name);
myUser.setPassword(password);
//用户类型是学生
if(kindOfUser.equals("Student")){
//学生类型的用户名不是“student”,直接返回Login.jsp
if(!name.equals("student")){
response.sendRedirect("Login.jsp");
}
//登录正确
else{
out.println("学生登录成功");
}
}
//老师类型
elseif(kindOfUser.equals("Teacher")){
//老师类型的用户名不是“teacher”,直接返回Login.jsp
if(!name.equals("teacher")){
response.sendRedirect("Login.jsp");
}
//登录正确
else{
out.println("老师登录成功");
}
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Forward.jsp</title>
</head>
<body>
</body>
</html>
运行结果:
第一次进入登陆界面:
当以学生身份正确登陆时:
以不正确方法登陆时:
2、附加:尝试用JavaBean实现用户注册功能,用户信息包括用户登陆名、密码、真实姓名、性别、出生年月、籍贯、Email、联系电话、联系地址、QQ号,要求对注册的信息进行有效性判断,并显示在页面。
建包Register和类User,结构如下:
User的源代码:
package RegisterUser;
/*
String StrLoginName = request.getParameter("loginName");
String StrPassword = request.getParameter("password");
String StrpasswordConfirm = request.getParameter("passwordConfirm");
String Strusername = request.getParameter("username");
String StrSex = request.getParameter("sex");
String StrAge = request.getParameter("age");
String StrHome = request.getParameter("home");
String StrEmail = request.getParameter("Email");
String StrpHone = request.getParameter("phone");
String StrLocation = request.getParameter("location");
String StrQQNumber = request.getParameter("QQNumber");
*/
publicclass User {
private String loginName;
private String password;
private String passwordConfirm;
private String username;
private String sex;
private String age;
private String home;
private String Email;
private String phone;
private String location;
private String QQNumber;
//构造函数
public User(){
loginName = "";
password = "";
passwordConfirm = "";
username = "";
sex = "";
age = "";
home = "";
Email = "";
phone = "";
location = "";
QQNumber = "";
}
//以下函数是参数的get和set函数
public String getPhone() {
returnphone;
}
publicvoid setPhone(String phone) {
this.phone = phone;
}
public String getLoginName() {
returnloginName;
}
publicvoid setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
returnpassword;
}
publicvoid setPassword(String password) {
this.password = password;
}
public String getPasswordConfirm() {
returnpasswordConfirm;
}
publicvoid setPasswordConfirm(String passwordConfirm) {
this.passwordConfirm = passwordConfirm;
}
public String getUsername() {
returnusername;
}
publicvoid setUsername(String username) {
this.username = username;
}
public String getSex() {
returnsex;
}
publicvoid setSex(String sex) {
this.sex = sex;
}
public String getAge() {
returnage;
}
publicvoid setAge(String age) {
this.age = age;
}
public String getHome() {
returnhome;
}
publicvoid setHome(String home) {
this.home = home;
}
public String getEmail() {
returnEmail;
}
publicvoid setEmail(String email) {
Email = email;
}
public String getLocation() {
returnlocation;
}
publicvoid setLocation(String location) {
this.location = location;
}
public String getQQNumber() {
returnQQNumber;
}
publicvoid setQQNumber(String number) {
QQNumber = number;
}
//判断输入数据的正确与否
public String checkInformation(){
String tell ="";
//判断用户所填的参数是否合格
//用户名为空
if(loginName==null||loginName.equals("")){
tell = "用户名不能为空!";
}
elseif(password==null||password.equals("")||passwordConfirm==null||passwordConfirm.equals("")){
tell = "密码和确认密码不能为空";
}
elseif(!password.equals(passwordConfirm)){
tell = "前后输入的两次密码不同,请重新输入";
}
elseif(!isEmail(Email)){
tell = "邮箱格式有问题";
}
else{
tell = "恭喜注册成功";
}
return tell;
}
//判断是否是合格的Email格式
boolean isEmail(String Email){
boolean flag = true;
int locationDot = Email.indexOf(".");
int locationAt = Email.indexOf("@");
//.和 @中至少一个不存在
if(locationDot<0||locationAt<0){
flag = false;
}
//@前面没有任何字符
elseif(locationAt==0){
flag = false;
}
//.在@前面,或者@和.之间没有任何字符
elseif(locationDot-1<=locationAt){
flag = false;
}
//.后面没有字符了
elseif(locationDot==Email.length()-1){
flag = false;
}
return flag;
}
}
JavaBeanRegister.jsp的源代码:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="RegisterUser.User" %>
<jsp:useBean id="user" class="RegisterUser.User" scope="session"></jsp:useBean>
<%!
String tell = "";
%>
<%
request.setCharacterEncoding("gbk");
String StrRegisterok = request.getParameter("registerok");//得到一个隐藏参数,判读进入到这个界面是否是由按提交所得
if(StrRegisterok!=null&&StrRegisterok.equals("register")){
//调用uesr的checkInformation()函数,来判断输入数据的情况
tell = user.checkInformation();
}
%>
<html>
<head>
<title>注册</title>
</head>
<body>
<form name ="register" action="JavaBeanRegister.jsp" method="post">
<input name="registerok" type="hidden" value="register">
<table>
<tr>
<td>用户登陆名</td>
<td>
<input name="loginName" type="text" size=20 value="<%=user.getLoginName()%>" >
</td>
</tr>
<tr>
<td>密码</td>
<td>
<input name=password type="password" size=20 value="<%=user.getPassword() %>">
</td>
</tr>
<tr>
<td>确认密码</td>
<td>
<input name="passwordConfirm" type="password" size=20 value="<%=user.getPasswordConfirm() %>">
</td>
</tr>
<tr>
<td>真实姓名</td>
<td>
<input name="username" type="text" size=20 value="<%=user.getUsername() %>">
</td>
</tr>
<tr>
<td>性别</td>
<td>
<input name="sex" type="radio" value="man" checked="checked">男
<input name="sex" type="radio" value="woman">女
</td>
</tr>
<tr>
<td>出生年月</td>
<td>
<input name="age" type="text" size=20 value="<%=user.getAge() %>">
</td>
</tr>
<tr>
<td>籍贯</td>
<td>
<input name="home" type="text" size=20 value="<%=user.getHome() %>">
</td>
</tr>
<tr>
<td>Email</td>
<td>
<input name="Email" type="text" size=20 value="<%=user.getEmail() %>">
</td>
</tr>
<tr>
<td>联系电话</td>
<td>
<input name="phone" type="text" size=20 value="<%=user.getPhone() %>">
</td>
</tr>
<tr>
<td>联系地址</td>
<td>
<input name="location" type="text" size=20 value="<%=user.getLocation() %>">
</td>
</tr>
<tr>
<td>QQ</td>
<td>
<input name="QQNumber" type="text" size=20 value="<%=user.getQQNumber() %>">
</td>
</tr>
<tr>
<td>
<input name="submit" type="submit" value="提交">
</td>
</tr>
</table>
</form>
<jsp:setProperty name="user" property="*"/>
<p><font color="#FF0000"><%=tell %></font></p>
</body>
</html>
运行结果:
3. 实验收获及碰到的问题等。
遇到的问题是如果输入数据的类型为select和radio时,如何用JavaBean来实现它的功能,这个到现在我还没有好的方法
一、实验目的
通过实验掌握下列知识:
1 掌握javabean的基本概念;
2 掌握javabean和表单的配合使用;
二、实验内容及步骤
1、表单数据回显功能的实现
改进实验三的内容,设计登录验证功能。
原实验三的内容为:在原创教务系统中,系统会根据用户类型(教师/学生)显示不同的页面。为模拟该功能,需要定义设计如下页面:
-Login.html:包括用户类型名(默认为学生类型)、用户名、用户密码
-Forward.jsp: 根据用户类型,进行任务转发。如果是教师类型,把任务转发给Teacher.jsp;如果是学生类型,把任务转发给Student.jsp
-Teacher.jsp: 如果用户名和密码都等于TEACHER,把用户名写入到Session中,同时输出“登录成功”,否则页面返回到Login.html
-Student.jsp: 输出:您输入的用户名是***。
在此基础上,设计登录验证功能,在Teacher.jsp和Student.jsp页面中增加判断:1)若Teacher.jsp中获得的密码不为teacher,或Student.jsp中获得的密码不为student,则返回Login.html;
在Teacher.jsp中加入如下代码:
String name = request.getParameter("Username");
String password = request.getParameter("Password");
if(name.equals("teacher")&&password.equals("teacher")){
out.println("登录成功");
}
if(!password.equals("teacher")){
response.sendRedirect("Login.jsp");
}
在Student.jsp中加入如下代码:
String name = request.getParameter("Username");
String password = request.getParameter("Password");
if(!password.equals("student")){
response.sendRedirect("Login.jsp");
}
2)在Login.jsp中显示该用户已经选择的用户类型和已经输入的用户名,在用户密码一栏为空,并在该栏之后用红色显示为“***密码错误,请重填!***”;
解决方案:
Login.jsp文件的源代码:
主要是用到了session来表示是第一次登录,还是登录失败之后返回的
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%!
String failStr = "***密码错误,请重填!***";
%>
<%
String passwordBySession = (String)session.getAttribute("password");
if(passwordBySession==null||passwordBySession.equals("right")){
failStr ="";
}
System.out.println(failStr);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<body>
<form name="Login" action="Forward.jsp" method="post">
<table>
<tr>
<td>用户类型</td>
<td>
<select name ="User">
<option value="Student">学生</option>
<option value="Teacher">老师</option>
</select>
</td>
</tr>
<tr>
<td>用户名</td>
<td>
<input name="Username" type="text" size="20">
</td>
</tr>
<tr>
<td>用户密码</td>
<td>
<input name="Password" type="password" size="20">
</td>
<td><font color="#FF0000"><%=failStr%></font></td>
</tr>
<tr>
<td>
<input type="submit" value="提交">
</td>
</tr>
</table>
</form>
</body>
</html>
Teacher.jsp中:
<%
String name = request.getParameter("Username");
String password = request.getParameter("Password");
if(name.equals("teacher")&&password.equals("teacher")){
session.setAttribute("password","right");
out.println("登录成功");
}
if(!password.equals("teacher")){
session.setAttribute("password","wrong");
response.sendRedirect("Login.jsp");
}
else{
session.setAttribute("password","wrong");
response.sendRedirect("Login.jsp");
}
%>
在Student.jsp中:
<%
String name = request.getParameter("Username");
String password = request.getParameter("Password");
if(!password.equals("student")){
session.setAttribute("password","wrong");
response.sendRedirect("Login.jsp");
}
session.setAttribute("password","right");
out.println("您输入的用户名是"+name);
%>
登录失败后的结果:
3)若Teacher.jsp中获得的用户名不为teacher,或Student.jsp中获得的用户名不为student,则返回Login.html,并在Login.html中显示该用户已经选择的用户类型,使用户名一栏之后用红色显示为“***用户名错误,请重填!***”,用户密码一栏为空。该功能要求用javabean实现(注意null point判断)。
源代码:
新建一个包user,再在包中建一个User的类
具体结构:
Uuser类的源代码:
package user;
publicclass User {
private String kind;
private String name;
private String password;
public User(){
kind = "Teacher";
name = "";
password = "";
}
public String getKind() {
returnkind;
}
publicvoid setKind(String kind) {
this.kind = kind;
}
public String getName() {
returnname;
}
publicvoid setName(String name) {
this.name = name;
}
public String getPassword() {
returnpassword;
}
publicvoid setPassword(String password) {
this.password = password;
}
}
Login.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="user.User" %>
<%--我开始使用JavaBean,scope类型是application,对数据的改变我是在Forward做的,这里主要是数据回显--%>
<jsp:useBean id="myUser" class="user.User" scope="application"></jsp:useBean>
<%!
String WrongNameStr = "";//定义一个表示输入数据有误的字符串
%>
<%
//当姓名还没有输入或者输入为空字符串时
if(myUser.getName()==null||myUser.getName().equals("")){
WrongNameStr = "";
}
//输入的姓名数据正确时
elseif(myUser.getName().equals("student")||myUser.getName().equals("teacher")){
WrongNameStr = "";
}
//输入的姓名数据不正确
else {
WrongNameStr = "***用户名错误,请重填!***";
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<body>
<form name="Login" action="Forward.jsp" method="post">
<table>
<tr>
<td>用户类型</td>
<td>
<select name ="UserKind">
<option value="Student">学生</option>
<option value="Teacher">老师</option>
</select>
</td>
</tr>
<tr>
<td>用户名</td>
<td>
<%--姓名数据的回显--%>
<input name="Username" type="text" size="20" value=<%=myUser.getName()%>>
</td>
<%--说明输入的数据有问题--%>
<td><font color="#FF0000"><%=WrongNameStr%></font></td>
</tr>
<tr>
<td>用户密码</td>
<td>
<input name="Password" type="password" size="20" >
</td>
</tr>
<tr>
<td>
<input type="submit" value="提交">
</td>
</tr>
</table>
</form>
</body>
</html>
Forward.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="user.User" %>
<%
//接受从Login传递过来的数据
request.setCharacterEncoding("gbk");
String kindOfUser = request.getParameter("UserKind");
String name = request.getParameter("Username");
String password = request.getParameter("Password");
//获取JavaBean中的myUser对象
User myUser = (User)application.getAttribute("myUser");
//具体赋值,我本来是想在Login中直接赋值,但找不到合适的方法,所以退而求其次写在这里了
myUser.setKind(kindOfUser);
myUser.setName(name);
myUser.setPassword(password);
//用户类型是学生
if(kindOfUser.equals("Student")){
//学生类型的用户名不是“student”,直接返回Login.jsp
if(!name.equals("student")){
response.sendRedirect("Login.jsp");
}
//登录正确
else{
out.println("学生登录成功");
}
}
//老师类型
elseif(kindOfUser.equals("Teacher")){
//老师类型的用户名不是“teacher”,直接返回Login.jsp
if(!name.equals("teacher")){
response.sendRedirect("Login.jsp");
}
//登录正确
else{
out.println("老师登录成功");
}
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Forward.jsp</title>
</head>
<body>
</body>
</html>
运行结果:
第一次进入登陆界面:
当以学生身份正确登陆时:
以不正确方法登陆时:
2、附加:尝试用JavaBean实现用户注册功能,用户信息包括用户登陆名、密码、真实姓名、性别、出生年月、籍贯、Email、联系电话、联系地址、QQ号,要求对注册的信息进行有效性判断,并显示在页面。
建包Register和类User,结构如下:
User的源代码:
package RegisterUser;
/*
String StrLoginName = request.getParameter("loginName");
String StrPassword = request.getParameter("password");
String StrpasswordConfirm = request.getParameter("passwordConfirm");
String Strusername = request.getParameter("username");
String StrSex = request.getParameter("sex");
String StrAge = request.getParameter("age");
String StrHome = request.getParameter("home");
String StrEmail = request.getParameter("Email");
String StrpHone = request.getParameter("phone");
String StrLocation = request.getParameter("location");
String StrQQNumber = request.getParameter("QQNumber");
*/
publicclass User {
private String loginName;
private String password;
private String passwordConfirm;
private String username;
private String sex;
private String age;
private String home;
private String Email;
private String phone;
private String location;
private String QQNumber;
//构造函数
public User(){
loginName = "";
password = "";
passwordConfirm = "";
username = "";
sex = "";
age = "";
home = "";
Email = "";
phone = "";
location = "";
QQNumber = "";
}
//以下函数是参数的get和set函数
public String getPhone() {
returnphone;
}
publicvoid setPhone(String phone) {
this.phone = phone;
}
public String getLoginName() {
returnloginName;
}
publicvoid setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
returnpassword;
}
publicvoid setPassword(String password) {
this.password = password;
}
public String getPasswordConfirm() {
returnpasswordConfirm;
}
publicvoid setPasswordConfirm(String passwordConfirm) {
this.passwordConfirm = passwordConfirm;
}
public String getUsername() {
returnusername;
}
publicvoid setUsername(String username) {
this.username = username;
}
public String getSex() {
returnsex;
}
publicvoid setSex(String sex) {
this.sex = sex;
}
public String getAge() {
returnage;
}
publicvoid setAge(String age) {
this.age = age;
}
public String getHome() {
returnhome;
}
publicvoid setHome(String home) {
this.home = home;
}
public String getEmail() {
returnEmail;
}
publicvoid setEmail(String email) {
Email = email;
}
public String getLocation() {
returnlocation;
}
publicvoid setLocation(String location) {
this.location = location;
}
public String getQQNumber() {
returnQQNumber;
}
publicvoid setQQNumber(String number) {
QQNumber = number;
}
//判断输入数据的正确与否
public String checkInformation(){
String tell ="";
//判断用户所填的参数是否合格
//用户名为空
if(loginName==null||loginName.equals("")){
tell = "用户名不能为空!";
}
elseif(password==null||password.equals("")||passwordConfirm==null||passwordConfirm.equals("")){
tell = "密码和确认密码不能为空";
}
elseif(!password.equals(passwordConfirm)){
tell = "前后输入的两次密码不同,请重新输入";
}
elseif(!isEmail(Email)){
tell = "邮箱格式有问题";
}
else{
tell = "恭喜注册成功";
}
return tell;
}
//判断是否是合格的Email格式
boolean isEmail(String Email){
boolean flag = true;
int locationDot = Email.indexOf(".");
int locationAt = Email.indexOf("@");
//.和 @中至少一个不存在
if(locationDot<0||locationAt<0){
flag = false;
}
//@前面没有任何字符
elseif(locationAt==0){
flag = false;
}
//.在@前面,或者@和.之间没有任何字符
elseif(locationDot-1<=locationAt){
flag = false;
}
//.后面没有字符了
elseif(locationDot==Email.length()-1){
flag = false;
}
return flag;
}
}
JavaBeanRegister.jsp的源代码:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="RegisterUser.User" %>
<jsp:useBean id="user" class="RegisterUser.User" scope="session"></jsp:useBean>
<%!
String tell = "";
%>
<%
request.setCharacterEncoding("gbk");
String StrRegisterok = request.getParameter("registerok");//得到一个隐藏参数,判读进入到这个界面是否是由按提交所得
if(StrRegisterok!=null&&StrRegisterok.equals("register")){
//调用uesr的checkInformation()函数,来判断输入数据的情况
tell = user.checkInformation();
}
%>
<html>
<head>
<title>注册</title>
</head>
<body>
<form name ="register" action="JavaBeanRegister.jsp" method="post">
<input name="registerok" type="hidden" value="register">
<table>
<tr>
<td>用户登陆名</td>
<td>
<input name="loginName" type="text" size=20 value="<%=user.getLoginName()%>" >
</td>
</tr>
<tr>
<td>密码</td>
<td>
<input name=password type="password" size=20 value="<%=user.getPassword() %>">
</td>
</tr>
<tr>
<td>确认密码</td>
<td>
<input name="passwordConfirm" type="password" size=20 value="<%=user.getPasswordConfirm() %>">
</td>
</tr>
<tr>
<td>真实姓名</td>
<td>
<input name="username" type="text" size=20 value="<%=user.getUsername() %>">
</td>
</tr>
<tr>
<td>性别</td>
<td>
<input name="sex" type="radio" value="man" checked="checked">男
<input name="sex" type="radio" value="woman">女
</td>
</tr>
<tr>
<td>出生年月</td>
<td>
<input name="age" type="text" size=20 value="<%=user.getAge() %>">
</td>
</tr>
<tr>
<td>籍贯</td>
<td>
<input name="home" type="text" size=20 value="<%=user.getHome() %>">
</td>
</tr>
<tr>
<td>Email</td>
<td>
<input name="Email" type="text" size=20 value="<%=user.getEmail() %>">
</td>
</tr>
<tr>
<td>联系电话</td>
<td>
<input name="phone" type="text" size=20 value="<%=user.getPhone() %>">
</td>
</tr>
<tr>
<td>联系地址</td>
<td>
<input name="location" type="text" size=20 value="<%=user.getLocation() %>">
</td>
</tr>
<tr>
<td>QQ</td>
<td>
<input name="QQNumber" type="text" size=20 value="<%=user.getQQNumber() %>">
</td>
</tr>
<tr>
<td>
<input name="submit" type="submit" value="提交">
</td>
</tr>
</table>
</form>
<jsp:setProperty name="user" property="*"/>
<p><font color="#FF0000"><%=tell %></font></p>
</body>
</html>
运行结果:
3. 实验收获及碰到的问题等。
遇到的问题是如果输入数据的类型为select和radio时,如何用JavaBean来实现它的功能,这个到现在我还没有好的方法
相关文章推荐
- JSP基础:JavaBean基础应用
- java基础应用之ArrayList
- java基础:面向对象(this和super的区别和应用)
- 【Java基础】——应用配置文件的反射
- J2SE基础夯实系列之JavaBean
- 为什么Java这个语言没有在基础应用领域发挥优势?
- Java基础学习总结(75)——Java反射机制及应用场景
- Java基础之String、StringBuffer与StringBuilder的区别及应用场景
- java基础应用
- Java基础05(补充二)-异或的应用
- 黑马程序员——java基础 io 转换流的应用(InputStreamReader,OutputStreamWriter)
- Java (for循环基础应用)
- java基础之IO流的应用
- Java学习提要——Scanner基础应用
- Java基础-将Bean属性值放入Map中
- JAVA_SE基础——36.static的实际应用
- 【JAVA - 基础】之反射的原理与应用
- Java基础应用之循环控制(foreach循环优于for循环)
- java基础巩固训练营【第一轮】(十三) java桌面应用 补
- Java基础学习应用_数组常用方法与排序(二)