基于IO版的用户登录注册实例(Java)

今天学的是用户登录注册功能。

4个包:

itcast.cn.user包 User.java 用户类,描述用户基本信息,包括成员变量,无参构造函数,带参构造(可有可无).get和set方法

package itcast.cn.day22;
/*
 * 用户基本描述包类
 */

public class User {
 private int userName;
 private int passWord;
 public User(){
  super();
 }
 public User(int userName,int passWord){
  super();
  this.userName=userName;
  this.passWord=passWord;
 }
 public int getUserName() {
  return userName;
 }
 public void setUserName(int userName) {
  this.userName = userName;
 }
 public int getPassWord() {
  return passWord;
 }
 public void setPassWord(int passWord) {
  this.passWord = passWord;
 }

}

tcast.cn.uerDao包 UserDao.java 定义一个接口,声明登录注册功能

public interface UserDao {
 2 public abstract boolean islogin( String userName, String passWord);
 3 public abstract void register(User user);
 4 }

itcast.cn.userDaoImpl包 UserDaoImpl.java 实现UserDao接口,具体描述登录注册方法。

需要注意的是:在登录方法中,返回值boolean flag = true 即登录成功

在实现过程中需要注意的一点是:全局变量br,bw的声明一定要放在try大括号外

IO版本实现方法代码如下:

public class UserDaoImpl implements UserDao{

@Override
public boolean islogin(String userName, String passWord) {
boolean flag = false;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("user,txt"));
String line = null;

while((line=br.readLine())!=null){
String[] datas = line.split("=");
if(datas[0].equals(userName)&&datas[1].equals(passWord)){
flag = true;
break;
}
}
}
catch (FileNotFoundException e) {
//e.printStackTrace();
System.out.println("用户信息获取失败");
}catch (IOException e) {
//e.printStackTrace();
System.out.println("用户登录失败");
}
if(br!=null){
try {
br.close();
} catch (IOException e) {
//e.printStackTrace();
System.out.println("用户释放资源失败");
}
}
return flag;
}

@Override
public void register(User user) {
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter("user.txt"));
bw.write(user.getUserName()+"="+user.getPassWord());
bw.newLine();
} catch (IOException e) {
//e.printStackTrace();
System.out.println("注册失败");
}finally{
if(bw!=null){
try {
bw.close();
} catch (IOException e) {
//e.printStackTrace();
System.out.println("注册释放资源失败");
}
}
}
57}
}

itcast.cn.usertest包 UserTest类 测试类

在这个类中,存在一个未解决的问题:

scanner函数无法一个一个的输入,另外构造方法中的(true)需要多看。

package itcast.cn.day22;

import java.util.Scanner;

public class UserTest {
public static void main(String[] args) {
//欢迎界面
while(true){
UserDao ud = new UserDaoImpl();
System.out.println("*****欢迎进入*****");
System.out.println("登录请输入1");
System.out.println("注册请输入2");
System.out.println("返回请输入3");

System.out.println("请输入你的选择:");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
switch(choice){
case 1:
System.out.println("*****登录界面*****************");
//Scanner sc1 = new Scanner(System.in);
System.out.println("请输入用户名:");
String userName = sc.nextLine();
System.out.println("请输入密码:");
String passWord = sc.nextLine();

boolean flag = ud.islogin(userName, passWord);
if(flag){
System.out.println("登录成功");
break;
}else{
System.out.println("用户名或密码错误");
}

case 2:
System.out.println("*****注册界面****************");
System.out.println("请输入用户名:");
String userName1 = sc.nextLine();
System.out.println("请输入密码:");
String passWord1 = sc.nextLine();

User user = new User();
user.getUserName();
user.getPassWord();
ud.register(user);
System.out.println("注册成功");
break;
case 3:
default:
System.out.println("谢谢使用,欢迎下次再来");
System.exit(0);
break;
}
}
}
}

以上这篇基于IO版的用户登录注册实例(Java)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2017-09-15

JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

java登录验证码实现代码

VerifyCodeServlet.java类: 复制代码 代码如下: package com.spring.controller;import java.awt.Color;         import java.awt.Font;         import java.awt.Graphics2D;         import java.awt.image.BufferedImage;         import java.util.Random;         import ja

java生成图片验证码实例代码

关于java图片验证码的文章最近更新了不少,帮助大家掌握java验证码的生成技术,下文为大家分享了java生成图片验证码最简单的方法,供大家参考. 现在各行业在定制系统时都会考虑到机器注册,现在最有效的方式就是输入验证.现在的验证方式有很多种: 一.问题验证,其实也是图片验证,在图片上生成问题,然后输入框输入答案. 二.图片验证,输入图片上展示的文字信息. 三.短信验证,比较繁杂,用户也不怎么喜欢. 四.还有就是百度最新的验证方式.图片上生成文字,然后出现一个文字点击框,选择你在验证图片上看到的

Java实现验证码具体代码

这里实现我使用到了struts2模拟一个登录功能来验证java实现的验证码功能. Java实现验证码的步骤: 1.创建RandomImageGenerator.java类,该类实现验证码图片的生成 2.创建一个servlet类,RandomImageServlet.java,将生成的验证码输出到页面 3.创建一个Action类,LoginAction.java,控制登录 4.配置struts.xml一个web.xml文件 5.编写页面 具体实现用代码表达 1.创建RandomImageGener

Java实现验证码具体代码(图片、汉字)

本文为大家分享两个实例,相信大家一定会喜欢. 实例1:随机生成验证码图片并将之输出为一个png文件 效果图: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Random; import javax.

java生成图片验证码示例代码

本文实例为大家分享了java图片验证码具体实现代码,供大家参考,具体内容如下 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.u

java web验证码实现代码分享

验证码的作用:通常的登录或者注册系统时,都会要求用户输入验证码,以此区别用户行为和计算机程序行为,目的是有人防止恶意注册.暴力破解密码等. 实现验证码的思路:用 server 实现随机生成数字和字母组成图片的功能,用 jsp 页面实现显示验证码和用户输入验证码的功能,再用 server 类分别获取图片和用户输入的数据,判断两个数据是否一致.  代码实现 1.编写数字.英文随机生成的 server 类,源码: package com; import java.awt.Color; import j

Python模拟登录验证码(代码简单)

废话不多说了,直接给大家贴代码了. import urllib import urllib2 import cookielib def getImg(picurl): ''' request for random_code picture and cookie ''' pic = opener.open(picurl).read() with open('./verifyImg.jpg','wb') as emptyPic: emptyPic.write(pic) def verifyImg(p

Android开发中通过手机号+短信验证码登录的实例代码

首先,需要一个电话号码,目前很多账户都是将账户名设置成手机号,然后点击按钮获取手机验证码. 其次,你需要后台给你手机短信的验证接口,各个公司用的不一样,这个身为前端,不需要你来考虑,你只要让你后台给你写好接口,你直接调用就好了. activity_login.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andr

Java中SSM+Shiro系统登录验证码的实现方法

 先给大家展示下效果图: 1.验证码生成类: import java.util.Random; import java.awt.image.BufferedImage; import java.awt.Graphics; import java.awt.Font; import java.awt.Color; /** * 验证码生成器类,可生成数字.大写.小写字母及三者混合类型的验证码. 支持自定义验证码字符数量: 支持自定义验证码图片的大小: 支持自定义需排除的特殊字符: * 支持自定义干扰线

java实用验证码的实现代码

本文为大家分享了java实用验证码的实现代码,供大家参考,具体内容如下 1.ValidCode      package validImg; import java.awt.Color; import java.io.IOException; import java.util.Random; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http