兩天來,我試着找出哪裏出了問題。我讀到這裏,我要補充一個返回到代碼,而我做到了,而且我仍然得到java.lang.IllegalStateException:在響應已提交後無法調用sendRedirect()
java.lang.IllegalStateException: Cannot call sendRedirect()
after the response has been committed, Error.
我怎樣才能解決這個問題?
每次連接到數據庫時都會發生這種情況。這是連接方法:
<%!
public void connect()
{
try {
Class.forName("com.mysql.jdbc.Driver");
String dbURL = "jdbc:mysql://localhost:3306/moti";
String user = "root";
String password = "j3o4h5n6y7";
con = DriverManager.getConnection(dbURL, user, password);
statement = con.createStatement();
}
catch(Exception ex) {
throw new Error(ex);
}
}
%>
就像這個代碼塊:
String post = request.getParameter("send");
if(post != null)
{
connect();
statement.execute(add);
con.close();
response.sendRedirect("fourm.jsp");
return;
}
但在這個代碼塊的完美工作:
String back = request.getParameter("retrun");
if(back != null)
{
response.sendRedirect("fourm.jsp");
return;
}
你可以提供獲取兩次調用'的getParameter「之前運行的代碼? –
有別的東西,你缺少它修改響應您之前重定向()。 – kosa
@Nambari後,肯定? –