| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5980 人关注过本帖
标题:新人求助:请问各位高手如果实现登陆网站的时候,能够读取文本文件内的所有 ...
只看楼主 加入收藏
alonso731
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-10-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
新人求助:请问各位高手如果实现登陆网站的时候,能够读取文本文件内的所有的用户名和密码并登陆
这学期开始学习了J2EE的课程,由于是上课跟着老师一同学习,遇到目前这个问题不是很能解决,希望能有高手能解决,谢谢。并且我再把要求说一下:通过注册页将注册的用户名和信息存放至一个文本文件中,我的本地是d:\\user.txt。登陆的时候可以通过读取文本文件内存放的用户名和密码,相当于一个小型数据库吧,这是通过java的类实现注册与读取的的。而我目前所遇到的问题就是输入存放在文本文件内的任何用户名和密码都读取不了,都显示报错,需要注册和返回,所以我就纳闷了。而我接下来贴出代码,希望各路高手解决。
实现登陆的java类,login.login
package login;
import *;
public class login {
String name;
String password;
boolean flag;

public boolean isFlag() {
    return flag;
}

public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}
public void readNameAndPassword() throws FileNotFoundException,IOException{
String nameandpassword,nap;
nap=name+":"+password; /*此处的name和password来自客户端*/

FileReader fr=new FileReader("d:\\user.txt");
BufferedReader br=new BufferedReader(fr);
nameandpassword=br.readLine();
while(nameandpassword != null){
    if(nameandpassword.equals(nap))
        {flag=true;
        break;}
   
    nameandpassword=br.readLine();
   
    }
/*int index;
index=nameandpassword.indexOf(":");
name=nameandpassword.substring(0, index); //从0开始到index结束
password=nameandpassword.substring(index+1); ////从index开始到最后结束*/
fr.close();
br.close();
}
}

实现注册的java类,register.java
package register;
import *;
//import
//import
public class register {
private String name;
private String password;
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}

public void writeFile() throws IOException {
FileWriter fw;
fw=new FileWriter("d:\\user.txt",true);
fw.write(name+":"+password+"\r\n");
fw.close();
}
} //"\r\n"

还有动态的登陆和注册JSP页面
先是rlogin.jsp
<body>
<% String yhm=request.getParameter("yonghu");
String mm=request.getParameter("mima");
%>
<jsp:useBean id="aa" scope="page" class="login.login"></jsp:useBean>

<%
aa.readNameAndPassword();/*先读取写入的方法*/
aa.setName(yhm);
aa.setPassword(mm);%>

<%if(aa.isFlag())
    {out.print("可登录");
session.setAttribute("Welcome", "Welcome");}
else out.print("请先<a href='../client/register.html'>注册</a>或重新<a href='../index.html'>登录</a>");%>
<a href="../index.html">返回</a>

</body>

最后是rregister.jsp
<body>
<%
request.setCharacterEncoding("utf-8");
String yhm=request.getParameter("user");
String mm=request.getParameter("passw");
out.print(yhm+":"+mm);
%>
<jsp:useBean id="aa" scope="page" class="register.register"></jsp:useBean>
<%
aa.setName(yhm);
aa.setPassword(mm);
aa.writeFile();
%>
</body>
我可以确认的是表单中的名字和动态页面上是一样的,以上代码可能有点多,感谢各路高手能够帮忙啦,谢谢!


另附下载地址:http://pan.baidu.com/s/1GG7Lh
搜索更多相关主题的帖子: 文本文件 用户名 数据库 java 密码 
2013-10-15 14:06
java小蚂蚁
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:上海
等 级:贵宾
威 望:18
帖 子:558
专家分:2186
注 册:2013-7-2
收藏
得分:10 
如你所说你的代码比较长,这样你可以试着将你的注册信息,放到.xml文件或者资源文件里面,那样的话读取肯定没有问题的,你放txt文件读取过程中遇到回车,它就不往下读了。先换下存储方式吧,然后试试

学海无涯#¥%……&*(
2013-10-15 15:22
alonso731
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-10-15
收藏
得分:0 
回复 2楼 java小蚂蚁
现在的问题是就算是在注册页面当场注册的用户名和密码,再马上登陆,都无法进行登录。。。
2013-10-15 16:12
java小蚂蚁
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:上海
等 级:贵宾
威 望:18
帖 子:558
专家分:2186
注 册:2013-7-2
收藏
得分:0 
回复 3楼 alonso731
按你说的,那就是你代码的问题了,你注册的用户名和密码,没有保存吗?还是什么,将注册的用户名和密码保存到数据库,作为用户,然后在登陆的时候用读取登陆的信息和数据库的进行比较,你看看你是哪个环节出现问题:
这里给你分析两种情况:
1,你的注册用户名和密码顺利保存了,但是登陆的时候没有和他比较验证,或者说是比较错了。
2,你的用户名和密码没有保存,哪登陆现象就正常了
你看看你的代码是哪里有问题

学海无涯#¥%……&*(
2013-10-16 17:17
java小蚂蚁
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:上海
等 级:贵宾
威 望:18
帖 子:558
专家分:2186
注 册:2013-7-2
收藏
得分:0 
看了下你的代码,发现你register 这个类没有实现持久化,你实现下先

学海无涯#¥%……&*(
2013-10-16 17:19
java小蚂蚁
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:上海
等 级:贵宾
威 望:18
帖 子:558
专家分:2186
注 册:2013-7-2
收藏
得分:0 
你代码又问题要学会调试,你可以多加些打印信息,页面可以用alter来弹窗,看看你哪些值有没有。假设你说你注册成功了,我们打印下你的用户名和密码,看在代码中这些值有没有保存下来。之后在你登陆的时候要和注册过用户名和密码比较,这里你把两边的值都打印下,如果打印结果都有值,并且值还都相同,他还不能通过。要么你的代码逻辑有问题,要么世界末日来了
……

学海无涯#¥%……&*(
2013-10-16 17:22
ly_4223
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2013-1-13
收藏
得分:10 
用个配置文件如xml文件或者ini文件,在web.xml文件中新建配置信息也可,读取验证即可,但最好还是用数据库,这样再多的用户也不怕!
2013-10-16 20:18
快速回复:新人求助:请问各位高手如果实现登陆网站的时候,能够读取文本文件内的 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017895 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved