实现Javaweb中
用户登录登录是一个十分重要的部分
今天用Java中的异常方法来模拟查重过程
分析:
现实生活中,我们在登录注册的时候,访问数据库,很多应用不允许ID或者用户名重复,在注册操作时,如果用户名或者已存在,则抛出异常并提示:亲,该用户名已经被注册!如果没有被注册, 则可以正常注册。
异常类如何定义:
-
自定义一个编译期异常: 自定义类 并继承于
java.lang.Exception
。 -
自定义一个运行时期的异常类:自定义类 并继承于
java.lang.RuntimeException
。
实现:
首先定义一个登陆异常类RegisterException:
public class RegisterException extends Exception {
// 方法构造
public RegisterException() {
}
public RegisterException(String s) {
super(s);
}
}
模拟登陆操作,使用数组模拟数据库中存储的数据,并提供当前注册账号是否存在方法用于判断。
public class Demo {
// 模拟数据库中已存在账号
private static String[] names = {"张三","李四","王五"};
public static void main(String[] args) throws RegisterException{
// 输入用户名
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的用户名:");
String username = sc.next();
checkName(username);
}
// 调用方法
public static void checkName(String username) throws RegisterException{
for(String name : usernames){
if(name.equals(username)){
try{
// 如果名字已经出现过,就抛出异常
throw new RegisterException("用户已经被注册!");
}catch(RegisterException e){
e.printStackTrace();
return;
}
}
}
// 如果没有异常就是注册成功
System.out.println("恭喜您注册成功!");
}
结果展示:
分为两次测试结果:第一次,输入已经存入的人名,第二次,输入没有存入过的人名。
发现两次实验均成功!
感谢您的阅读,不足之处欢迎指正!