新人求助:请问各位高手如果实现登陆网站的时候,能够读取文本文件内的所有的用户名和密码并登陆
这学期开始学习了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