站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题response.sendRedirect()问题

response.sendRedirect()问题

摘要: response.sendRedirect()问题


<%@ page contentType="text/html; charset=Shift_JIS" language="java" import="java.sql.*"%><%
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=webapps/info/data/base.mdb";
Connection conn=DriverManager.getConnection(url);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String id=request.getParameter("id");
String sql="select * from info";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
if(!rs.getString("id").equals(id)){
response.sendRedirect("info_02.jsp");
}else{
out.print("<script>");
out.print("alert('lee000000000000&#65377;');");
out.print("history.back();");
out.print("</script>");
}
}
if(conn!=null) {
conn.close();
}
if(stmt!=null) {
stmt.close();}%>


所有的空格回车都取了,还是报错,就是response.sendRedirect("info_02.jsp");有错,大家帮忙看看

java.lang.IllegalStateException
org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:432)
org.apache.jsp.post_jsp._jspService(post_jsp.java:53)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)



select * from info
这个语句会返回多条记录么?
lz你要判断多次么?如果不是,那个while改成if
sendRedirect语句后面加上return;
中间这一段最好加上try{}finally{}
把关闭连接的放到finally{}中



由于你那是while语句
sendRedirect之后没有return
会继续执行
到下一个值再次sendRedirect,这样就会抛IllegalStateException的错了


是读出所有的id,验证id是否存在的.while加在什么地方?我试了还是不行啊?


sendRedirect之后没有return,我昨天刚遇到这个问题,注意:要用return,而不能用break,我用了break根本不管


你可以尝试在response.sendRedirect("info_02.jsp");之后打印些东西,会发现,不断执行的


↑返回目录
前一篇: 两个表关联,A表插入数据的同时,B表也增加一条数据,外键关联,如何实现?
后一篇: checkbox选中问题