IO版的用户登录注册案例(Java)

2017-09-16

这是我在博客园的第一篇学习笔记。

Java小白,努力进阶中...

今天学的是用户登录注册功能。
4个包:
itcast.cn.user包 User.java 用户类,描述用户基本信息,包括成员变量,无参构造函数,带参构造(可有可无).get和set方法

 1  package itcast.cn.day22;
 2 /*
 3  * 用户基本描述包类
 4  */
 5
 6 public class User {
 7     private int userName;
 8     private int passWord;
 9     public User(){
10         super();
11     }
12     public User(int userName,int passWord){
13         super();
14         this.userName=userName;
15         this.passWord=passWord;
16     }
17     public int getUserName() {
18         return userName;
19     }
20     public void setUserName(int userName) {
21         this.userName = userName;
22     }
23     public int getPassWord() {
24         return passWord;
25     }
26     public void setPassWord(int passWord) {
27         this.passWord = passWord;
28     }
29
30 }

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

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

itcast.cn.userDaoImpl包 UserDaoImpl.java 实现UserDao接口,具体描述登录注册方法。
需要注意的是:在登录方法中,返回值boolean flag = true 即登录成功

在实现过程中需要注意的一点是:全局变量br,bw的声明一定要放在try大括号外
IO版本实现方法代码如下:

 1 public class UserDaoImpl implements UserDao{
 2
 3 @Override
 4 public boolean islogin(String userName, String passWord) {
 5 boolean flag = false;
 6 BufferedReader br = null;
 7 try {
 8 br = new BufferedReader(new FileReader("user,txt"));
 9 String line = null;
10
11 while((line=br.readLine())!=null){
12 String[] datas = line.split("=");
13 if(datas[0].equals(userName)&&datas[1].equals(passWord)){
14 flag = true;
15 break;
16 }
17 }
18 }
19 catch (FileNotFoundException e) {
20 //e.printStackTrace();
21 System.out.println("用户信息获取失败");
22 }catch (IOException e) {
23 //e.printStackTrace();
24 System.out.println("用户登录失败");
25 }
26 if(br!=null){
27 try {
28 br.close();
29 } catch (IOException e) {
30 //e.printStackTrace();
31 System.out.println("用户释放资源失败");
32 }
33 }
34 return flag;
35 }
36
37 @Override
38 public void register(User user) {
39 BufferedWriter bw = null;
40 try {
41 bw = new BufferedWriter(new FileWriter("user.txt"));
42 bw.write(user.getUserName()+"="+user.getPassWord());
43 bw.newLine();
44 } catch (IOException e) {
45 //e.printStackTrace();
46 System.out.println("注册失败");
47 }finally{
48 if(bw!=null){
49 try {
50 bw.close();
51 } catch (IOException e) {
52 //e.printStackTrace();
53 System.out.println("注册释放资源失败");
54 }
55 }
56 }
57}
58 }

itcast.cn.usertest包 UserTest类 测试类

在这个类中,存在一个未解决的问题:
scanner函数无法一个一个的输入,另外构造方法中的(true)需要多看。

 1 package itcast.cn.day22;
 2
 3 import java.util.Scanner;
 4
 5 public class UserTest {
 6 public static void main(String[] args) {
 7 //欢迎界面
 8 while(true){
 9 UserDao ud = new UserDaoImpl();
10 System.out.println("*****欢迎进入*****");
11 System.out.println("登录请输入1");
12 System.out.println("注册请输入2");
13 System.out.println("返回请输入3");
14
15 System.out.println("请输入你的选择:");
16 Scanner sc = new Scanner(System.in);
17 int choice = sc.nextInt();
18 switch(choice){
19 case 1:
20 System.out.println("*****登录界面*****************");
21 //Scanner sc1 = new Scanner(System.in);
22 System.out.println("请输入用户名:");
23 String userName = sc.nextLine();
24 System.out.println("请输入密码:");
25 String passWord = sc.nextLine();
26
27 boolean flag = ud.islogin(userName, passWord);
28 if(flag){
29 System.out.println("登录成功");
30 break;
31 }else{
32 System.out.println("用户名或密码错误");
33 }
34
35 case 2:
36 System.out.println("*****注册界面****************");
37 System.out.println("请输入用户名:");
38 String userName1 = sc.nextLine();
39 System.out.println("请输入密码:");
40 String passWord1 = sc.nextLine();
41
42 User user = new User();
43 user.getUserName();
44 user.getPassWord();
45 ud.register(user);
46 System.out.println("注册成功");
47 break;
48 case 3:
49 default:
50 System.out.println("谢谢使用,欢迎下次再来");
51 System.exit(0);
52 break;
53 }
54 }
55 }
56 }
时间: 2024-10-25 17:44:55

IO版的用户登录注册案例(Java)的相关文章

Java基础知识强化之集合框架笔记37:用户登录注册案例

1. 登录注册案例分析图解: 2. 用户登录案例 详细分析 和 分包实现: (1)用户登录案例详细分析(面向对象思想) 按照如下的操作,可以让我们更符合面向对象思想: • 有哪些类呢?                 用户类                 测试类       • 每个类有哪些东西呢?                 用户类: 成员变量:用户名,密码                            构造方法:无参构造                            成

用户登录注册案例分析

项目需求: 按软件分层设计思想完成xml文件存储用户信息实现用户注册登录的功能.需求分析: 1.使用JAVAEE的经典三层结构 2.三层结构分别对应的包 M JavaBean com.hitech.domain   Service com.hitech.service   Dao com.hitech.dao                V/C Web/Servlet com.hitech.web     其他包  异常处理 com.hitech.exception     工具类 com.h

java 17 -1 用户登陆注册案例(集合版)

需求: 用户登录注册案例 按照如下操作,可以让我们更符合面向对象思想: A:这个案例有哪些类 B:每个类中又有哪些东西 C:类与类之间的关系 分析: A:这个案例有哪些类 用户类 测试类 B:每个类中又有哪些东西 用户类: 成员变量:用户名.密码 构造方法:无参构造 成员方法:getXxx().setXxx() 登陆,注册 但,如果用户类的内容过多的时候,维护起来比较麻烦. 所以,为了以后维护起来比较容易,我们需要更清晰的分类: 用户类可以再分为2个类: 用户基本描述类: 成员变量:用户名.密码

Java 之 cookie 记住用户登录时间案例

需求: 1. 访问一个Servlet,如果是第一次访问,则提示:您好,欢迎您首次访问. 2. 如果不是第一次访问,则提示:欢迎回来,您上次访问时间为:显示时间字符串 分析: 1. 可以采用Cookie来完成 2. 在服务器中的Servlet判断是否有一个名为lastTime的cookie 2.1 有:不是第一次访问 1. 响应数据:欢迎回来,您上次访问时间为:2019年10月4日11:50:20 2. 写回Cookie:lastTime=2019年10月4日11:50:01 2.2 没有:是第一

javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

深入分析JavaWeb Item19 -- 基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

JavaWeb学习总结(基于Servlet+JSP+JavaBean开发模式的用户登录注册)

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

基于Servlet+JSP+JavaBean开发模式的用户登录注册

基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模