我有一個登錄servlet,我從哪裏獲取用戶名和密碼。我有一個憑證.txt文件,我保存了幾個用戶名,後面跟着他們的密碼在一行中相鄰。一旦我在我的logincheck servlet中讀取用戶名和密碼,我想在credentials.txt中搜索它。如果找到匹配項,我們將被引導到一個歡迎頁面servlet,如果找不到,我們將再次被引導到登錄servlet。我在我的代碼中獲得了數組越界的異常。從servlets中的文本文件讀取
Plz幫助更正我的代碼。
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);
}
數組索引越界異常是精確的。 – Akshay
爲什麼你想重新發明輪子?所有Servlet容器都支持FORM認證,並且大多數(全部)都支持簡單的基於文件的用戶和密碼列表。 –
如果這段代碼有點沒有用或者比它應該更復雜....那麼我該如何驗證保存在簡單文本文件中的用戶名和密碼? – Akshay