您好我正在使用文本文件来检查登录名 我有这样的代码
<%
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)
任何人都可以帮助我吗?
答案 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循环无法将用户发送到索引页面,则将他发送到错误页面。