我有一个登录 servlet,我从中获取用户名和密码。我有一个 credentials.txt 文件,我在其中保存了一些用户名,然后在一行中相邻地保存了他们的密码。在我的 logincheck servlet 中读取用户名和密码后,我想在 credentials.txt 中搜索它。如果找到匹配项,我们将被定向到一个welcomepage servlet,如果没有找到,我们将再次被定向到登录servlet。我的代码中出现数组越界异常。
请帮助纠正我的代码。
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String user=request.getParameter("username");
String pass=request.getParameter("password");
File obj=new File("credentials.txt");
FileReader reader=new FileReader(obj);
BufferedReader in=new BufferedReader(reader);
String aks[],temp1,temp2;
int i=0;
String line=in.readLine();
while(line!=null){
aks=line.split("\t");
while(aks[i+1]!=null){
temp1=aks[i];
temp2=aks[i+1];
if(temp1.equals(user) && temp2.equals(pass)){
RequestDispatcher obj1=request.getRequestDispatcher("welcomepage");
obj1.forward(request,response);
}
line=in.readLine();
}
}
String errormsg="username and password do not match. Please re-enter";
request.setAttribute("errormsg",errormsg);
RequestDispatcher obj1=request.getRequestDispatcher("login");
obj1.forward(request,response);
}