使用文本文件在java中登录

时间:2014-04-01 13:21:55

标签: java

您好我正在使用文本文件来检查登录名  我有这样的代码

    <%
       String username= request.getParameter("username");     

    BufferedReader b=new BufferedReader(new FileReader("/home/name.txt"));  
    String ln="";  
    int lnnum=0;  

    while((ln=b.readLine())!=null)  
    {  

    lnnum++; 

    if(username.equals(ln))  
    {     
          response.sendRedirect("index.jsp");

    } else

        response.sendRedirect("Error.jsp"); 

    }


    %>

但是得到这样的错误

java.lang.IllegalStateException
org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:473)
org.apache.jsp.LoginCheck_jsp._jspService(LoginCheck_jsp.java:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您不能在同一个地方使用sendRedirect方法两次,也可以使用requestDispatcher转发到应用程序中的其他资源。

例如:

while((ln=b.readLine())!=null)  
{  

    lnnum++; 

    if(username.equals(ln))  
    {     
        request.getRequestDispatcher("resourcePath/index.jsp").forward(request, response);

    }
}

request.getRequestDispatcher("resourcePath/error.jsp").forward(request, response);

如果while循环无法将用户发送到索引页面,则将他发送到错误页面。